- moved rbac store and config to internal pkg, - split auth authenticators to internal pkg, - add rbac config object to internal/config, - update package imports and references for auth, - clean up main with pkg aliases
39 lines
609 B
Go
39 lines
609 B
Go
package repository
|
|
|
|
import (
|
|
"github.com/crusttech/crust/internal/config"
|
|
)
|
|
|
|
type (
|
|
Flags struct {
|
|
PubSub *config.PubSub
|
|
Websocket *config.Websocket
|
|
}
|
|
)
|
|
|
|
var flags *Flags
|
|
|
|
func (f *Flags) Validate() error {
|
|
if flags == nil {
|
|
return ErrConfigError.New()
|
|
}
|
|
if err := f.PubSub.Validate(); err != nil {
|
|
return err
|
|
}
|
|
if err := f.Websocket.Validate(); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (f *Flags) Init(prefix ...string) *Flags {
|
|
if flags != nil {
|
|
return flags
|
|
}
|
|
flags = &Flags{
|
|
new(config.PubSub).Init(prefix...),
|
|
new(config.Websocket).Init(prefix...),
|
|
}
|
|
return flags
|
|
}
|