isBookmarked method

Future<bool> isBookmarked({
  1. required BookmarkKind kind,
  2. required String targetId,
})

Whether the current user has bookmarked the given target.

Implementation

Future<bool> isBookmarked({
  required BookmarkKind kind,
  required String targetId,
}) async {
  final column = switch (kind) {
    BookmarkKind.topic => 'topic_id',
    BookmarkKind.chunk => 'chunk_id',
    BookmarkKind.session => 'session_id',
  };
  final response = await _client
      .from('user_bookmarks')
      .select('id')
      .eq('kind', BookmarkModel.kindToString(kind))
      .eq(column, targetId)
      .limit(1)
      .maybeSingle();
  return response != null;
}