import 'package:flutter/cupertino.dart'; import 'backend/teamService.dart'; import 'backend/userService.dart'; class TeamUserSyncService with ChangeNotifier { static final TeamUserSyncService _instance = TeamUserSyncService._internal(); factory TeamUserSyncService() => _instance; TeamUserSyncService._internal(); final UserService _userService = UserService(); final TeamService _teamService = TeamService(); Future handleUserKicked(String email) async { final teamId = await _userService.getUserTeamByEmail(email); if (teamId == null) return false; final userTeamReset = await _userService.userResetTeamByEmail(email); final teamUpdated = await _teamService.removeUserFromTeam(email, teamId); notifyListeners(); return userTeamReset && teamUpdated; } Future handleTeamRemoved(int teamId) async { final team = await _teamService.getTeamById(teamId); if (team == null || team.userEmails.isEmpty) return false; for (String email in team.userEmails) { final userTeamReset = await _userService.userResetTeamByEmail(email); if (!userTeamReset) return false; } final teamRemoved = await _teamService.removeTeam(teamId); notifyListeners(); return teamRemoved; } Future handleUserJoined(int teamId) async { final userUpdated = await _userService.addTeamToUser(teamId); final teamUpdated = await _teamService.addUserToTeam(teamId); notifyListeners(); return userUpdated && teamUpdated; } }