1// Code generated by sqlc. DO NOT EDIT.
2// versions:
3// sqlc v1.30.0
4// source: history.sql
5
6package db
7
8import (
9 "context"
10 "database/sql"
11)
12
13const AddOrUpdateHistory = `-- name: AddOrUpdateHistory :exec
14INSERT INTO history (url, title)
15VALUES (?, ?)
16ON CONFLICT(url)
17DO UPDATE SET
18 visit_count = visit_count + 1,
19 last_visited = CURRENT_TIMESTAMP,
20 title = EXCLUDED.title
21`
22
23func (q *Queries) AddOrUpdateHistory(ctx context.Context, url string, title sql.NullString) error {
24 _, err := q.db.ExecContext(ctx, AddOrUpdateHistory, url, title)
25 return err
26}
27
28const DeleteHistory = `-- name: DeleteHistory :exec
29DELETE FROM history
30WHERE id = ?
31`
32
33func (q *Queries) DeleteHistory(ctx context.Context, id int64) error {
34 _, err := q.db.ExecContext(ctx, DeleteHistory, id)
35 return err
36}
37
38const GetHistory = `-- name: GetHistory :many
39SELECT id, url, title, visit_count, last_visited, created_at, favicon_url
40FROM history
41ORDER BY last_visited DESC
42LIMIT ?
43`
44
45func (q *Queries) GetHistory(ctx context.Context, limit int64) ([]History, error) {
46 rows, err := q.db.QueryContext(ctx, GetHistory, limit)
47 if err != nil {
48 return nil, err
49 }
50 defer rows.Close()
51 items := []History{}
52 for rows.Next() {
53 var i History
54 if err := rows.Scan(
55 &i.ID,
56 &i.Url,
57 &i.Title,
58 &i.VisitCount,
59 &i.LastVisited,
60 &i.CreatedAt,
61 &i.FaviconUrl,
62 ); err != nil {
63 return nil, err
64 }
65 items = append(items, i)
66 }
67 if err := rows.Close(); err != nil {
68 return nil, err
69 }
70 if err := rows.Err(); err != nil {
71 return nil, err
72 }
73 return items, nil
74}
75
76const GetHistoryEntry = `-- name: GetHistoryEntry :one
77SELECT id, url, title, visit_count, last_visited, created_at, favicon_url
78FROM history
79WHERE url = ?
80LIMIT 1
81`
82
83func (q *Queries) GetHistoryEntry(ctx context.Context, url string) (History, error) {
84 row := q.db.QueryRowContext(ctx, GetHistoryEntry, url)
85 var i History
86 err := row.Scan(
87 &i.ID,
88 &i.Url,
89 &i.Title,
90 &i.VisitCount,
91 &i.LastVisited,
92 &i.CreatedAt,
93 &i.FaviconUrl,
94 )
95 return i, err
96}
97
98const GetHistoryWithOffset = `-- name: GetHistoryWithOffset :many
99SELECT id, url, title, visit_count, last_visited, created_at, favicon_url
100FROM history
101ORDER BY last_visited DESC
102LIMIT ? OFFSET ?
103`
104
105func (q *Queries) GetHistoryWithOffset(ctx context.Context, limit int64, offset int64) ([]History, error) {
106 rows, err := q.db.QueryContext(ctx, GetHistoryWithOffset, limit, offset)
107 if err != nil {
108 return nil, err
109 }
110 defer rows.Close()
111 items := []History{}
112 for rows.Next() {
113 var i History
114 if err := rows.Scan(
115 &i.ID,
116 &i.Url,
117 &i.Title,
118 &i.VisitCount,
119 &i.LastVisited,
120 &i.CreatedAt,
121 &i.FaviconUrl,
122 ); err != nil {
123 return nil, err
124 }
125 items = append(items, i)
126 }
127 if err := rows.Close(); err != nil {
128 return nil, err
129 }
130 if err := rows.Err(); err != nil {
131 return nil, err
132 }
133 return items, nil
134}
135
136const GetShortcuts = `-- name: GetShortcuts :many
137SELECT id, shortcut, url_template, description, created_at
138FROM shortcuts
139ORDER BY shortcut
140`
141
142func (q *Queries) GetShortcuts(ctx context.Context) ([]Shortcut, error) {
143 rows, err := q.db.QueryContext(ctx, GetShortcuts)
144 if err != nil {
145 return nil, err
146 }
147 defer rows.Close()
148 items := []Shortcut{}
149 for rows.Next() {
150 var i Shortcut
151 if err := rows.Scan(
152 &i.ID,
153 &i.Shortcut,
154 &i.UrlTemplate,
155 &i.Description,
156 &i.CreatedAt,
157 ); err != nil {
158 return nil, err
159 }
160 items = append(items, i)
161 }
162 if err := rows.Close(); err != nil {
163 return nil, err
164 }
165 if err := rows.Err(); err != nil {
166 return nil, err
167 }
168 return items, nil
169}
170
171const SearchHistory = `-- name: SearchHistory :many
172SELECT id, url, title, visit_count, last_visited, created_at, favicon_url
173FROM history
174WHERE url LIKE '%' || ? || '%' OR title LIKE '%' || ? || '%'
175ORDER BY visit_count DESC, last_visited DESC
176LIMIT ?
177`
178
179func (q *Queries) SearchHistory(ctx context.Context, column1 sql.NullString, column2 sql.NullString, limit int64) ([]History, error) {
180 rows, err := q.db.QueryContext(ctx, SearchHistory, column1, column2, limit)
181 if err != nil {
182 return nil, err
183 }
184 defer rows.Close()
185 items := []History{}
186 for rows.Next() {
187 var i History
188 if err := rows.Scan(
189 &i.ID,
190 &i.Url,
191 &i.Title,
192 &i.VisitCount,
193 &i.LastVisited,
194 &i.CreatedAt,
195 &i.FaviconUrl,
196 ); err != nil {
197 return nil, err
198 }
199 items = append(items, i)
200 }
201 if err := rows.Close(); err != nil {
202 return nil, err
203 }
204 if err := rows.Err(); err != nil {
205 return nil, err
206 }
207 return items, nil
208}
209
210const UpdateHistoryFavicon = `-- name: UpdateHistoryFavicon :exec
211UPDATE history
212SET favicon_url = ?
213WHERE url = ?
214`
215
216func (q *Queries) UpdateHistoryFavicon(ctx context.Context, faviconUrl sql.NullString, url string) error {
217 _, err := q.db.ExecContext(ctx, UpdateHistoryFavicon, faviconUrl, url)
218 return err
219}