2.3 KiB
2.3 KiB
Appwrite Schema – Kundenportal (woms-database)
Nur diese Datenbank – keine separate Portal-Datenbank (appwrite.webklar.com / Legacy-IDs wie 6943bf0e0003291f8c35 werden nicht verwendet).
Endpoint: https://ticket.webklar.com/v1
Project ID: 6a1058610003c5a13a05
Database ID: woms-database (fest im Code)
Alle Collections liegen in woms-database. Read/Create/Update/Delete nur für API-Key-Rolle (Server) und Admin-Team. Kein Any-Read auf Kundendaten.
customers (erweitern)
Bestehende Felder beibehalten. Zusätzlich:
| Attribut | Typ | Required | Index |
|---|---|---|---|
| companyName | string (255) | nein | |
| portalAccessEnabled | boolean | nein | |
| appwriteUserId | string (64) | nein | unique |
| customerStatus | string (50) | nein | |
| notes | string (5000) | nein | |
| createdAt | datetime | nein | |
| updatedAt | datetime | nein |
customerPortalAccess (neu)
Collection ID: customerPortalAccess
| Attribut | Typ | Required | Index |
|---|---|---|---|
| customerId | string (64) | ja | |
| enabled | boolean | ja | |
| passwordSet | boolean | nein | |
| appwriteUserId | string (64) | nein | |
| lastLoginAt | datetime | nein |
Index: customerId, appwriteUserId
websiteProjects (neu)
Collection ID: websiteProjects
| Attribut | Typ | Required | Index |
|---|---|---|---|
| customerId | string (64) | ja | ja |
| ticketId | string (64) | nein | |
| projectName | string (255) | ja | |
| templateName | string (255) | nein | |
| giteaRepoUrl | string (512) | nein | |
| giteaRepoName | string (255) | nein | |
| repoFullName | string (255) | nein | unique |
| subdomain | string (128) | nein | unique |
| previewUrl | string (512) | nein | |
| liveDomain | string (255) | nein | |
| status | string (50) | nein | |
| provisioningStatus | string (50) | nein | |
| createdAt | datetime | nein | |
| updatedAt | datetime | nein |
portalFeatures (neu)
Collection ID: portalFeatures
| Attribut | Typ | Required | Index |
|---|---|---|---|
| customerId | string (64) | ja | ja |
| projectId | string (64) | nein | |
| featureKey | string (128) | ja | |
| enabled | boolean | ja | |
| unlockedByPurchase | boolean | nein | |
| purchaseStatus | string (50) | nein |
Index: customerId, projectId