// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: history.sql package db import ( "context" "database/sql" ) const AddOrUpdateHistory = `-- name: AddOrUpdateHistory :exec INSERT INTO history (url, title) VALUES (?, ?) ON CONFLICT(url) DO UPDATE SET visit_count = visit_count + 1, last_visited = CURRENT_TIMESTAMP, title = EXCLUDED.title ` func (q *Queries) AddOrUpdateHistory(ctx context.Context, url string, title sql.NullString) error { _, err := q.db.ExecContext(ctx, AddOrUpdateHistory, url, title) return err } const GetHistory = `-- name: GetHistory :many SELECT id, url, title, visit_count, last_visited, created_at FROM history ORDER BY last_visited DESC LIMIT ? ` func (q *Queries) GetHistory(ctx context.Context, limit int64) ([]History, error) { rows, err := q.db.QueryContext(ctx, GetHistory, limit) if err != nil { return nil, err } defer rows.Close() items := []History{} for rows.Next() { var i History if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.VisitCount, &i.LastVisited, &i.CreatedAt, ); 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 GetShortcuts = `-- name: GetShortcuts :many SELECT id, shortcut, url_template, description, created_at FROM shortcuts ORDER BY shortcut ` func (q *Queries) GetShortcuts(ctx context.Context) ([]Shortcut, error) { rows, err := q.db.QueryContext(ctx, GetShortcuts) if err != nil { return nil, err } defer rows.Close() items := []Shortcut{} for rows.Next() { var i Shortcut if err := rows.Scan( &i.ID, &i.Shortcut, &i.UrlTemplate, &i.Description, &i.CreatedAt, ); 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 SearchHistory = `-- name: SearchHistory :many SELECT id, url, title, visit_count, last_visited, created_at FROM history WHERE url LIKE '%' || ? || '%' OR title LIKE '%' || ? || '%' ORDER BY visit_count DESC, last_visited DESC LIMIT ? ` func (q *Queries) SearchHistory(ctx context.Context, column1 sql.NullString, column2 sql.NullString, limit int64) ([]History, error) { rows, err := q.db.QueryContext(ctx, SearchHistory, column1, column2, limit) if err != nil { return nil, err } defer rows.Close() items := []History{} for rows.Next() { var i History if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.VisitCount, &i.LastVisited, &i.CreatedAt, ); 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 }