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();
}