Teams & Mandantenfähigkeit
Mandantenfähige Organisationsstruktur, Mitgliederrollen und Datenisolation.
Teams verwenden Team, TeamMembership und TeamInvitation im Prisma-Schema. Team enthält ID, Namen, optionalen Slug und Avatarpfad; TeamMembership verknüpft Benutzer mit Teams über die Rollen OWNER oder MEMBER.
Eigentümer verwalten Teameinstellungen, Einladungen, Mitglieder und Abrechnung. Mitglieder können Teamressourcen nutzen und ihre eigene Mitgliedschaft verlassen; die Ersteller-Mitgliedschaft ist vor Entfernung geschützt. Die Benutzerrolle admin ist von Mitgliedschaftsrollen getrennt; die vorhandenen Ability-Helfer gewähren Admins ebenfalls Eigentümer-/Mitgliederzugriff.
Teamfunktion erweitern
Nutzen Sie protectedProcedure und validierte Eingaben. Prüfen Sie ctx.abilities.isTeamMember(teamId) für Mitgliederressourcen oder ctx.abilities.isTeamOwner(teamId) für Verwaltungsaktionen vor dem Lesen oder Schreiben. Importieren Sie db aus database; ctx.db gibt es nicht.
Jede Abfrage einer mandantenbezogenen Ressource muss die autorisierte Team-ID enthalten. Bei Operationen über eine Ressourcen-ID prüfen Sie deren Teamzugehörigkeit und den Aufrufer vor Änderungen. Folgen Sie den vorhandenen Teamprozeduren in packages/api/modules/team/procedures und testen Sie fremde Team-IDs als verbotene Fälle.
Siehe Team-Einladungen.