50 lines
925 B
Go
50 lines
925 B
Go
|
package store
|
||
|
|
||
|
type Store interface {
|
||
|
Nodes() NodeStore
|
||
|
Users() UserStore
|
||
|
Repos() RepoStore
|
||
|
Keys() KeyStore
|
||
|
Builds() BuildStore
|
||
|
Jobs() JobStore
|
||
|
Logs() LogStore
|
||
|
}
|
||
|
|
||
|
type store struct {
|
||
|
nodes NodeStore
|
||
|
users UserStore
|
||
|
repos RepoStore
|
||
|
keys KeyStore
|
||
|
builds BuildStore
|
||
|
jobs JobStore
|
||
|
logs LogStore
|
||
|
}
|
||
|
|
||
|
func (s *store) Nodes() NodeStore { return s.nodes }
|
||
|
func (s *store) Users() UserStore { return s.users }
|
||
|
func (s *store) Repos() RepoStore { return s.repos }
|
||
|
func (s *store) Keys() KeyStore { return s.keys }
|
||
|
func (s *store) Builds() BuildStore { return s.builds }
|
||
|
func (s *store) Jobs() JobStore { return s.jobs }
|
||
|
func (s *store) Logs() LogStore { return s.logs }
|
||
|
|
||
|
func New(
|
||
|
nodes NodeStore,
|
||
|
users UserStore,
|
||
|
repos RepoStore,
|
||
|
keys KeyStore,
|
||
|
builds BuildStore,
|
||
|
jobs JobStore,
|
||
|
logs LogStore,
|
||
|
) Store {
|
||
|
return &store{
|
||
|
nodes,
|
||
|
users,
|
||
|
repos,
|
||
|
keys,
|
||
|
builds,
|
||
|
jobs,
|
||
|
logs,
|
||
|
}
|
||
|
}
|