Antonio Mika
·
2026-10-11
1package pgsdb
2
3import (
4 "strings"
5
6 "github.com/picosh/pico/pkg/db"
7)
8
9type PgsDB interface {
10 db.AuthDB
11 FindUsers() ([]*db.User, error)
12
13 InsertProject(userID, name, projectDir string) (string, error)
14 UpdateProject(userID, name string) error
15 UpdateProjectAcl(userID, name string, acl db.ProjectAcl) error
16 UpsertProject(userID, projectName, projectDir string) (*db.Project, error)
17 RemoveProject(projectID string) error
18 LinkToProject(userID, projectID, projectDir string, commit bool) error
19 FindProjectByName(userID, name string) (*db.Project, error)
20 FindProjectLinks(userID, name string) ([]*db.Project, error)
21 FindProjectsByUser(userID string) ([]*db.Project, error)
22 FindProjectsByPrefix(userID, name string) ([]*db.Project, error)
23 FindProjects(by string) ([]*db.Project, error)
24
25 InsertFormEntry(userID, name string, data map[string]interface{}) error
26 FindFormEntriesByUserAndName(userID, name string) ([]*db.FormEntry, error)
27 FindFormNamesByUser(userID string) ([]string, error)
28 RemoveFormEntriesByUserAndName(userID, name string) error
29
30 RegisterAdmin(username, pubkey, pubkeyName string) error
31
32 Close() error
33}
34
35func IsProjectPrivate(projectName string) bool {
36 return strings.HasPrefix(projectName, "private-")
37}