206 lines
9.1 KiB
Go
206 lines
9.1 KiB
Go
package models
|
|
|
|
type AnalyticsConversationWithAttributesQuery struct {
|
|
Conversations []AnalyticsConversationWithAttributes `json:"conversations"`
|
|
Cursor *string `json:"cursor"`
|
|
}
|
|
|
|
type AnalyticsConversationWithAttributes struct {
|
|
ConversationEnd string `json:"conversationEnd"`
|
|
ConversationId string `json:"conversationId"`
|
|
ConversationStart string `json:"conversationStart"`
|
|
DivisionIds []string `json:"divisionIds"`
|
|
ExternalTag string `json:"externalTag"`
|
|
MediaStatsMinConversationMos float32 `json:"mediaStatsMinConversationMos"`
|
|
MediaStatsMinConversationRFactor float32 `json:"mediaStatsMinConversationRFactor"`
|
|
OriginatingDirection string `json:"originatingDirection"`
|
|
Participants []struct {
|
|
ExternalContactId string `json:"externalContactId"`
|
|
ParticipantId string `json:"id"`
|
|
ParticipantName string `json:"participantName"`
|
|
Purpose string `json:"purpose"`
|
|
Sessions []struct {
|
|
ANI string `json:"ani"`
|
|
Direction string `json:"direction"`
|
|
DNIS string `json:"dnis"`
|
|
EdgeId string `json:"edgeId"`
|
|
MediaType string `json:"mediaType"`
|
|
ProtocolCallId string `json:"protocolCallId"`
|
|
Provider string `json:"provider"`
|
|
Recording bool `json:"recording"`
|
|
RemoteNameDisplayable string `json:"remoteNameDisplayable"`
|
|
SessionDnis string `json:"sessionDnis"`
|
|
SessionId string `json:"sessionId"`
|
|
MediaEndpointStats []struct {
|
|
Codecs []string `json:"codecs"`
|
|
EventTime string `json:"eventTime"`
|
|
MaxLatencyMs int `json:"maxLatencyMs"`
|
|
MinMos float32 `json:"minMos"`
|
|
MinRFactor float32 `json:"minRFactor"`
|
|
ReceivedPackets int `json:"receivedPackets"`
|
|
} `json:"mediaEndpointStats"`
|
|
Metrics []struct {
|
|
EmitDate string `json:"emitDate"`
|
|
Name string `json:"name"`
|
|
Value int `json:"value"`
|
|
} `json:"metrics"`
|
|
Segments []struct {
|
|
Conference bool `json:"conference"`
|
|
DisconnectType string `json:"disconnectType"`
|
|
Q850ResponseCodes []int `json:"q850ResponseCodes"`
|
|
SegmentEnd string `json:"segmentEnd"`
|
|
SegmentStart string `json:"segmentStart"`
|
|
SegmentType string `json:"segmentType"`
|
|
WrapUpCode string `json:"wrapUpCode"`
|
|
} `json:"segments"`
|
|
} `json:"sessions"`
|
|
Attributes map[string]any `json:"attributes"`
|
|
} `json:"participants"`
|
|
}
|
|
|
|
type AnalyticsConversationWithoutAttributesQuery struct {
|
|
Conversations []AnalyticsConversationWithoutAttributes `json:"conversations"`
|
|
TotalHits int `json:"totalHits"`
|
|
}
|
|
type AnalyticsConversationWithoutAttributes struct {
|
|
ConversationId string `json:"conversationId"`
|
|
ConversationStart string `json:"conversationStart"`
|
|
ConversationEnd string `json:"conversationEnd"`
|
|
MediaStatsMinConversationMos float32 `json:"mediaStatsMinConversationMos"`
|
|
MediaStatsMinConversationRFactor float32 `json:"mediaStatsMinConversationRFactor"`
|
|
OriginatingDirection string `json:"originatingDirection"`
|
|
DivisionIds []string `json:"divisionIds"`
|
|
Participants []struct {
|
|
ParticipantId string `json:"participantId"`
|
|
UserId string `json:"userId"`
|
|
ParticipantName string `json:"participantName"`
|
|
Purpose string `json:"purpose"`
|
|
ExternalContactId string `json:"externalContactId"`
|
|
Sessions []struct {
|
|
MediaType string `json:"mediaType"`
|
|
SessionId string `json:"sessionId"`
|
|
ANI string `json:"ani"`
|
|
Direction string `json:"direction"`
|
|
DNIS string `json:"dnis"`
|
|
SessionDNIS string `json:"sessionDnis"`
|
|
EdgeId string `json:"edgeId"`
|
|
RemoteNameDisplayable string `json:"remoteNameDisplayable"`
|
|
Segments []struct {
|
|
SegmentStart string `json:"segmentStart"`
|
|
SegmentEnd string `json:"segmentEnd"`
|
|
WrapUpCode string `json:"wrapUpCode"`
|
|
DisconnectType string `json:"disconnectType"`
|
|
SegmentType string `json:"SegmentType"`
|
|
Q850ResponseCodes []int `json:"q850ResponseCodes"`
|
|
Conference bool `json:"conference"`
|
|
} `json:"segments"`
|
|
Flow struct {
|
|
EndingLanguage string `json:"endingLanguage"`
|
|
EntryReason string `json:"entryReason"`
|
|
EntryType string `json:"entryType"`
|
|
ExitReason string `json:"exitReason"`
|
|
FlowId string `json:"flowId"`
|
|
FlowName string `json:"flowName"`
|
|
FlowType string `json:"flowType"`
|
|
FlowVersion string `json:"flowVersion"`
|
|
StartingLanguage string `json:"startingLanguage"`
|
|
TransferTargetAddress string `json:"transferTargetAddress"`
|
|
TransferTargetName string `json:"transferTargetName"`
|
|
TransferType string `json:"transferType"`
|
|
} `json:"flow"`
|
|
Metrics []struct {
|
|
Name string `json:"name"`
|
|
Value int `json:"value"`
|
|
EmitDate string `json:"emitDate"`
|
|
} `json:"metrics"`
|
|
MediaEndpointStats []struct {
|
|
Codecs []string `json:"codecs"`
|
|
MinMos float32 `json:"minMos"`
|
|
MinRFactor float32 `json:"minRFactor"`
|
|
MaxLatencyMs int `json:"maxLatencyMs"`
|
|
ReceivedPackets int `json:"receivedPackets"`
|
|
} `json:"mediaEndpointStats"`
|
|
Recording bool `json:"recording"`
|
|
ProtocolCallId string `json:"protocolCallId"`
|
|
Provider string `json:"provider"`
|
|
} `json:"sessions"`
|
|
} `json:"participants"`
|
|
}
|
|
|
|
type NotificationConversationWithAttributes struct {
|
|
Address string `json:"address"`
|
|
Divisions []struct {
|
|
Division struct {
|
|
Id string `json:"id"`
|
|
SelfUri string `json:"selfUri"`
|
|
} `json:"division"`
|
|
Entities []struct {
|
|
DateDivisionUpdated string `json:"dateDivisionUpdated"`
|
|
Id string `json:"id"`
|
|
SelfUri string `json:"selfUri"`
|
|
} `json:"entities"`
|
|
} `json:"divisions"`
|
|
ExternalTag string `json:"externalTag"`
|
|
Id string `json:"id"`
|
|
Participants []struct {
|
|
Address string `json:"address"`
|
|
Attributes map[string]any `json:"attributes"`
|
|
Calls []struct {
|
|
AfterCallWorkRequired bool `json:"afterCallWorkRequired"`
|
|
Confined bool `json:"confined"`
|
|
ConnectedTime string `json:"connectedTime"`
|
|
Direction string `json:"direction"`
|
|
DisconnectReasons []struct{} `json:"disconnectReasons"`
|
|
DisconnectType string `json:"disconnectType"`
|
|
DisconnectedTime string `json:"disconnectedTime"`
|
|
Held bool `json:"held"`
|
|
Id string `json:"id"`
|
|
InitialState string `json:"initialState"`
|
|
Muted bool `json:"muted"`
|
|
Other map[string]any `json:"other"`
|
|
PeerId string `json:"peerId"`
|
|
Provider string `json:"provider"`
|
|
Recording bool `json:"recording"`
|
|
RecordingState string `json:"recordingState"`
|
|
SecurePause bool `json:"securePause"`
|
|
Self map[string]any `json:"self"`
|
|
State string `json:"state"`
|
|
} `json:"calls"`
|
|
ConnectedTime string `json:"connectedTime"`
|
|
EndTime string `json:"endTime"`
|
|
ExternalContactId string `json:"externalContactId"`
|
|
ExternalContactInitialDivisionId string `json:"externalContactInitialDivisionId"`
|
|
Id string `json:"id"`
|
|
MediaRoles []string `json:"mediaRoles"`
|
|
Name string `json:"name"`
|
|
Purpose string `json:"purpose"`
|
|
QueueId string `json:"queueId"`
|
|
Wrapup map[string]any `json:"wrapup"`
|
|
WrapupExpected bool `json:"wrapupExpected"`
|
|
WrapupRequired bool `json:"wrapupRequired"`
|
|
} `json:"participants"`
|
|
RecentTransfers []map[string]any `json:"recentTransfers"`
|
|
RecordingState string `json:"recordingState"`
|
|
SecurePause bool `json:"securePause"`
|
|
UtilizationLabelId string `json:"utilizationLabelId"`
|
|
}
|
|
|
|
type UsersQuery struct {
|
|
Entities []GCUser `json:"entities"`
|
|
PageSize int `json:"pageSize"`
|
|
Total int `json:"total"`
|
|
}
|
|
|
|
type GCUser struct {
|
|
Id string `json:"id" gorm:"primaryKey;foreignKey"`
|
|
Name string `json:"name"`
|
|
Email string `json:"email"`
|
|
State string `json:"state"`
|
|
Username string `json:"username"`
|
|
AcdAutoAnswer bool `json:"acdAutoAnswer"`
|
|
}
|
|
|
|
func (GCUser) TableName() string {
|
|
return "gc_users"
|
|
}
|