Compare commits

..

9 Commits

9 changed files with 358 additions and 15 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"
) )
@@ -9,6 +10,7 @@ type BaseCall struct {
CallType string `gorm:"index"` CallType string `gorm:"index"`
GenderPreference string GenderPreference string
ClientId int `gorm:"index"` ClientId int `gorm:"index"`
LanguageId int
CustomerDnis string CustomerDnis string
CustomerAni string CustomerAni string
SearchStartTime *time.Time SearchStartTime *time.Time
@@ -25,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"
}

29
models/call_stat.go Normal file
View File

@@ -0,0 +1,29 @@
package models
/*
import (
"time"
)
type CallStat struct {
ClientConversationId string `gorm:"primaryKey;index"`
CallType string `gorm:"index"`
ClientId int `gorm:"index"`
CustomerDnis string
CustomerAni string
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
BookingRequestNumber *int `gorm:"index"`
UtsQueue bool
InterpreterCount int
InterpreterConnected bool
ClientDisconnected bool
UtsDuration int
UtsEntries int
Status string
}
func (CallStat) TableName() string {
return "gc_call_stats"
}
*/

87
models/formatter.go Normal file
View File

@@ -0,0 +1,87 @@
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
}
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
SearchStartTime time.Time
P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"`
BookingRequestNumber *int `gorm:"index"`
UtsQueue bool
InterpreterCount int
InterpreterConnected bool
ClientDisconnected bool
UtsDuration int
UtsEntries int
Status string
FirstLanguageId int
LastLanguageId int
FirstInterpreter string
}
func (CallStat) TableName() string {
return "gc_call_stats"
}

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

@@ -4,6 +4,144 @@ import (
"time" "time"
) )
type DBClientProcessed struct {
// CALL DETAILS
// ---
ClientConversationId string `gorm:"primaryKey"`
CallType string
GenderPreference string
BookingReference *int
IvrData *int
BillableClient bool
CallOutcome string
// FLAGS / METADATA:
// ---
BuggedCall bool
Amended bool
CreatedAt time.Time
ModifiedAt time.Time
CustomData *string `gorm:"type:json"`
InternalUse *string `gorm:"type:json"`
// LANGUAGE DETAILS:
// ---
LanguageId int
LanguageCrmId string
LanguageName string
// CLIENT DETAILS:
// ---
ClientId int
CustomerDnis string
CustomerAni string
ClientName string
ClientState string
ClientFunding bool
ClientGroupId int
ClientGroupName string
ClientPoReference string
InvoiceConfigCrmId string
InvoiceConfigName string
InvoiceConfigUsed string
ClientCallDuration int
ClientTimeOfDay string
ClientBill float64
ClientRate float64
ClientTaxStatus string
// PARTNER DETAILS:
// ---
PartnerBill float64
PartnerRate float64
// TIMESTAMP DETAILS:
// ---
P1SearchStartTime *time.Time
P1ConnectTime time.Time
P1DisconnectTime time.Time
P3ConnectTime *time.Time
P3DisconnectTime *time.Time
}
func (DBClientProcessed) TableName() string {
return "gc_client_processed"
}
type DBInterpreterProcessed struct {
// CALL DETAILS
// ---
ClientConversationId string
InterpreterConversationId string `gorm:"primaryKey"`
CallType string
GenderPreference string
BookingReference *int
BillableInterpreter bool
BillableTpa bool
// FLAGS / METADATA:
// ---
BuggedCall bool
Amended bool
CreatedAt time.Time
ModifiedAt time.Time
CustomData *string `gorm:"type:json"`
InternalUse *string `gorm:"type:json"`
// LANGUAGE DETAILS:
// ---
LanguageId int
LanguageCrmId string
LanguageName string
// CLIENT DETAILS:
// ---
ClientId int
ClientName string
ClientState string
// INTERPRETER DETAILS:
// ---
InterpreterId int
InterpreterCrmId string
InterpreterName string
InterpreterPhone string
InterpreterGst bool
InterpreterNaatiId string
InterpreterGender string
InterpreterState string
InterpreterPaymentState string
InterpreterEmployer string
InterpreterLanguagePriority int
InterpreterLanguageNaatiLevel int
InterpreterLanguageNaatiDescription string
InterpreterLanguageWtn bool
InterpreterCallDuration int
InterpreterTimeOfDay string
InterpreterPayment float64
InterpreterRate float64
PaymentConfigCrmId string
PaymentConfigName string
PaymentConfigUsed string
// TIMESTAMP DETAILS:
// ---
P1SearchStartTime *time.Time
P1ConnectTime time.Time
P1DisconnectTime time.Time
P2SearchStartTime *time.Time
P2AcceptanceTime time.Time
P2ConferenceTime time.Time
P2DisconnectTime time.Time
}
func (DBInterpreterProcessed) TableName() string {
return "gc_interpreter_processed"
}
/*
type Processed struct { type Processed struct {
ClientConversationId string `gorm:"index"` ClientConversationId string `gorm:"index"`
InterpreterConversationId string `gorm:"primaryKey;index"` InterpreterConversationId string `gorm:"primaryKey;index"`
@@ -43,3 +181,4 @@ type Processed struct {
func (Processed) TableName() string { func (Processed) TableName() string {
return "gc_processed" return "gc_processed"
} }
*/

View File

@@ -2,6 +2,73 @@ package models
import "time" import "time"
type DBTicket struct {
AccountId int
ApprovalCount int
Assignee string `gorm:"type:json"`
AssigneeId int
AttachmentCount int
Category string
CF string `gorm:"type:json"`
Channel string
ChannelCode string
ChannelRelatedInfo string
Classification string
ClosedTime *time.Time
CommentCount int
Contact string `gorm:"type:json"`
ContactId int
CreatedBy int
CreatedTime time.Time
CustomerResponseTime time.Time
DepartmentId int
DescAttachments string `gorm:"type:json"`
Description string
DueDate *time.Time
Email string
EntitySkills string `gorm:"type:json"`
FirstThread string `gorm:"type:json"`
FollowerCount int
Id string `gorm:"primaryKey"`
IsArchived bool
IsDeleted bool
IsEscalated bool
IsOverdue bool
IsResponseOverdue bool
IsSpam bool
IsTrashed bool
Language string
LayoutDetails string `gorm:"type:json"`
LayoutId int
ModifiedBy int
ModifiedTime time.Time
OnHoldTime *time.Time
Phone string
Priority string
ProductId string
Resolution string
ResponseDueDate *time.Time
SecondaryContacts string `gorm:"type:json"`
Sentiment string
SharedDepartments string `gorm:"type:json"`
Source string `gorm:"type:json"`
Status string
StatusType string
SubCategory string
Subject string
TagCount int
TaskCount int
TeamId int
ThreadCount int
TicketNumber int
TimeEntryCount int
WebUrl string
}
func (DBTicket) TableName() string {
return "zoho_live_tickets"
}
type Ticket struct { type Ticket struct {
TicketID string `gorm:"primaryKey;column:ticket_id" json:"ticket_id"` TicketID string `gorm:"primaryKey;column:ticket_id" json:"ticket_id"`
TicketReferenceID *string `gorm:"column:ticket_reference_id" json:"ticket_reference_id"` TicketReferenceID *string `gorm:"column:ticket_reference_id" json:"ticket_reference_id"`