fix: event deserialization

This commit is contained in:
Anthony Rubick
2025-07-20 22:15:05 -07:00
parent fe2db92392
commit d74ecb2444
2 changed files with 30 additions and 12 deletions

View File

@@ -87,23 +87,32 @@ func ParseEvent(jsonData []byte, event *Event) error {
// Now, based on the event type, unmarshal the specific payload // Now, based on the event type, unmarshal the specific payload
switch temp.Name { switch temp.Name {
case EventBlacklistedIPBlocked: case EventBlacklistedIPBlocked:
var payload BlacklistedIPBlockedEvent type tempData struct {
Data BlacklistedIPBlockedEvent `json:"data"`
}
var payload tempData
if err := json.Unmarshal(jsonData, &payload); err != nil { if err := json.Unmarshal(jsonData, &payload); err != nil {
return err return err
} }
event.Data = &payload event.Data = &payload.Data
case EventBlacklistToggled: case EventBlacklistToggled:
var payload BlacklistToggledEvent type tempData struct {
Data BlacklistToggledEvent `json:"data"`
}
var payload tempData
if err := json.Unmarshal(jsonData, &payload); err != nil { if err := json.Unmarshal(jsonData, &payload); err != nil {
return err return err
} }
event.Data = &payload event.Data = &payload.Data
case EventAccessRuleCreated: case EventAccessRuleCreated:
var payload AccessRuleCreatedEvent type tempData struct {
Data AccessRuleCreatedEvent `json:"data"`
}
var payload tempData
if err := json.Unmarshal(jsonData, &payload); err != nil { if err := json.Unmarshal(jsonData, &payload); err != nil {
return err return err
} }
event.Data = &payload event.Data = &payload.Data
default: default:
return fmt.Errorf("unknown event: %s, %v", temp.Name, jsonData) return fmt.Errorf("unknown event: %s, %v", temp.Name, jsonData)
} }

View File

@@ -87,23 +87,32 @@ func ParseEvent(jsonData []byte, event *Event) error {
// Now, based on the event type, unmarshal the specific payload // Now, based on the event type, unmarshal the specific payload
switch temp.Name { switch temp.Name {
case EventBlacklistedIPBlocked: case EventBlacklistedIPBlocked:
var payload BlacklistedIPBlockedEvent type tempData struct {
Data BlacklistedIPBlockedEvent `json:"data"`
}
var payload tempData
if err := json.Unmarshal(jsonData, &payload); err != nil { if err := json.Unmarshal(jsonData, &payload); err != nil {
return err return err
} }
event.Data = &payload event.Data = &payload.Data
case EventBlacklistToggled: case EventBlacklistToggled:
var payload BlacklistToggledEvent type tempData struct {
Data BlacklistToggledEvent `json:"data"`
}
var payload tempData
if err := json.Unmarshal(jsonData, &payload); err != nil { if err := json.Unmarshal(jsonData, &payload); err != nil {
return err return err
} }
event.Data = &payload event.Data = &payload.Data
case EventAccessRuleCreated: case EventAccessRuleCreated:
var payload AccessRuleCreatedEvent type tempData struct {
Data AccessRuleCreatedEvent `json:"data"`
}
var payload tempData
if err := json.Unmarshal(jsonData, &payload); err != nil { if err := json.Unmarshal(jsonData, &payload); err != nil {
return err return err
} }
event.Data = &payload event.Data = &payload.Data
default: default:
return fmt.Errorf("unknown event: %s, %v", temp.Name, jsonData) return fmt.Errorf("unknown event: %s, %v", temp.Name, jsonData)
} }