Add team list and joining
This commit is contained in:
@@ -6,6 +6,8 @@ class TeamProvider extends ChangeNotifier {
|
||||
final TeamService _teamService = TeamService();
|
||||
|
||||
List<Team> _teams = [];
|
||||
Future<List<Team>>? _initialLoadFuture;
|
||||
|
||||
List<Team> get teams => _teams;
|
||||
|
||||
Future<List<Team>> fetchAllTeams() async {
|
||||
@@ -14,6 +16,16 @@ class TeamProvider extends ChangeNotifier {
|
||||
return _teams;
|
||||
}
|
||||
|
||||
Future<List<Team>> ensureTeamsLoaded() {
|
||||
_initialLoadFuture ??= fetchAllTeams();
|
||||
return _initialLoadFuture!;
|
||||
}
|
||||
|
||||
Future<List<Team>> refreshTeams() {
|
||||
_initialLoadFuture = fetchAllTeams();
|
||||
return _initialLoadFuture!;
|
||||
}
|
||||
|
||||
Future<Team> createTeam({
|
||||
required String name,
|
||||
required String tag,
|
||||
@@ -36,7 +48,7 @@ class TeamProvider extends ChangeNotifier {
|
||||
String? description,
|
||||
}) async {
|
||||
await _teamService.updateTeam(id, name: name, tag: tag, description: description);
|
||||
await fetchAllTeams();
|
||||
await refreshTeams();
|
||||
}
|
||||
|
||||
Future<void> deleteTeam(int id) async {
|
||||
@@ -58,5 +70,23 @@ class TeamProvider extends ChangeNotifier {
|
||||
await _teamService.removeTeamFromTournament(tournamentId, teamId);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<List<Team>> getUserTeams() {
|
||||
return _teamService.getUserTeams();
|
||||
}
|
||||
|
||||
Future<void> joinTeam(int teamId) async {
|
||||
await _teamService.joinTeam(teamId);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> leaveTeam(int teamId) async {
|
||||
await _teamService.leaveTeam(teamId);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<List<Map<String, dynamic>>> getTeamMembers(int teamId) {
|
||||
return _teamService.getTeamMembers(teamId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user