Compare commits

..

9 Commits

6 changed files with 49 additions and 27 deletions

View File

@@ -23,8 +23,8 @@ type CrmInvoiceConfig struct {
PartnerAudioBookingBH *string `gorm:"column:partner_audio_booking_bh" json:"partner_audio_booking_bh"` PartnerAudioBookingBH *string `gorm:"column:partner_audio_booking_bh" json:"partner_audio_booking_bh"`
PartnerVideoBookingAH *string `gorm:"column:partner_video_booking_ah" json:"partner_video_booking_ah"` PartnerVideoBookingAH *string `gorm:"column:partner_video_booking_ah" json:"partner_video_booking_ah"`
PartnerVideoBookingBH *string `gorm:"column:partner_video_booking_bh" json:"partner_video_booking_bh"` PartnerVideoBookingBH *string `gorm:"column:partner_video_booking_bh" json:"partner_video_booking_bh"`
RoundingFunction *string `gorm:"column:rounding_function" json:"rounding_function"`
RoundBookings *bool `gorm:"column:round_bookings" json:"round_bookings"` RoundBookings *bool `gorm:"column:round_bookings" json:"round_bookings"`
RoundingFunction *bool `gorm:"column:rounding_function" json:"rounding_function"`
SplitBookings *bool `gorm:"column:split_bookings" json:"split_bookings"` SplitBookings *bool `gorm:"column:split_bookings" json:"split_bookings"`
SplitOnDemand *bool `gorm:"column:split_on_demand" json:"split_on_demand"` SplitOnDemand *bool `gorm:"column:split_on_demand" json:"split_on_demand"`
} }

View File

@@ -62,27 +62,46 @@ func (InterpreterConnection) TableName() string {
} }
type CallStat struct { type CallStat struct {
ClientConversationId string `gorm:"primaryKey;index"` ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"` CallType string `gorm:"index"`
ClientId int `gorm:"index"` ClientId int `gorm:"index"`
CustomerDnis string CustomerDnis string
CustomerAni string CustomerAni string
SearchStartTime *time.Time ConversationStart *time.Time `gorm:"index"`
P1ConnectTime time.Time `gorm:"index"` ConversationEnd *time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"` SearchStartTime *time.Time
BookingRequestNumber *int `gorm:"index"` P1ConnectTime time.Time `gorm:"index"`
UtsQueue bool P1DisconnectTime time.Time `gorm:"index"`
InterpreterCount int BookingRequestNumber *int `gorm:"index"`
InterpreterConnected bool UtsQueue bool
ClientDisconnected bool InterpreterAcceptedCount int
UtsDuration int InterpreterAccepted bool
UtsEntries int InterpreterConnectedCount int
Status string InterpreterConnected bool
FirstLanguageId int ClientDisconnected bool
LastLanguageId int UtsDuration int
FirstInterpreter string UtsEntries int
Status string
SubStatus string
FirstLanguageId int
LastLanguageId int
FirstInterpreter string
} }
func (CallStat) TableName() string { func (CallStat) TableName() string {
return "gc_call_stats" return "gc_call_stats"
} }
type Breakdown struct {
ClientConversationId string `gorm:"primaryKey;index"`
InterpreterConversationId string `gorm:"index"`
Timestamp time.Time `gorm:"primaryKey;index"`
Task string `gorm:"primaryKey"`
Duration int
Message string
Metadata *string `gorm:"type:json"`
}
func (Breakdown) TableName() string {
return "gc_call_breakdown"
}

View File

@@ -72,6 +72,7 @@ type AnalyticsConversationWithoutAttributes struct {
DivisionIds []string `json:"divisionIds"` DivisionIds []string `json:"divisionIds"`
Participants []struct { Participants []struct {
ParticipantId string `json:"participantId"` ParticipantId string `json:"participantId"`
UserId string `json:"userId"`
ParticipantName string `json:"participantName"` ParticipantName string `json:"participantName"`
Purpose string `json:"purpose"` Purpose string `json:"purpose"`
ExternalContactId string `json:"externalContactId"` ExternalContactId string `json:"externalContactId"`

View File

@@ -17,6 +17,7 @@ type DBParticipant struct {
Name *string `gorm:"index"` Name *string `gorm:"index"`
Purpose *string `gorm:"index"` Purpose *string `gorm:"index"`
QueueId *string QueueId *string
UserId *string
Wrapup *string `gorm:"type:json"` Wrapup *string `gorm:"type:json"`
WrapupExpected *bool WrapupExpected *bool
WrapupRequired *bool WrapupRequired *bool

View File

@@ -20,7 +20,7 @@ type DBClientProcessed struct {
// --- // ---
BuggedCall bool BuggedCall bool
Amended bool Amended bool
CreatedAt time.Time CreatedAt time.Time `gorm:"autoCreateTime"`
ModifiedAt time.Time ModifiedAt time.Time
CustomData *string `gorm:"type:json"` CustomData *string `gorm:"type:json"`
InternalUse *string `gorm:"type:json"` InternalUse *string `gorm:"type:json"`
@@ -85,7 +85,7 @@ type DBInterpreterProcessed struct {
// --- // ---
BuggedCall bool BuggedCall bool
Amended bool Amended bool
CreatedAt time.Time CreatedAt time.Time `gorm:"autoCreateTime"`
ModifiedAt time.Time ModifiedAt time.Time
CustomData *string `gorm:"type:json"` CustomData *string `gorm:"type:json"`
InternalUse *string `gorm:"type:json"` InternalUse *string `gorm:"type:json"`

View File

@@ -22,9 +22,9 @@ func ExtractWithoutAttributes(base models.AnalyticsConversationWithoutAttributes
var endTime *time.Time var endTime *time.Time
parsedEndTime, err := time.Parse(time.RFC3339, base.ConversationEnd) parsedEndTime, err := time.Parse(time.RFC3339, base.ConversationEnd)
if err != nil { if err != nil {
startTime = nil endTime = nil
} else { } else {
startTime = &parsedEndTime endTime = &parsedEndTime
} }
divisionIdsBytes, err := json.Marshal(base.DivisionIds) divisionIdsBytes, err := json.Marshal(base.DivisionIds)
@@ -49,13 +49,14 @@ func ExtractWithoutAttributes(base models.AnalyticsConversationWithoutAttributes
for _, p := range base.Participants { for _, p := range base.Participants {
participant := models.DBParticipant{ participant := models.DBParticipant{
ConnectedTime: nil, // ConnectedTime: nil,
ConversationId: base.ConversationId, ConversationId: base.ConversationId,
EndTime: nil, // EndTime: nil,
ExternalContactId: &p.ExternalContactId, ExternalContactId: &p.ExternalContactId,
Id: p.ParticipantId, Id: p.ParticipantId,
Name: &p.ParticipantName, Name: &p.ParticipantName,
Purpose: &p.Purpose, Purpose: &p.Purpose,
UserId: &p.UserId,
} }
participants = append(participants, participant) participants = append(participants, participant)