// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: favorites.sql package sqlc import ( "context" "database/sql" ) const CreateFavorite = `-- name: CreateFavorite :one INSERT INTO favorites (url, title, favicon_url, position, created_at, updated_at) VALUES (?, ?, ?, COALESCE((SELECT MAX(position) + 1 FROM favorites), 0), CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, url, title, favicon_url, shortcut_key, position, created_at, updated_at ` type CreateFavoriteParams struct { Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` } type CreateFavoriteRow struct { ID int64 `json:"id"` Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` Position int64 `json:"position"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } func (q *Queries) CreateFavorite(ctx context.Context, arg CreateFavoriteParams) (CreateFavoriteRow, error) { row := q.db.QueryRowContext(ctx, CreateFavorite, arg.Url, arg.Title, arg.FaviconUrl) var i CreateFavoriteRow err := row.Scan( &i.ID, &i.Url, &i.Title, &i.FaviconUrl, &i.ShortcutKey, &i.Position, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const DeleteFavorite = `-- name: DeleteFavorite :exec DELETE FROM favorites WHERE id = ? ` func (q *Queries) DeleteFavorite(ctx context.Context, id int64) error { _, err := q.db.ExecContext(ctx, DeleteFavorite, id) return err } const GetAllFavorites = `-- name: GetAllFavorites :many SELECT id, url, title, favicon_url, shortcut_key, position, created_at, updated_at FROM favorites ORDER BY position ASC ` type GetAllFavoritesRow struct { ID int64 `json:"id"` Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` Position int64 `json:"position"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } func (q *Queries) GetAllFavorites(ctx context.Context) ([]GetAllFavoritesRow, error) { rows, err := q.db.QueryContext(ctx, GetAllFavorites) if err != nil { return nil, err } defer rows.Close() items := []GetAllFavoritesRow{} for rows.Next() { var i GetAllFavoritesRow if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.FaviconUrl, &i.ShortcutKey, &i.Position, &i.CreatedAt, &i.UpdatedAt, ); 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 GetFavoriteByID = `-- name: GetFavoriteByID :one SELECT id, url, title, favicon_url, shortcut_key, position, created_at, updated_at FROM favorites WHERE id = ? LIMIT 1 ` type GetFavoriteByIDRow struct { ID int64 `json:"id"` Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` Position int64 `json:"position"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } func (q *Queries) GetFavoriteByID(ctx context.Context, id int64) (GetFavoriteByIDRow, error) { row := q.db.QueryRowContext(ctx, GetFavoriteByID, id) var i GetFavoriteByIDRow err := row.Scan( &i.ID, &i.Url, &i.Title, &i.FaviconUrl, &i.ShortcutKey, &i.Position, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const GetFavoriteByShortcut = `-- name: GetFavoriteByShortcut :one SELECT id, url, title, favicon_url, shortcut_key, position, created_at, updated_at FROM favorites WHERE shortcut_key = ? LIMIT 1 ` type GetFavoriteByShortcutRow struct { ID int64 `json:"id"` Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` Position int64 `json:"position"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } func (q *Queries) GetFavoriteByShortcut(ctx context.Context, shortcutKey sql.NullInt64) (GetFavoriteByShortcutRow, error) { row := q.db.QueryRowContext(ctx, GetFavoriteByShortcut, shortcutKey) var i GetFavoriteByShortcutRow err := row.Scan( &i.ID, &i.Url, &i.Title, &i.FaviconUrl, &i.ShortcutKey, &i.Position, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const GetFavoriteByURL = `-- name: GetFavoriteByURL :one SELECT id, url, title, favicon_url, shortcut_key, position, created_at, updated_at FROM favorites WHERE url = ? LIMIT 1 ` type GetFavoriteByURLRow struct { ID int64 `json:"id"` Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` Position int64 `json:"position"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } func (q *Queries) GetFavoriteByURL(ctx context.Context, url string) (GetFavoriteByURLRow, error) { row := q.db.QueryRowContext(ctx, GetFavoriteByURL, url) var i GetFavoriteByURLRow err := row.Scan( &i.ID, &i.Url, &i.Title, &i.FaviconUrl, &i.ShortcutKey, &i.Position, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const GetFavoritesByTag = `-- name: GetFavoritesByTag :many SELECT f.id, f.url, f.title, f.favicon_url, f.shortcut_key, f.position, f.created_at, f.updated_at FROM favorites f INNER JOIN favorite_tag_assignments fta ON f.id = fta.favorite_id WHERE fta.tag_id = ? ORDER BY f.position ASC ` type GetFavoritesByTagRow struct { ID int64 `json:"id"` Url string `json:"url"` Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` Position int64 `json:"position"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } func (q *Queries) GetFavoritesByTag(ctx context.Context, tagID int64) ([]GetFavoritesByTagRow, error) { rows, err := q.db.QueryContext(ctx, GetFavoritesByTag, tagID) if err != nil { return nil, err } defer rows.Close() items := []GetFavoritesByTagRow{} for rows.Next() { var i GetFavoritesByTagRow if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.FaviconUrl, &i.ShortcutKey, &i.Position, &i.CreatedAt, &i.UpdatedAt, ); 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 SetFavoriteShortcut = `-- name: SetFavoriteShortcut :exec UPDATE favorites SET shortcut_key = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ? ` type SetFavoriteShortcutParams struct { ShortcutKey sql.NullInt64 `json:"shortcut_key"` ID int64 `json:"id"` } func (q *Queries) SetFavoriteShortcut(ctx context.Context, arg SetFavoriteShortcutParams) error { _, err := q.db.ExecContext(ctx, SetFavoriteShortcut, arg.ShortcutKey, arg.ID) return err } const UpdateFavorite = `-- name: UpdateFavorite :exec UPDATE favorites SET title = ?, favicon_url = ?, shortcut_key = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ? ` type UpdateFavoriteParams struct { Title sql.NullString `json:"title"` FaviconUrl sql.NullString `json:"favicon_url"` ShortcutKey sql.NullInt64 `json:"shortcut_key"` ID int64 `json:"id"` } func (q *Queries) UpdateFavorite(ctx context.Context, arg UpdateFavoriteParams) error { _, err := q.db.ExecContext(ctx, UpdateFavorite, arg.Title, arg.FaviconUrl, arg.ShortcutKey, arg.ID, ) return err } const UpdateFavoritePosition = `-- name: UpdateFavoritePosition :exec UPDATE favorites SET position = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ? ` type UpdateFavoritePositionParams struct { Position int64 `json:"position"` ID int64 `json:"id"` } func (q *Queries) UpdateFavoritePosition(ctx context.Context, arg UpdateFavoritePositionParams) error { _, err := q.db.ExecContext(ctx, UpdateFavoritePosition, arg.Position, arg.ID) return err }