-
Notifications
You must be signed in to change notification settings - Fork 1
/
device.pb.view.go
75 lines (66 loc) · 2.48 KB
/
device.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
63
64
65
66
67
68
69
70
71
72
73
74
75
// Code generated by protoc-gen-goten-resource
// Resource: Device
// DO NOT EDIT!!!
package device
import (
googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
"github.com/cloudwan/goten-sdk/types/view"
)
// proto imports
import (
device_type "github.com/cloudwan/edgelq-sdk/devices/resources/v1/device_type"
project "github.com/cloudwan/edgelq-sdk/devices/resources/v1/project"
iam_attestation_domain "github.com/cloudwan/edgelq-sdk/iam/resources/v1/attestation_domain"
iam_iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1/common"
iam_service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1/service_account"
logging_bucket "github.com/cloudwan/edgelq-sdk/logging/resources/v1/bucket"
monitoring_bucket "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/bucket"
meta "github.com/cloudwan/goten-sdk/types/meta"
latlng "google.golang.org/genproto/googleapis/type/latlng"
durationpb "google.golang.org/protobuf/types/known/durationpb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
// ensure the imports are used
var (
_ = googlefieldmaskpb.FieldMask{}
_ = view.View_UNSPECIFIED
)
// make sure we're using proto imports
var (
_ = &device_type.DeviceType{}
_ = &project.Project{}
_ = &iam_attestation_domain.AttestationDomain{}
_ = &iam_iam_common.PCR{}
_ = &iam_service_account.ServiceAccount{}
_ = &logging_bucket.Bucket{}
_ = &monitoring_bucket.Bucket{}
_ = &durationpb.Duration{}
_ = &fieldmaskpb.FieldMask{}
_ = ×tamppb.Timestamp{}
_ = &latlng.LatLng{}
_ = &meta.Meta{}
)
func ResourceViewFieldMask(viewName view.View, extraMask *Device_FieldMask) *Device_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", "status.device_info.os_version", "status.device_info.hardware_information.system.product_name", "status.device_info.hardware_information.system.serial_number", "metadata.labels", "metadata.tags")
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 := &Device_FieldMask{}
_ = res.FromProtoFieldMask(protoFieldMask)
return res
}