sync: migrate ai-operator to Gitea (2026-08-10)

This commit is contained in:
konturai-ops
2026-08-10 15:26:52 +00:00
commit 53652b95ad
173 changed files with 16676 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
package ari
import "encoding/json"
func ParseEvent(data []byte) (Event, error) {
var base BaseEvent
if err := json.Unmarshal(data, &base); err != nil {
return nil, err
}
switch base.Type {
case EventStasisStart:
var event StasisStartEvent
if err := json.Unmarshal(data, &event); err != nil {
return nil, err
}
return event, nil
case EventStasisEnd:
var event StasisEndEvent
if err := json.Unmarshal(data, &event); err != nil {
return nil, err
}
return event, nil
case EventChannelStateChange:
var event ChannelStateChangeEvent
if err := json.Unmarshal(data, &event); err != nil {
return nil, err
}
return event, nil
case EventChannelHangupRequest:
var event ChannelHangupRequestEvent
if err := json.Unmarshal(data, &event); err != nil {
return nil, err
}
return event, nil
case EventChannelDestroyed:
var event ChannelDestroyedEvent
if err := json.Unmarshal(data, &event); err != nil {
return nil, err
}
return event, nil
case EventApplicationReplaced:
var event ApplicationReplacedEvent
if err := json.Unmarshal(data, &event); err != nil {
return nil, err
}
return event, nil
default:
var raw map[string]any
if err := json.Unmarshal(data, &raw); err != nil {
return nil, err
}
return GenericEvent{BaseEvent: base, Raw: raw}, nil
}
}