MCPcopy Index your code
hub / github.com/coder/coder / ParseEventWithType

Function ParseEventWithType

coderd/usage/usagetypes/events.go:94–111  ·  view source on GitHub ↗

ParseEventWithType parses the raw event data into the specified Go type. It fails if there is any unknown fields or extra data after the event. The returned event is validated. If the event type is unknown, UnknownEventTypeError is returned.

(eventType UsageEventType, data json.RawMessage)

Source from the content-addressed store, hash-verified

92//
93// If the event type is unknown, UnknownEventTypeError is returned.
94func ParseEventWithType(eventType UsageEventType, data json.RawMessage) (Event, error) {
95 switch eventType {
96 case UsageEventTypeDCManagedAgentsV1:
97 var event DCManagedAgentsV1
98 if err := ParseEvent(data, &event); err != nil {
99 return nil, err
100 }
101 return event, nil
102 case UsageEventTypeHBAISeatsV1:
103 var event HBAISeats
104 if err := ParseEvent(data, &event); err != nil {
105 return nil, err
106 }
107 return event, nil
108 default:
109 return nil, UnknownEventTypeError{EventType: string(eventType)}
110 }
111}
112
113// Event is a usage event that can be collected by the usage collector.
114//

Callers 1

TestParseEventWithTypeFunction · 0.92

Calls 1

ParseEventFunction · 0.85

Tested by 1

TestParseEventWithTypeFunction · 0.74