Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 674f7dd5f5 | |||
| f50333d223 | |||
| a7f73eb96a | |||
| 57b4791a4a | |||
| 7737b8b4d2 | |||
| 2f2388caab | |||
| ff0f873dd8 | |||
| 7bf15cce48 | |||
| 643c5cc695 | |||
| 8b2b31ef3f | |||
| 423383a2f8 | |||
| 00b946fc8d | |||
| 4e5f789671 | |||
| ee521aa378 | |||
| c106209130 | |||
| 4c6eed2e47 |
@@ -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"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
}
|
||||||
|
|||||||
@@ -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"`
|
||||||
@@ -183,3 +184,22 @@ type NotificationConversationWithAttributes struct {
|
|||||||
SecurePause bool `json:"securePause"`
|
SecurePause bool `json:"securePause"`
|
||||||
UtilizationLabelId string `json:"utilizationLabelId"`
|
UtilizationLabelId string `json:"utilizationLabelId"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type UsersQuery struct {
|
||||||
|
Entities []GCUser `json:"entities"`
|
||||||
|
PageSize int `json:"pageSize"`
|
||||||
|
Total int `json:"total"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type GCUser struct {
|
||||||
|
Id string `json:"id" gorm:"primaryKey;foreignKey"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Email string `json:"email"`
|
||||||
|
State string `json:"state"`
|
||||||
|
Username string `json:"username"`
|
||||||
|
AcdAutoAnswer bool `json:"acdAutoAnswer"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (GCUser) TableName() string {
|
||||||
|
return "gc_users"
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,11 +17,14 @@ 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
|
||||||
|
|
||||||
Sessions []DBSession `gorm:"foreignKey:ParticipantId;references:Id"`
|
Sessions []DBSession `gorm:"foreignKey:ParticipantId;references:Id"`
|
||||||
|
Calls []DBCall `gorm:"foreignKey:ParticipantId;references:Id"`
|
||||||
|
User *GCUser `gorm:"foreignKey:UserId;references:Id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (DBParticipant) TableName() string {
|
func (DBParticipant) TableName() string {
|
||||||
|
|||||||
@@ -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"`
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user