safing-portbase/runtime/module_api.go
2020-10-29 14:28:09 +01:00

40 lines
843 B
Go

package runtime
import (
"github.com/safing/portbase/database"
"github.com/safing/portbase/modules"
)
var (
// DefaultRegistry is the default registry
// that is used by the module-level API.
DefaultRegistry = NewRegistry()
)
func init() {
modules.Register("runtime", nil, startModule, nil, "database")
}
func startModule() error {
_, err := database.Register(&database.Database{
Name: "runtime",
Description: "Runtime database",
StorageType: "injected",
ShadowDelete: false,
})
if err != nil {
return err
}
if err := DefaultRegistry.InjectAsDatabase("runtime"); err != nil {
return err
}
return nil
}
// Register is like Registry.Register but uses
// the package DefaultRegistry.
func Register(key string, provider ValueProvider) (PushFunc, error) {
return DefaultRegistry.Register(key, provider)
}