diff --git a/lib/services/collection_service.dart b/lib/services/collection_service.dart index 523c4cb..4e3d261 100644 --- a/lib/services/collection_service.dart +++ b/lib/services/collection_service.dart @@ -374,24 +374,22 @@ class CollectionService { throw Exception('Collection owner cannot be removed.'); } - final targetMembership = await supabase - .from('collection_members') - .select('id, role') - .eq('collection_id', collectionId) - .eq('user_id', memberUserId) - .maybeSingle(); + final members = await getMembers(collectionId); + final targetMembership = members.where((member) => member.userId == memberUserId); - if (targetMembership == null) { + if (targetMembership.isEmpty) { throw Exception('Member not found in this collection.'); } - if (targetMembership['role'] == 'owner') { + final target = targetMembership.first; + if (target.role == 'owner') { throw Exception('Collection owner cannot be removed.'); } final deleted = await supabase .from('collection_members') .delete() - .eq('id', targetMembership['id'] as String) + .eq('collection_id', collectionId) + .eq('user_id', memberUserId) .select('id'); if (deleted.isEmpty) {