deleteOrganization method

  1. @override
Future<AuthOrganization> deleteOrganization(
  1. String organizationId
)
override

Implementation

@override
Future<AuthOrganization> deleteOrganization(String organizationId) => _atomic(
  () {
    final id = organizationId.trim();
    final removed = _organizations.remove(id);
    _require(removed != null, 'organization_not_found');
    final teamIds = _teams.values
        .where((team) => team.organizationId == id)
        .map((team) => team.id)
        .toSet();
    _members.removeWhere((_, member) => member.organizationId == id);
    _invitations.removeWhere((_, invite) => invite.organizationId == id);
    _roles.removeWhere((_, role) => role.organizationId == id);
    _teams.removeWhere((_, team) => team.organizationId == id);
    _teamMembers.removeWhere((_, member) => teamIds.contains(member.teamId));
    return removed!;
  },
);