53 lines
1.4 KiB
Go
53 lines
1.4 KiB
Go
|
|
package api
|
||
|
|
|
||
|
|
type (
|
||
|
|
EventSubMetadata struct {
|
||
|
|
MessageID string `json:"message_id"`
|
||
|
|
MessageType string `json:"message_type"`
|
||
|
|
MessageTimestamp string `json:"message_timestamp"`
|
||
|
|
}
|
||
|
|
|
||
|
|
EventSubSession struct {
|
||
|
|
ID string `json:"id"`
|
||
|
|
Status string `json:"status"`
|
||
|
|
KeepaliveTimeoutSeconds int `json:"keepalive_timeout_seconds"`
|
||
|
|
ReconnectURL string `json:"reconnect_url"`
|
||
|
|
ConnectedAt string `json:"connected_at"`
|
||
|
|
}
|
||
|
|
|
||
|
|
EventSubSubscriptionTransport struct {
|
||
|
|
Method string `json:"method"`
|
||
|
|
SessionID string `json:"session_id"`
|
||
|
|
}
|
||
|
|
EventSubSubscription struct {
|
||
|
|
ID string `json:"id"`
|
||
|
|
Status string `json:"status"`
|
||
|
|
Type string `json:"type"`
|
||
|
|
Version string `json:"version"`
|
||
|
|
Cost int `json:"cost"`
|
||
|
|
Condition any `json:"condition"`
|
||
|
|
Transport EventSubSubscriptionTransport `json:"transport"`
|
||
|
|
CreatedAt string `json:"connected_at"`
|
||
|
|
}
|
||
|
|
|
||
|
|
EventSubPayload struct {
|
||
|
|
Session *EventSubSession `json:"session"`
|
||
|
|
Subscription *EventSubSubscription `json:"subscription"`
|
||
|
|
Event any `json:"event"`
|
||
|
|
}
|
||
|
|
|
||
|
|
EventSubMessage struct {
|
||
|
|
Metadata EventSubMetadata `json:"metadata"`
|
||
|
|
Payload EventSubPayload `json:"payload"`
|
||
|
|
}
|
||
|
|
)
|
||
|
|
|
||
|
|
type MessageType string
|
||
|
|
const (
|
||
|
|
SESSION_WELCOME MessageType = "session_welcome"
|
||
|
|
SESSION_KEEPALIVE MessageType = "session_keepalive"
|
||
|
|
NOTIFICATION MessageType = "notification"
|
||
|
|
SESSION_RECONNECT MessageType = "session_reconnect"
|
||
|
|
SESSION_RECOVATION MessageType = "session_revocation"
|
||
|
|
)
|