deleteTeam method
Deletes team.
Implementation
@override
Future<AuthOrganizationTeam> deleteTeam(
String teamId, {
bool allowLastTeam = false,
}) => _atomic(() {
final team = _teams[teamId.trim()];
_require(team != null, 'team_not_found');
if (!allowLastTeam) {
final count = _teams.values
.where((value) => value.organizationId == team!.organizationId)
.length;
_require(count > 1, 'last_team');
}
_teams.remove(team!.id);
_teamMembers.removeWhere((_, member) => member.teamId == team.id);
_invitations.updateAll((id, invite) {
if (invite.teamId != team.id) return invite;
return AuthOrganizationInvitation(
id: invite.id,
organizationId: invite.organizationId,
email: invite.email,
roles: invite.roles,
inviterId: invite.inviterId,
status: invite.status,
expiresAt: invite.expiresAt,
createdAt: invite.createdAt,
attributes: invite.attributes,
);
});
return team;
});