Implementation
Future<List<OrgMemberModel>> getTeamMembers(String teamId) async {
final tmRows = await _client
.from('team_members')
.select('user_id')
.eq('team_id', teamId);
final userIds = (tmRows as List<dynamic>)
.map((row) => (row as Map<String, dynamic>)['user_id'] as String)
.toList();
if (userIds.isEmpty) return [];
// Get member details from org_members + profiles
final response = await _client
.from('org_members')
.select('*, profiles(display_name, email, username)')
.inFilter('user_id', userIds);
return (response as List<dynamic>)
.map((row) => OrgMemberModel.fromJson(row as Map<String, dynamic>))
.toList();
}