Eric Bower
·
2025-12-17
db.go
1package pgsdb
2
3import "github.com/picosh/pico/pkg/db"
4
5type PgsDB interface {
6 FindUser(userID string) (*db.User, error)
7 FindUserByName(name string) (*db.User, error)
8 FindUserByPubkey(pubkey string) (*db.User, error)
9 FindUsers() ([]*db.User, error)
10
11 FindFeature(userID string, name string) (*db.FeatureFlag, error)
12 InsertAccessLog(*db.AccessLog) error
13
14 InsertProject(userID, name, projectDir string) (string, error)
15 UpdateProject(userID, name string) error
16 UpdateProjectAcl(userID, name string, acl db.ProjectAcl) error
17 UpsertProject(userID, projectName, projectDir string) (*db.Project, error)
18 RemoveProject(projectID string) error
19 LinkToProject(userID, projectID, projectDir string, commit bool) error
20 FindProjectByName(userID, name string) (*db.Project, error)
21 FindProjectLinks(userID, name string) ([]*db.Project, error)
22 FindProjectsByUser(userID string) ([]*db.Project, error)
23 FindProjectsByPrefix(userID, name string) ([]*db.Project, error)
24 FindProjects(by string) ([]*db.Project, error)
25
26 RegisterAdmin(username, pubkey, pubkeyName string) error
27
28 Close() error
29}