# Employees Collection Setup Diese Anleitung zeigt, wie du die **employees** Collection in Appwrite erstellst. ## Schritt 1: Collection erstellen 1. Öffne **https://appwrite.webklar.com** 2. Gehe zu deinem Projekt **woms** (ID: `693d9f37000b35267f1b`) 3. Klicke auf **Databases** → **woms-database** (ID: `6943bf0e0003291f8c35`) 4. Klicke auf **Create Collection** 5. Name: `employees` 6. Collection ID: Lass Appwrite eine ID generieren (z.B. `694xxxxxxxxxxxxx`) 7. **WICHTIG**: Notiere dir die generierte Collection ID! ## Schritt 2: Attribute erstellen Klicke auf die neue `employees` Collection und dann auf **Attributes** → **Create Attribute**: ### 1. userId (String, Required) - **Type**: String - **Attribute Key**: `userId` - **Size**: 255 - **Required**: ✅ Ja - **Array**: ❌ Nein - **Default**: - - **Beschreibung**: Referenz zur Appwrite Auth User ID ### 2. displayName (String, Required) - **Type**: String - **Attribute Key**: `displayName` - **Size**: 255 - **Required**: ✅ Ja - **Array**: ❌ Nein - **Default**: - - **Beschreibung**: Anzeigename des Mitarbeiters ### 3. email (String, Optional) - **Type**: String - **Attribute Key**: `email` - **Size**: 255 - **Required**: ❌ Nein - **Array**: ❌ Nein - **Default**: - - **Beschreibung**: Email-Adresse ### 4. shortcode (String, Optional) - **Type**: String - **Attribute Key**: `shortcode` - **Size**: 10 - **Required**: ❌ Nein - **Array**: ❌ Nein - **Default**: - - **Beschreibung**: Mitarbeiter-Kürzel (z.B. "KNSO") ## Schritt 3: Index erstellen 1. Gehe zum Tab **Indexes** 2. Klicke auf **Create Index** 3. **Index Key**: `userId_unique` 4. **Type**: Unique 5. **Attributes**: Wähle `userId` 6. Klicke auf **Create** ## Schritt 4: Permissions setzen 1. Gehe zum Tab **Settings** 2. Scrolle zu **Permissions** 3. Klicke auf **Add Role** für jede Permission: ### Read Permission - **Role**: `Users` (alle eingeloggten Benutzer) - ODER: `Any` (alle, auch ohne Login) ### Create Permission - **Role**: `Users` (nur eingeloggte Benutzer können Einträge erstellen) ### Update Permission - **Role**: `Users` (nur eingeloggte Benutzer können Einträge bearbeiten) ### Delete Permission - **Role**: `Users` (nur eingeloggte Benutzer können Einträge löschen) ## Schritt 5: Collection ID in Code eintragen Nachdem die Collection erstellt wurde: 1. Kopiere die generierte Collection ID (z.B. `694bd1fb002b2e583d14`) 2. Öffne die Datei `src/lib/appwrite.js` 3. Ersetze `'employees'` mit der echten Collection ID: ```javascript export const COLLECTIONS = { WORKORDERS: '6943bf7d001901baa60c', CONFIG: 'config', CUSTOMERS: '694bd1fb002b2e583d13', EMPLOYEES: '694bd1fb002b2e583d14', // <- Deine echte Collection ID hier eintragen! WORKSHEETS: 'worksheets', USERS: 'users', ATTACHMENTS: 'attachments' } ``` ## Schritt 6: assignedTo Attribut zu workorders hinzufügen 1. Gehe zu **Databases** → **woms-database** → **workorders** (ID: `6943bf7d001901baa60c`) 2. Klicke auf **Attributes** → **Create Attribute** 3. Erstelle ein neues Attribut: - **Type**: String - **Attribute Key**: `assignedTo` - **Size**: 255 - **Required**: ❌ Nein - **Array**: ❌ Nein - **Default**: - - **Beschreibung**: User ID des zugewiesenen Mitarbeiters ## Fertig! Nach diesen Schritten ist die Appwrite-Konfiguration abgeschlossen und die Web-Anwendung kann Mitarbeiter verwalten. ## Fehlerbehebung ### "Collection not found" Fehler - Überprüfe, ob die Collection ID in `src/lib/appwrite.js` korrekt ist - Stelle sicher, dass die Collection in der richtigen Database liegt ### "Unauthorized" Fehler - Überprüfe die Permissions (Read sollte mindestens "Users" sein) - Stelle sicher, dass du eingeloggt bist ### "Duplicate userId" Fehler - Der userId-Index ist unique - Ein Mitarbeiter mit dieser User ID existiert bereits - Prüfe, ob der Eintrag schon vorhanden ist