-
Notifications
You must be signed in to change notification settings - Fork 1
/
role.pb.view.go
62 lines (53 loc) · 1.6 KB
/
role.pb.view.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
// Code generated by protoc-gen-goten-resource
// Resource: Role
// DO NOT EDIT!!!
package role
import (
googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
"github.com/cloudwan/goten-sdk/types/view"
)
// proto imports
import (
condition "github.com/cloudwan/edgelq-sdk/iam/resources/v1/condition"
permission "github.com/cloudwan/edgelq-sdk/iam/resources/v1/permission"
meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
meta "github.com/cloudwan/goten-sdk/types/meta"
)
// ensure the imports are used
var (
_ = googlefieldmaskpb.FieldMask{}
_ = view.View_UNSPECIFIED
)
// make sure we're using proto imports
var (
_ = &condition.Condition{}
_ = &permission.Permission{}
_ = &meta_service.Service{}
_ = &meta.Meta{}
)
func ResourceViewFieldMask(viewName view.View, extraMask *Role_FieldMask) *Role_FieldMask {
protoFieldMask := &googlefieldmaskpb.FieldMask{}
switch viewName {
case view.View_UNSPECIFIED:
return extraMask
case view.View_FULL:
return nil
case view.View_BASIC:
protoFieldMask.Paths = append(protoFieldMask.Paths, "name", "display_name", "services")
break
case view.View_DETAIL:
protoFieldMask.Paths = append(protoFieldMask.Paths, "name", "display_name", "services", "scope_params", "grants")
break
case view.View_NAME:
protoFieldMask.Paths = append(protoFieldMask.Paths, "name", "display_name")
break
default:
return extraMask
}
if extraMask != nil {
protoFieldMask.Paths = append(protoFieldMask.Paths, extraMask.ToProtoFieldMask().Paths...)
}
res := &Role_FieldMask{}
_ = res.FromProtoFieldMask(protoFieldMask)
return res
}