Add database integrations for status and updates modules

This commit is contained in:
Daniel
2019-02-07 20:20:21 +01:00
parent 321f3feec5
commit 12e1eb0917
10 changed files with 182 additions and 26 deletions

View File

@@ -26,15 +26,18 @@ func (sh *statusHook) UsesPrePut() bool {
// PrePut implements the Hook interface.
func (sh *statusHook) PrePut(r record.Record) (record.Record, error) {
// record is already locked!
newStatus, err := EnsureSystemStatus(r)
if err != nil {
return nil, err
}
newStatus.Lock()
defer newStatus.Unlock()
// apply applicable settings
setSelectedSecurityLevel(newStatus.SelectedSecurityLevel)
if SelectedSecurityLevel() != newStatus.SelectedSecurityLevel {
go setSelectedSecurityLevel(newStatus.SelectedSecurityLevel)
}
// TODO: allow setting of Gate17 status (on/off)
// return original status

View File

@@ -11,7 +11,7 @@ var (
)
func init() {
modules.Register("status", nil, start, stop)
modules.Register("status", nil, start, stop, "database")
}
func start() error {