3
0
corteza/system/rest/settings.go
Denis Arh 10dd0226c1 Settings service cleanup
Remove intermediate settings service layer
2019-10-31 00:06:27 +01:00

53 lines
1.2 KiB
Go

package rest
import (
"context"
"github.com/cortezaproject/corteza-server/pkg/settings"
"github.com/cortezaproject/corteza-server/system/rest/request"
"github.com/cortezaproject/corteza-server/system/service"
)
type (
Settings struct {
svc struct {
settings settings.Service
}
}
)
func (Settings) New() *Settings {
ctrl := &Settings{}
ctrl.svc.settings = service.DefaultSettings
return ctrl
}
func (ctrl *Settings) List(ctx context.Context, r *request.SettingsList) (interface{}, error) {
if vv, err := ctrl.svc.settings.FindByPrefix(ctx, r.Prefix); err != nil {
return nil, err
} else {
return vv, err
}
}
func (ctrl *Settings) Update(ctx context.Context, r *request.SettingsUpdate) (interface{}, error) {
if err := ctrl.svc.settings.BulkSet(ctx, r.Values); err != nil {
return nil, err
} else {
return true, nil
}
}
func (ctrl *Settings) Get(ctx context.Context, r *request.SettingsGet) (interface{}, error) {
if v, err := ctrl.svc.settings.Get(ctx, r.Key, r.OwnerID); err != nil {
return nil, err
} else {
return v, nil
}
}
func (ctrl *Settings) Current(ctx context.Context, r *request.SettingsCurrent) (interface{}, error) {
return service.CurrentSettings, nil
}