import '../../models/group_model.dart'; import '../../models/group_member_model.dart'; import '../interfaces/group_service.dart'; import 'api_client.dart'; /// Real API implementation. class GroupApiService implements GroupService { final ApiClient _client; GroupApiService(this._client); @override Future> getGroups() async { final List data = await _client.get('/admin/groups'); return data .map((json) => GroupModel.fromJson(json as Map)) .toList(); } @override Future createGroup(String name) async { final data = await _client.post('/groups/', {'name': name}); return GroupModel.fromJson(data as Map); } @override Future inviteMember(String groupId, String username) async { await _client.post('/groups/$groupId/invite', { 'username': username, }); } @override Future removeMember(String groupId, String userId) async { await _client.delete('/groups/$groupId/members/$userId'); } @override Future> getGroupMembers(String groupId) async { final List data = await _client.get('/groups/$groupId/members'); return data .map((json) => GroupMemberModel.fromJson(json as Map)) .toList(); } }