/
resourceRetrieved.go
74 lines (58 loc) · 1.79 KB
/
resourceRetrieved.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
package events
import (
"time"
pkgTime "github.com/plgd-dev/hub/v2/pkg/time"
commands "github.com/plgd-dev/hub/v2/resource-aggregate/commands"
"github.com/plgd-dev/hub/v2/resource-aggregate/cqrs/eventstore"
"google.golang.org/protobuf/proto"
)
const eventTypeResourceRetrieved = "resourceretrieved"
func (e *ResourceRetrieved) Version() uint64 {
return e.GetEventMetadata().GetVersion()
}
func (e *ResourceRetrieved) Marshal() ([]byte, error) {
return proto.Marshal(e)
}
func (e *ResourceRetrieved) Unmarshal(b []byte) error {
return proto.Unmarshal(b, e)
}
func (e *ResourceRetrieved) EventType() string {
return eventTypeResourceRetrieved
}
func (e *ResourceRetrieved) AggregateID() string {
return e.GetResourceId().ToUUID().String()
}
func (e *ResourceRetrieved) GroupID() string {
return e.GetResourceId().GetDeviceId()
}
func (e *ResourceRetrieved) IsSnapshot() bool {
return false
}
func (e *ResourceRetrieved) ETag() *eventstore.ETagData {
return nil
}
func (e *ResourceRetrieved) Timestamp() time.Time {
return pkgTime.Unix(0, e.GetEventMetadata().GetTimestamp())
}
func (e *ResourceRetrieved) ServiceID() (string, bool) {
return "", false
}
func (e *ResourceRetrieved) Types() []string {
return e.GetResourceTypes()
}
func (e *ResourceRetrieved) CopyData(event *ResourceRetrieved) {
e.ResourceId = event.GetResourceId()
e.Content = event.GetContent()
e.AuditContext = event.GetAuditContext()
e.EventMetadata = event.GetEventMetadata()
e.Status = event.GetStatus()
e.OpenTelemetryCarrier = event.GetOpenTelemetryCarrier()
e.ResourceTypes = event.GetResourceTypes()
}
func (e *ResourceRetrieved) CheckInitialized() bool {
return e.GetResourceId() != nil &&
e.GetContent() != nil &&
e.GetAuditContext() != nil &&
e.GetEventMetadata() != nil &&
e.GetStatus() != commands.Status(0)
}