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
|
DetailsUpdate *time.Time
|
||||||
SemiLiveUpdate *time.Time
|
SemiLiveUpdate *time.Time
|
||||||
JobUpdate *time.Time
|
JobUpdate *time.Time
|
||||||
|
|
||||||
|
Participants []DBParticipant `gorm:"foreignKey:ConversationId;references:Id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DBConversation) TableName() string {
|
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"`
|
Wrapup *string `gorm:"type:json"`
|
||||||
WrapupExpected *bool
|
WrapupExpected *bool
|
||||||
WrapupRequired *bool
|
WrapupRequired *bool
|
||||||
|
|
||||||
|
Sessions []DBSession `gorm:"foreignKey:ParticipantId;references:Id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DBParticipant) TableName() string {
|
func (DBParticipant) TableName() string {
|
||||||
|
|||||||
@ -15,6 +15,8 @@ type DBSession struct {
|
|||||||
Recording bool
|
Recording bool
|
||||||
RemoteNameDisplayable string
|
RemoteNameDisplayable string
|
||||||
SessionDnis string
|
SessionDnis string
|
||||||
|
|
||||||
|
Segments []DBSegment `gorm:"foreignKey:SessionId;references:Id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DBSession) TableName() string {
|
func (DBSession) TableName() string {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user