135 lines
3.8 KiB
Markdown
135 lines
3.8 KiB
Markdown
# 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
|
|
|