Mandantenverwaltung
Support-Engine ist eine mandantenfähige Anwendung. Jeder Mandant hat eine vollständig isolierte Umgebung mit eigenen Benutzern, Tickets, Einstellungen und Branding.
Konzept
Jeder Datensatz in der Datenbank enthält ein tenantId-Feld. Der Server filtert alle Abfragen automatisch nach dem tenantId des angemeldeten Benutzers — Mandanten können niemals auf Daten anderer Mandanten zugreifen.
Mandanten anlegen
Ein neuer Mandant entsteht automatisch bei der ersten Registrierung über /register. Der registrierende Benutzer wird automatisch zum admin des neuen Mandanten.
Feld |
Beschreibung |
|---|---|
Name |
Anzeigename des Mandanten |
Slug |
URL-freundlicher Bezeichner (eindeutig, z.B. |
Der Slug wird für die öffentliche Branding-API verwendet: GET /api/tenant/public/:slug
Mandanten-Konfiguration
Admins können ihren Mandanten über Einstellungen konfigurieren. Die folgenden Felder sind verfügbar:
Feld |
Typ |
Beschreibung |
|---|---|---|
|
Text |
Anzeigename |
|
Text |
URL-Bezeichner |
|
URL |
Logo (erscheint in Seitenleiste) |
|
URL |
Browser-Favicon |
|
CSS |
Eigene Stilanpassungen |
|
Farbe |
Primärfarbe (überschreibt Amber) |
Bemerkung
Ab v0.1.3 ist Amber die globale Primärfarbe ohne Mandanten-Override. Individuelle Anpassungen sind weiterhin über customCss möglich.
Mandanten-Daten
Alle folgenden Daten gehören zum Mandanten und sind vollständig isoliert:
Benutzer und Rollen
Tickets, Kommentare, Anhänge
SLA-Definitionen und Eskalationen
Wissensdatenbank-Kategorien und Artikel
CRM: Organisationen, Kunden, Kontakte
Assets und Lizenzen
Projekte und Kanban-Boards
Bereiche/Abteilungen
Exchange-Konfiguration und Postfächer
TLS-Zertifikate
Systemlogs
Datenisolierung
Die Isolation wird auf Datenbankebene erzwungen — nicht nur auf API-Ebene. Alle Storage-Methoden in server/storage.ts akzeptieren tenantId als ersten Parameter und filtern alle Queries:
// Alle Queries folgen diesem Muster
.where(eq(tickets.tenantId, tenantId))
Selbst wenn ein API-Fehler vorliegt, kann ein Mandant niemals Daten eines anderen Mandanten lesen oder schreiben.