Compare commits

...

15 Commits

10 changed files with 150 additions and 21 deletions

View File

@@ -9,23 +9,9 @@ type DBAmendment struct {
AmendmentValue string AmendmentValue string
Requestor string Requestor string
RequestedAt time.Time RequestedAt time.Time
Sequence string
} }
func (DBAmendment) TableName() string { func (DBAmendment) TableName() string {
return "gc_amendments" return "gc_amendments"
} }
type DBAmendmentLog struct {
Id int `gorm:"primaryKey;autoIncrement"`
ConversationId string `gorm:"index"`
AmendmentColumn string
OldValue string
NewValue string
Requestor string
RequestedAt time.Time
AmendedAt time.Time
}
func (DBAmendmentLog) TableName() string {
return "gc_amendment_logs"
}

View File

@@ -1,5 +1,6 @@
package models package models
/*
import ( import (
"time" "time"
) )
@@ -26,3 +27,4 @@ type BaseCall struct {
func (BaseCall) TableName() string { func (BaseCall) TableName() string {
return "gc_base_calls" return "gc_base_calls"
} }
*/

28
models/booking.go Normal file
View File

@@ -0,0 +1,28 @@
package models
import "time"
type Booking struct {
BookingReference int `gorm:"primaryKey;index"`
BookingTime *time.Time `gorm:"index"`
Timezone *string
Language *string
CustomData *string
Method *string `gorm:"index"`
Duration *int
BookedDuration *int
ConversationId *string `gorm:"index"`
CancellationTime *time.Time
InterpreterId *int `gorm:"index"`
ClientId *int `gorm:"index"`
AgentName *string
AgentEmail *string
AgentPhone *string
Comments *string
BillingCode *string
TicketId string
}
func (Booking) TableName() string {
return "gc_bookings"
}

View File

@@ -1,5 +1,6 @@
package models package models
/*
import ( import (
"time" "time"
) )
@@ -25,3 +26,4 @@ type CallStat struct {
func (CallStat) TableName() string { func (CallStat) TableName() string {
return "gc_call_stats" return "gc_call_stats"
} }
*/

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"`
} }

107
models/formatter.go Normal file
View File

@@ -0,0 +1,107 @@
package models
import "time"
type BaseCall struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
GenderPreference string
ClientId int `gorm:"index"`
LanguageId int
CustomerDnis string
CustomerAni string
SearchStartTime *time.Time
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
P3ConnectTime *time.Time
P3DisconnectTime *time.Time
BookingRequestNumber *int `gorm:"index"`
IvrData *int
UtsEntries int
InterpreterCount int
Status string
}
func (BaseCall) TableName() string {
return "gc_base_calls"
}
type InterpreterAttempt struct {
InterpreterConversationId string `gorm:"primaryKey;index"`
InterpreterResponseTime time.Time
InterpreterAccepted bool
InterpreterId int `gorm:"index"`
CallType string
CallConnected string
ClientConversationId string `gorm:"index"`
LanguageId int
InterpreterPhone string
ConversationStart time.Time
ConversationEnd time.Time
}
func (InterpreterAttempt) TableName() string {
return "gc_interpreter_attempts"
}
type InterpreterConnection struct {
InterpreterConversationId string `gorm:"primaryKey;index"`
InterpreterAccepted bool
InterpreterId int `gorm:"index"`
CallType string
CallConnected string
ClientConversationId string `gorm:"index"`
LanguageId int
InterpreterPhone string
ConferenceStart time.Time
ConferenceEnd time.Time
}
func (InterpreterConnection) TableName() string {
return "gc_interpreter_connections"
}
type CallStat struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
ClientId int `gorm:"index"`
CustomerDnis string
CustomerAni string
ConversationStart *time.Time `gorm:"index"`
ConversationEnd *time.Time `gorm:"index"`
SearchStartTime *time.Time
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
BookingRequestNumber *int `gorm:"index"`
UtsQueue bool
InterpreterAcceptedCount int
InterpreterAccepted bool
InterpreterConnectedCount int
InterpreterConnected bool
ClientDisconnected bool
UtsDuration int
UtsEntries int
Status string
SubStatus string
FirstLanguageId int
LastLanguageId int
FirstInterpreter string
}
func (CallStat) TableName() string {
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

@@ -1,5 +1,6 @@
package models package models
/*
import ( import (
"time" "time"
) )
@@ -21,3 +22,4 @@ type InterpreterAttempt struct {
func (InterpreterAttempt) TableName() string { func (InterpreterAttempt) TableName() string {
return "gc_interpreter_attempts" return "gc_interpreter_attempts"
} }
*/

View File

@@ -1,5 +1,6 @@
package models package models
/*
import ( import (
"time" "time"
) )
@@ -20,3 +21,4 @@ type InterpreterConnection struct {
func (InterpreterConnection) TableName() string { func (InterpreterConnection) TableName() string {
return "gc_interpreter_connections" return "gc_interpreter_connections"
} }
*/

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"`
@@ -54,7 +54,7 @@ type DBClientProcessed struct {
// PARTNER DETAILS: // PARTNER DETAILS:
// --- // ---
PartnerBill float64 PartnerBill float64
ParnterRate float64 PartnerRate float64
// TIMESTAMP DETAILS: // TIMESTAMP DETAILS:
// --- // ---
@@ -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)