getSharedWithMe method

Future<List<DomainModel>> getSharedWithMe()

Implementation

Future<List<DomainModel>> getSharedWithMe() async {
  final userId = _client.auth.currentUser?.id;
  if (userId == null) return [];
  final sharesResponse = await _client
      .from('curriculum_shares')
      .select('domain_id')
      .eq('shared_with_user_id', userId);
  final domainIds = (sharesResponse as List<dynamic>)
      .map((row) => (row as Map<String, dynamic>)['domain_id'] as String)
      .toList();
  if (domainIds.isEmpty) return [];
  final response = await _client
      .from('domains')
      .select()
      .inFilter('id', domainIds)
      .order('sort_order', ascending: true);
  return (response as List<dynamic>)
      .map((row) => DomainModel.fromJson(row as Map<String, dynamic>))
      .toList();
}