/
policy.go
66 lines (52 loc) · 2.08 KB
/
policy.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
Copyright 2021 Adevinta
*/
package service
import (
"context"
"gopkg.in/go-playground/validator.v9"
"github.com/adevinta/errors"
"github.com/adevinta/vulcan-api/pkg/api"
)
func (s vulcanitoService) CreatePolicy(ctx context.Context, policy api.Policy) (*api.Policy, error) {
validationErr := validator.New().Struct(policy)
if validationErr != nil {
return nil, errors.Validation(validationErr)
}
return s.db.CreatePolicy(policy)
}
func (s vulcanitoService) ListPolicies(ctx context.Context, teamID string) ([]*api.Policy, error) {
return s.db.ListPolicies(teamID)
}
func (s vulcanitoService) FindPolicy(ctx context.Context, policyID string) (*api.Policy, error) {
return s.db.FindPolicy(policyID)
}
func (s vulcanitoService) UpdatePolicy(ctx context.Context, policy api.Policy) (*api.Policy, error) {
return s.db.UpdatePolicy(policy)
}
func (s vulcanitoService) DeletePolicy(ctx context.Context, policy api.Policy) error {
return s.db.DeletePolicy(policy)
}
func (s vulcanitoService) ListChecktypeSetting(ctx context.Context, policyID string) ([]*api.ChecktypeSetting, error) {
return s.db.ListChecktypeSetting(policyID)
}
func (s vulcanitoService) CreateChecktypeSetting(ctx context.Context, setting api.ChecktypeSetting) (*api.ChecktypeSetting, error) {
validationErr := setting.Validate()
if validationErr != nil {
return nil, errors.Validation(validationErr)
}
return s.db.CreateChecktypeSetting(setting)
}
func (s vulcanitoService) FindChecktypeSetting(ctx context.Context, policyID, checktypeSettingID string) (*api.ChecktypeSetting, error) {
return s.db.FindChecktypeSetting(checktypeSettingID)
}
func (s vulcanitoService) UpdateChecktypeSetting(ctx context.Context, checktypeSetting api.ChecktypeSetting) (*api.ChecktypeSetting, error) {
validationErr := checktypeSetting.Validate()
if validationErr != nil {
return nil, errors.Validation(validationErr)
}
return s.db.UpdateChecktypeSetting(checktypeSetting)
}
func (s vulcanitoService) DeleteChecktypeSetting(ctx context.Context, checktypeSettingID string) error {
return s.db.DeleteChecktypeSetting(checktypeSettingID)
}