Team-Einladungen
Mitglieder per E-Mail einladen, ausstehende Anfragen verwalten und beitreten.
Ein Teameigentümer wählt E-Mail-Adresse und Rolle MEMBER oder OWNER. team.inviteMember normalisiert die Adresse, speichert oder erneuert eine eindeutige Team/E-Mail-Einladung mit sieben Tagen Gültigkeit und versendet die Vorlage teamInvitation. Vorhandene Benutzer erhalten zusätzlich eine In-App-Benachrichtigung.
Der Link öffnet /team/invitation?code=<id>. Der Eingeladene meldet sich an oder registriert sich, bestätigt die passende E-Mail, prüft die Einladung und nimmt sie über eine ausdrückliche Aktion an. Das bloße Öffnen oder Vorabladen des Links erstellt niemals eine Mitgliedschaft. team.acceptInvitation prüft Ablauf und E-Mail-Zugehörigkeit, verbraucht die Einladung und erstellt die Mitgliedschaft in einer Datenbanktransaktion. Eine vorhandene Mitgliedschaft behält ihre Rolle.
Abgelaufene, fehlende oder bereits verbrauchte Einladungen lassen sich nicht akzeptieren. Der Eigentümer kann offene Einladungen widerrufen oder erneut senden: Ein erneuter Versand rotiert das Annahme-Token, sodass der vorherige Link ungültig wird. Bei fehlgeschlagener Mailzustellung kann der gespeicherte Eintrag erhalten bleiben; nutzen Sie den vorhandenen erneuten Versand, statt von einer fehlenden Einladung auszugehen.