store.go

v1.3.3
Doc Versions Source
1
package store
2
3
import "go.bigb.es/curator/internal/config"
4
5
// ModuleResolver abstracts module lookup for the server.
6
type ModuleResolver interface {
7
	ResolveModule(name string) (config.Module, bool)
8
}
9
10
// ModuleLister abstracts listing modules and patterns for the landing page.
11
type ModuleLister interface {
12
	ListModules() ([]ModuleRow, error)
13
	ListPatterns() ([]PatternRow, error)
14
}
15
16
// CredentialResolver abstracts credential lookup.
17
type CredentialResolver interface {
18
	GetCredential(name string) (CredentialRow, error)
19
}
20
21
// CredentialRow represents a named credential stored in the database.
22
type CredentialRow struct {
23
	Name      string `json:"name"`
24
	Type      string `json:"type"`
25
	Data      string `json:"data,omitempty"`
26
	CreatedAt string `json:"created_at,omitempty"`
27
}
28
29
// ModuleRow represents a module stored in the database.
30
type ModuleRow struct {
31
	Name           string `json:"name"`
32
	VCS            string `json:"vcs"`
33
	Repo           string `json:"repo"`
34
	Web            string `json:"web"`
35
	Private        bool   `json:"private"`
36
	CredentialName string `json:"credential_name,omitempty"`
37
	CreatedAt      string `json:"created_at,omitempty"`
38
}
39
40
// PatternRow represents a module pattern stored in the database.
41
type PatternRow struct {
42
	ID             int64  `json:"id"`
43
	Pattern        string `json:"pattern"`
44
	VCS            string `json:"vcs"`
45
	Repo           string `json:"repo"`
46
	Web            string `json:"web"`
47
	Private        bool   `json:"private"`
48
	Priority       int    `json:"priority"`
49
	CredentialName string `json:"credential_name,omitempty"`
50
	CreatedAt      string `json:"created_at,omitempty"`
51
}
52

Source Files