# 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

