William Petit
1120474ad9
super-graph Malheureusement, super-graph n'a pas tenu les promesses qu'il semblait annoncer. Je propose donc de basculer sur un serveur Go classique (via goweb). L'authentification OpenID Connect étant gérée côté backend et non plus côté frontend.
34 lines
763 B
Go
34 lines
763 B
Go
package config
|
|
|
|
import (
|
|
"github.com/pkg/errors"
|
|
"gitlab.com/wpetit/goweb/service"
|
|
)
|
|
|
|
const ServiceName service.Name = "config"
|
|
|
|
// From retrieves the config service in the given container
|
|
func From(container *service.Container) (*Config, error) {
|
|
service, err := container.Service(ServiceName)
|
|
if err != nil {
|
|
return nil, errors.Wrapf(err, "error while retrieving '%s' service", ServiceName)
|
|
}
|
|
|
|
srv, ok := service.(*Config)
|
|
if !ok {
|
|
return nil, errors.Errorf("retrieved service is not a valid '%s' service", ServiceName)
|
|
}
|
|
|
|
return srv, nil
|
|
}
|
|
|
|
// Must retrieves the config service in the given container or panic otherwise
|
|
func Must(container *service.Container) *Config {
|
|
srv, err := From(container)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
return srv
|
|
}
|