package bookmark import ( "context" "tercul/internal/domain" ) // BookmarkQueries contains the query handlers for the bookmark aggregate. type BookmarkQueries struct { repo domain.BookmarkRepository } // NewBookmarkQueries creates a new BookmarkQueries handler. func NewBookmarkQueries(repo domain.BookmarkRepository) *BookmarkQueries { return &BookmarkQueries{repo: repo} } // Bookmark returns a bookmark by ID. func (q *BookmarkQueries) Bookmark(ctx context.Context, id uint) (*domain.Bookmark, error) { return q.repo.GetByID(ctx, id) } // BookmarksByUserID returns all bookmarks for a user. func (q *BookmarkQueries) BookmarksByUserID(ctx context.Context, userID uint) ([]domain.Bookmark, error) { return q.repo.ListByUserID(ctx, userID) } // BookmarksByWorkID returns all bookmarks for a work. func (q *BookmarkQueries) BookmarksByWorkID(ctx context.Context, workID uint) ([]domain.Bookmark, error) { return q.repo.ListByWorkID(ctx, workID) }