FirstDevJob Docs
API Reference

Bookmarks API

Convex functions for bookmarking jobs

Bookmarks API

Functions for saving and managing bookmarked jobs.

Queries

getUserBookmarks

Get all bookmarks for the current user.

const bookmarks = useQuery(api.bookmarks.getUserBookmarks);

Authentication: Required

Returns: Array of tracked applications with populated job data and availability metadata.

getBookmarkStatus

Check if a job is bookmarked by the current user.

const status = useQuery(api.bookmarks.getBookmarkStatus, { jobId });

Authentication: Required

Parameters:

  • jobId - ID of the job to check

Returns: Object with bookmarked boolean.

Mutations

toggleBookmark

Add or remove a bookmark.

const toggleBookmark = useMutation(api.bookmarks.toggleBookmark);

await toggleBookmark({ jobId });

Authentication: Required

Parameters:

  • jobId - ID of the job to bookmark/unbookmark

Returns: Object with bookmarked boolean.

removeTrackedApplication

Remove a tracked application from the dashboard.

const removeTrackedApplication = useMutation(
  api.bookmarks.removeTrackedApplication
);

await removeTrackedApplication({ bookmarkId });

Authentication: Required Parameters:

  • bookmarkId - Tracked application ID

Usage Example

function BookmarkButton({ jobId }) {
  const bookmarkStatus = useQuery(api.bookmarks.getBookmarkStatus, { jobId });
  const toggleBookmark = useMutation(api.bookmarks.toggleBookmark);

  return (
    <button onClick={() => toggleBookmark({ jobId })}>
      {bookmarkStatus?.bookmarked ? "Bookmarked" : "Bookmark"}
    </button>
  );
}

On this page