wip: Make cross-module visibility explicit via Visibles structs
All access is/will be through interfaces accessed through these structs. This introduces several distinct storage units: + DB for server state + DB for codeql databases + query pack store The steps for manually creating needed databases are in the README
This commit is contained in:
committed by
=Michael Hohn
parent
25cab583c1
commit
7e0d6909da
@@ -1,7 +1,6 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"mrvacommander/pkg/agent"
|
||||
"mrvacommander/pkg/common"
|
||||
"mrvacommander/pkg/logger"
|
||||
"mrvacommander/pkg/queue"
|
||||
@@ -26,19 +25,30 @@ type SessionInfo struct {
|
||||
}
|
||||
|
||||
type CommanderSingle struct {
|
||||
st *State
|
||||
st *CommanderVisibles
|
||||
// TODO remove:
|
||||
queue queue.Queue
|
||||
}
|
||||
|
||||
func NewCommanderSingle(s *State, q queue.Queue) *CommanderSingle {
|
||||
func NewCommanderSingle(s *CommanderVisibles, q queue.Queue) *CommanderSingle {
|
||||
c := CommanderSingle{s, q}
|
||||
return &c
|
||||
}
|
||||
|
||||
type State struct {
|
||||
Commander Commander
|
||||
Logger logger.Logger
|
||||
Queue queue.Queue
|
||||
Storage storage.Storage
|
||||
Runner agent.Runner
|
||||
// type State struct {
|
||||
// Commander Commander
|
||||
// Logger logger.Logger
|
||||
// Queue queue.Queue
|
||||
// Storage storage.Storage
|
||||
// Runner agent.Runner
|
||||
// }
|
||||
|
||||
type CommanderVisibles struct {
|
||||
Logger logger.Logger
|
||||
Queue queue.Queue
|
||||
ServerStore storage.Storage
|
||||
// TODO extra package for query pack storage
|
||||
QueryPackStore storage.Storage
|
||||
// TODO extra package for ql db storage
|
||||
QLDBStore storage.Storage
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user