-
-
Notifications
You must be signed in to change notification settings - Fork 17
/
resourceRetrievePending.go
66 lines (51 loc) · 1.68 KB
/
resourceRetrievePending.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
package events
import (
"time"
pkgTime "github.com/plgd-dev/hub/v2/pkg/time"
"google.golang.org/protobuf/proto"
)
const eventTypeResourceRetrievePending = "resourceretrievepending"
func (e *ResourceRetrievePending) Version() uint64 {
return e.GetEventMetadata().GetVersion()
}
func (e *ResourceRetrievePending) Marshal() ([]byte, error) {
return proto.Marshal(e)
}
func (e *ResourceRetrievePending) Unmarshal(b []byte) error {
return proto.Unmarshal(b, e)
}
func (e *ResourceRetrievePending) EventType() string {
return eventTypeResourceRetrievePending
}
func (e *ResourceRetrievePending) AggregateID() string {
return e.GetResourceId().ToUUID()
}
func (e *ResourceRetrievePending) GroupID() string {
return e.GetResourceId().GetDeviceId()
}
func (e *ResourceRetrievePending) IsSnapshot() bool {
return false
}
func (e *ResourceRetrievePending) Timestamp() time.Time {
return pkgTime.Unix(0, e.GetEventMetadata().GetTimestamp())
}
func (e *ResourceRetrievePending) CopyData(event *ResourceRetrievePending) {
e.ResourceId = event.GetResourceId()
e.ResourceInterface = event.GetResourceInterface()
e.AuditContext = event.GetAuditContext()
e.EventMetadata = event.GetEventMetadata()
e.ValidUntil = event.GetValidUntil()
e.OpenTelemetryCarrier = event.GetOpenTelemetryCarrier()
}
func (e *ResourceRetrievePending) CheckInitialized() bool {
return e.GetResourceId() != nil &&
e.GetResourceInterface() != "" &&
e.GetAuditContext() != nil &&
e.GetEventMetadata() != nil
}
func (e *ResourceRetrievePending) ValidUntilTime() time.Time {
return pkgTime.Unix(0, e.GetValidUntil())
}
func (e *ResourceRetrievePending) IsExpired(now time.Time) bool {
return IsExpired(now, e.ValidUntilTime())
}