// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.29.0 // source: entries.sql package sqlc import ( "context" ) const createEntryWithKindName = `-- name: CreateEntryWithKindName :one INSERT INTO entries (title, kind, url, description) SELECT ?, kinds.id, ?, ? FROM kinds WHERE kinds.name = ? RETURNING id, title, kind, url, description, timestamp ` type CreateEntryWithKindNameParams struct { Title string `json:"title"` Url string `json:"url"` Description string `json:"description"` Name string `json:"name"` } func (q *Queries) CreateEntryWithKindName(ctx context.Context, arg CreateEntryWithKindNameParams) (Entry, error) { row := q.db.QueryRowContext(ctx, createEntryWithKindName, arg.Title, arg.Url, arg.Description, arg.Name, ) var i Entry err := row.Scan( &i.ID, &i.Title, &i.Kind, &i.Url, &i.Description, &i.Timestamp, ) return i, err } const deleteEntry = `-- name: DeleteEntry :execrows DELETE FROM entries WHERE id = ? ` func (q *Queries) DeleteEntry(ctx context.Context, id int64) (int64, error) { result, err := q.db.ExecContext(ctx, deleteEntry, id) if err != nil { return 0, err } return result.RowsAffected() } const getEntries = `-- name: GetEntries :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 ORDER BY timestamp DESC ` type GetEntriesRow 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) GetEntries(ctx context.Context) ([]GetEntriesRow, error) { rows, err := q.db.QueryContext(ctx, getEntries) if err != nil { return nil, err } defer rows.Close() var items []GetEntriesRow for rows.Next() { var i GetEntriesRow 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 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 WHERE url = ? LIMIT 1 ` type GetEntryByUrlRow struct { ID int64 `json:"id"` 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) GetEntryByUrl(ctx context.Context, url string) (GetEntryByUrlRow, error) { row := q.db.QueryRowContext(ctx, getEntryByUrl, url) var i GetEntryByUrlRow err := row.Scan( &i.ID, &i.Title, &i.Url, &i.Description, &i.Timestamp, &i.KindName, &i.KindEmoji, ) return i, err } const getEntryURLs = `-- name: GetEntryURLs :many SELECT url FROM entries ORDER BY timestamp DESC ` func (q *Queries) GetEntryURLs(ctx context.Context) ([]string, error) { rows, err := q.db.QueryContext(ctx, getEntryURLs) if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var url string if err := rows.Scan(&url); err != nil { return nil, err } items = append(items, url) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateEntryKind = `-- name: UpdateEntryKind :one UPDATE entries SET kind = (SELECT id FROM kinds WHERE kinds.name = ?) WHERE entries.id = ? RETURNING id, title, kind, url, description, timestamp ` type UpdateEntryKindParams struct { Name string `json:"name"` ID int64 `json:"id"` } func (q *Queries) UpdateEntryKind(ctx context.Context, arg UpdateEntryKindParams) (Entry, error) { row := q.db.QueryRowContext(ctx, updateEntryKind, arg.Name, arg.ID) var i Entry err := row.Scan( &i.ID, &i.Title, &i.Kind, &i.Url, &i.Description, &i.Timestamp, ) return i, err }