# Team / Co-Streamer

# Team / Co-Streamer

Chatlix ist von Anfang an für Teams gebaut, nicht nur für Solo-Streamer. Ein **Workspace** ist der zentrale Container — er enthält genau einen Twitch-Channel und beliebig viele Mitglieder mit unterschiedlichen Rollen. Diese Seite zeigt, wie du Mitglieder einlädst, welche Rollen es gibt, und wie das Audit-Log mit Teamarbeit zusammenspielt.

## Workspace-Modell

- **1 Workspace = 1 Channel.** Wenn du zwei Twitch-Channels betreust, hast du zwei Workspaces.
- Mitglieder können in mehreren Workspaces gleichzeitig drin sein und switchen im Dashboard oben links zwischen ihnen.
- Routen-Präfix: `/v1/teams/...` für Team-Operationen, `/dashboard/team` für die UI.

## Rollen

Chatlix kommt mit vier fest-definierten Rollen plus Custom:

- **Owner** — Vollzugriff. Kann Workspace löschen, Plan ändern, Billing einsehen, Mitglieder einladen/entfernen, alle Aktionen durchführen.
- **Manager** — Voller operativer Zugriff (Alerts, Overlays, Sound-Packs, Automation, Mod-Aktionen, Audit-Log einsehen). **Kein** Billing-Zugriff, **kein** Workspace-Löschen.
- **Editor** — Kann Inhalte erstellen/bearbeiten (Alert-Templates, Overlays, Personas, Mini-Games), darf Mod-Aktionen nur im Rahmen seiner Owner-definierten Limits. Sieht nur sein eigenes Audit-Log.
- **Viewer** — Lesezugriff auf Dashboard. Praktisch für Co-Streamer, die wissen wollen, was läuft, aber keine Änderungen machen sollen.
- **Custom** — Owner definiert pro Bereich (Alerts/Overlays/Mod-Aktionen/Audit-Log/Billing-Read/Sound-Packs/...) ob und mit welchen Limits das Mitglied Zugriff hat.

## Mitglied einladen

1. `/dashboard/team` öffnen.
2. Button `« Mitglied einladen »` klicken.
3. E-Mail-Adresse eingeben und Rolle wählen.
4. Optional: Custom-Rolle-Permissions konfigurieren.
5. `« Einladung senden »` — der Eingeladene bekommt eine Mail mit Aktivierungs-Link.
6. Der Link führt zur **TeamAccept**-Komponente. Dort sieht der Eingeladene:
   - Welcher Workspace ihn einlädt
   - Welche Rolle vorgeschlagen ist
   - Welche Berechtigungen damit verbunden sind
   - Wer der Einladende ist (Name + Avatar)
7. Mit `« Einladung annehmen »` ist die Mitgliedschaft aktiv. Der User landet im Dashboard mit dem neuen Workspace ausgewählt.

Die Einladung läuft nach 7 Tagen ab. Der Owner kann sie unter "Offene Einladungen" zurückziehen oder erneut versenden.

## Co-Streamer-Setup

Klassischer Co-Stream-Fall: Du und ein Partner streamt regelmäßig zusammen.

- **Variante A — getrennte Channels, getrennte Workspaces:** Jeder hat seinen eigenen Workspace, ihr ladet euch gegenseitig als `Manager` ein. So kann jeder im Channel des anderen Alerts ändern, aber Billing bleibt strikt getrennt.
- **Variante B — einer hostet, anderer hilft:** Ein Workspace, einer ist `Owner`, der andere `Manager` oder `Editor`. Einfacher in der Verwaltung, der Owner trägt Billing.
- **Variante C — Mod-Crew:** Ein Workspace mit dem Streamer als Owner und Mod-Team als `Editor` oder Custom-Rolle. Mods sehen Audit-Log nur über ihre eigenen Aktionen, was viele Streamer entspannter finden.

## Mitglied entfernen

Unter `/dashboard/team` Mitglied auswählen → `« Entfernen »`. Der Zugriff endet sofort. Bestehende Audit-Log-Einträge bleiben — gelogged ist gelogged. Bei Custom-Rollen mit Twitch-Mod-Aktionen entzieht Chatlix dem Ex-Mitglied **nicht** automatisch den Twitch-Mod-Status (das ist eine Twitch-seitige Aktion). Empfehlung: parallel `/unmod` auf Twitch.

## Audit-Log pro Mitglied

Unter `/v1/audit/?actor_id=<user_id>` filtert man das Log auf die Aktionen eines einzelnen Mitglieds. Manager und Owner können das, Editor nur den eigenen Account, Viewer gar nicht.

## Stolperfallen

- **Plan-Limits:** Manche Pläne begrenzen die Anzahl Team-Mitglieder. Wenn die Einladung mit `WORKSPACE_LIMIT_REACHED` abgelehnt wird, ist der Plan ausgelastet.
- **E-Mail nicht angekommen:** Spam-Ordner prüfen, alternativ unter "Offene Einladungen" einen Direkt-Link für den Eingeladenen erzeugen.
- **Workspace-Wechsel verwirrend:** Im Dashboard oben links steht immer der aktive Workspace-Name. Bei Konfusion lieber zweimal hingucken.
