Added foreign key relations to all core components
This commit is contained in:
parent
3be1e46f69
commit
804b9b2792
@ -22,6 +22,8 @@ type DBConversation struct {
|
||||
DetailsUpdate *time.Time
|
||||
SemiLiveUpdate *time.Time
|
||||
JobUpdate *time.Time
|
||||
|
||||
Participants []DBParticipant `gorm:"foreignKey:ConversationId;references:Id"`
|
||||
}
|
||||
|
||||
func (DBConversation) TableName() string {
|
||||
|
||||
67
models/full_conversation.go
Normal file
67
models/full_conversation.go
Normal file
@ -0,0 +1,67 @@
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
type Conversation struct {
|
||||
Address *string
|
||||
DivisionIds *string `gorm:"type:json"`
|
||||
End *time.Time `gorm:"index"`
|
||||
ExternalTag *string
|
||||
Id string `gorm:"primaryKey;index"`
|
||||
MinMos *float32
|
||||
MinRFactor *float32
|
||||
OriginatingDirection *string
|
||||
RecentTransfers *string `gorm:"type:json"`
|
||||
RecordingState *string
|
||||
SecurePause *bool
|
||||
Start *time.Time `gorm:"index"`
|
||||
UtilizationLabelId *string
|
||||
LiveUpdate *time.Time
|
||||
DetailsUpdate *time.Time
|
||||
SemiLiveUpdate *time.Time
|
||||
JobUpdate *time.Time
|
||||
Participants []struct {
|
||||
Address *string
|
||||
Attributes *string `gorm:"type:json"`
|
||||
ConnectedTime *time.Time `gorm:"index"`
|
||||
ConversationId string `gorm:"foreignKey;index"`
|
||||
EndTime *time.Time `gorm:"index"`
|
||||
ExternalContactId *string
|
||||
ExternalContactInitialDivisionId *string
|
||||
Id string `gorm:"primaryKey;index"`
|
||||
MediaRoles *string `gorm:"type:json"`
|
||||
Name *string `gorm:"index"`
|
||||
Purpose *string `gorm:"index"`
|
||||
QueueId *string
|
||||
Wrapup *string `gorm:"type:json"`
|
||||
WrapupExpected *bool
|
||||
WrapupRequired *bool
|
||||
Sessions []struct {
|
||||
Ani string
|
||||
Direction string
|
||||
Dnis string
|
||||
EdgeId string
|
||||
Id string `gorm:"primaryKey;index"`
|
||||
MediaEndpointStats string `gorm:"type:json"`
|
||||
MediaType string
|
||||
Metrics string `gorm:"type:json"`
|
||||
ParticipantId string `gorm:"foreignKey;index"`
|
||||
ProtocolCallId string
|
||||
Provider string
|
||||
Recording bool
|
||||
RemoteNameDisplayable string
|
||||
SessionDnis string
|
||||
Segments []struct {
|
||||
Id string `gorm:"primaryKey;index"`
|
||||
Conference bool
|
||||
DisconnectType string
|
||||
Q850ResponseCodes string `gorm:"type:json"`
|
||||
SegmentEnd time.Time `gorm:"index"`
|
||||
SegmentStart time.Time `gorm:"index"`
|
||||
SegmentType string `gorm:"index"`
|
||||
SessionId string `gorm:"foreignKey"`
|
||||
WrapUpCode string
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20,6 +20,8 @@ type DBParticipant struct {
|
||||
Wrapup *string `gorm:"type:json"`
|
||||
WrapupExpected *bool
|
||||
WrapupRequired *bool
|
||||
|
||||
Sessions []DBSession `gorm:"foreignKey:ParticipantId;references:Id"`
|
||||
}
|
||||
|
||||
func (DBParticipant) TableName() string {
|
||||
|
||||
@ -15,6 +15,8 @@ type DBSession struct {
|
||||
Recording bool
|
||||
RemoteNameDisplayable string
|
||||
SessionDnis string
|
||||
|
||||
Segments []DBSegment `gorm:"foreignKey:SessionId;references:Id"`
|
||||
}
|
||||
|
||||
func (DBSession) TableName() string {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user