From 9e779891fa91f44a9734b79ccb4f6aef48a0de3f Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Thu, 18 Sep 2025 21:00:28 +0100 Subject: Add filters on html page --- pkg/database/sqlc/entries.sql.go | 46 ++++++++++++++++++++++++++++++++++++++++ pkg/database/sqlc/kinds.sql.go | 37 ++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 pkg/database/sqlc/kinds.sql.go (limited to 'pkg/database/sqlc') diff --git a/pkg/database/sqlc/entries.sql.go b/pkg/database/sqlc/entries.sql.go index 846076d..eadc25c 100644 --- a/pkg/database/sqlc/entries.sql.go +++ b/pkg/database/sqlc/entries.sql.go @@ -101,6 +101,52 @@ func (q *Queries) GetEntries(ctx context.Context) ([]GetEntriesRow, error) { return items, nil } +const getEntriesByKind = `-- name: GetEntriesByKind :many +SELECT title, url, description, timestamp, kinds.name as kind_name, kinds.emoji as kind_emoji FROM entries +JOIN kinds ON entries.kind == kinds.id +WHERE kinds.name = ? +ORDER BY timestamp DESC +` + +type GetEntriesByKindRow struct { + Title string `json:"title"` + Url string `json:"url"` + Description string `json:"description"` + Timestamp string `json:"timestamp"` + KindName string `json:"kind_name"` + KindEmoji string `json:"kind_emoji"` +} + +func (q *Queries) GetEntriesByKind(ctx context.Context, name string) ([]GetEntriesByKindRow, error) { + rows, err := q.db.QueryContext(ctx, getEntriesByKind, name) + if err != nil { + return nil, err + } + defer rows.Close() + var items []GetEntriesByKindRow + for rows.Next() { + var i GetEntriesByKindRow + if err := rows.Scan( + &i.Title, + &i.Url, + &i.Description, + &i.Timestamp, + &i.KindName, + &i.KindEmoji, + ); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Close(); err != nil { + return nil, err + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil +} + const getEntryByUrl = `-- name: GetEntryByUrl :one SELECT entries.id, title, url, description, timestamp, kinds.name as kind_name, kinds.emoji as kind_emoji FROM entries JOIN kinds ON entries.kind == kinds.id diff --git a/pkg/database/sqlc/kinds.sql.go b/pkg/database/sqlc/kinds.sql.go new file mode 100644 index 0000000..a9efd90 --- /dev/null +++ b/pkg/database/sqlc/kinds.sql.go @@ -0,0 +1,37 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.29.0 +// source: kinds.sql + +package sqlc + +import ( + "context" +) + +const getKinds = `-- name: GetKinds :many +SELECT id, name, emoji FROM kinds +` + +func (q *Queries) GetKinds(ctx context.Context) ([]Kind, error) { + rows, err := q.db.QueryContext(ctx, getKinds) + if err != nil { + return nil, err + } + defer rows.Close() + var items []Kind + for rows.Next() { + var i Kind + if err := rows.Scan(&i.ID, &i.Name, &i.Emoji); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Close(); err != nil { + return nil, err + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil +} -- cgit v1.2.3-70-g09d2