From a042ee8bf3caa77727482c619c4c25df217bcb46 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Mon, 6 Apr 2026 19:24:27 +0200 Subject: [PATCH] feat: add GetAnime query --- internal/database/querier.go | 1 + internal/database/queries.sql | 3 +++ internal/database/queries.sql.go | 16 ++++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/internal/database/querier.go b/internal/database/querier.go index 866194e..e5dd7c6 100644 --- a/internal/database/querier.go +++ b/internal/database/querier.go @@ -14,6 +14,7 @@ type Querier interface { DeleteSession(ctx context.Context, id string) error DeleteUserSessions(ctx context.Context, userID string) error DeleteWatchListEntry(ctx context.Context, arg DeleteWatchListEntryParams) error + GetAnime(ctx context.Context, id int64) (Anime, error) GetSession(ctx context.Context, id string) (Session, error) GetUser(ctx context.Context, id string) (User, error) GetUserByUsername(ctx context.Context, username string) (User, error) diff --git a/internal/database/queries.sql b/internal/database/queries.sql index c5a7150..630dee1 100644 --- a/internal/database/queries.sql +++ b/internal/database/queries.sql @@ -31,6 +31,9 @@ ON CONFLICT (id) DO UPDATE SET image_url = excluded.image_url RETURNING *; +-- name: GetAnime :one +SELECT * FROM anime WHERE id = ? LIMIT 1; + -- name: UpsertWatchListEntry :one INSERT INTO watch_list_entry (id, user_id, anime_id, status, updated_at) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP) diff --git a/internal/database/queries.sql.go b/internal/database/queries.sql.go index a423844..fd20721 100644 --- a/internal/database/queries.sql.go +++ b/internal/database/queries.sql.go @@ -91,6 +91,22 @@ func (q *Queries) DeleteWatchListEntry(ctx context.Context, arg DeleteWatchListE return err } +const getAnime = `-- name: GetAnime :one +SELECT id, title, image_url, created_at FROM anime WHERE id = ? LIMIT 1 +` + +func (q *Queries) GetAnime(ctx context.Context, id int64) (Anime, error) { + row := q.db.QueryRowContext(ctx, getAnime, id) + var i Anime + err := row.Scan( + &i.ID, + &i.Title, + &i.ImageUrl, + &i.CreatedAt, + ) + return i, err +} + const getSession = `-- name: GetSession :one SELECT id, user_id, expires_at, created_at FROM session WHERE id = ? LIMIT 1 `