v0.15.0 9006957

interfaces.go RawHistoryFolder

1package db
2
3import (
4	"context"
5	"database/sql"
6)
7
8//go:generate mockgen -source=interfaces.go -destination=mocks/mock_db.go
9
10// ZoomQuerier defines the interface for zoom-related database operations
11type ZoomQuerier interface {
12	GetZoomLevel(ctx context.Context, domain string) (float64, error)
13	SetZoomLevel(ctx context.Context, domain string, zoomLevel float64) error
14	DeleteZoomLevel(ctx context.Context, domain string) error
15	ListZoomLevels(ctx context.Context) ([]ZoomLevel, error)
16}
17
18// HistoryQuerier defines the interface for history-related database operations
19type HistoryQuerier interface {
20	GetHistory(ctx context.Context, limit int64) ([]History, error)
21	GetHistoryEntry(ctx context.Context, url string) (History, error)
22	GetHistoryWithOffset(ctx context.Context, limit int64, offset int64) ([]History, error)
23	GetMostVisited(ctx context.Context, limit int64) ([]History, error)
24	SearchHistory(ctx context.Context, column1 sql.NullString, column2 sql.NullString, limit int64) ([]History, error)
25	AddOrUpdateHistory(ctx context.Context, url string, title sql.NullString) error
26	UpdateHistoryFavicon(ctx context.Context, faviconUrl sql.NullString, url string) error
27	DeleteHistory(ctx context.Context, id int64) error
28	DeleteAllHistory(ctx context.Context) error
29}
30
31// CertificateQuerier defines the interface for certificate validation-related database operations
32type CertificateQuerier interface {
33	ListCertificateValidations(ctx context.Context) ([]CertificateValidation, error)
34	GetCertificateValidation(ctx context.Context, hostname string, certificateHash string) (CertificateValidation, error)
35	GetCertificateValidationByHostname(ctx context.Context, hostname string) (CertificateValidation, error)
36	StoreCertificateValidation(ctx context.Context, hostname string, certificateHash string, userDecision string, expiresAt sql.NullTime) error
37	DeleteCertificateValidation(ctx context.Context, hostname string, certificateHash string) error
38	DeleteExpiredCertificateValidations(ctx context.Context) error
39}
40
41// FavoritesQuerier defines the interface for favorites-related database operations
42type FavoritesQuerier interface {
43	GetAllFavorites(ctx context.Context) ([]Favorite, error)
44	GetFavoriteByURL(ctx context.Context, url string) (Favorite, error)
45	CreateFavorite(ctx context.Context, url string, title sql.NullString, faviconUrl sql.NullString) error
46	UpdateFavorite(ctx context.Context, title sql.NullString, faviconUrl sql.NullString, url string) error
47	DeleteFavorite(ctx context.Context, url string) error
48	IsFavorite(ctx context.Context, url string) (int64, error)
49	UpdateFavoritePosition(ctx context.Context, position int64, url string) error
50	GetFavoriteCount(ctx context.Context) (int64, error)
51}
52
53// DatabaseQuerier combines all database operation interfaces
54type DatabaseQuerier interface {
55	ZoomQuerier
56	HistoryQuerier
57	CertificateQuerier
58	FavoritesQuerier
59}
60
61// Ensure that *Queries implements DatabaseQuerier interface
62var _ DatabaseQuerier = (*Queries)(nil)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close