Officially documented release

This commit is contained in:
2025-11-10 10:10:46 +11:00
parent 1bb7661f94
commit 4c58351635
23 changed files with 282 additions and 214 deletions

View File

@@ -6,6 +6,22 @@ import (
"gorm.io/gorm"
)
// DBParticipant is a model that stores raw 'participant' payloads from GenesysCloud websockets and API requests.
//
// - The ExtractLive function handles the conversion from JSON data (map) into formatted JSON string for websocket payloads.
// - The ExtractWithoutAttributes function handles the conversion from JSON data (map) into formatted JSON string for gcq-details requests.
//
// Table Schema:
//
// Primary Key: Id
// Indexes: ConnectedTime, ConversationId, EndTime, Id, Name, Purpose
// JSON Fields: Attributes, MediaRoles, Wrapup
//
// GORM Specifics:
// - Can be preloaded with Sessions []DBSession
// - Can be preloaded with Calls []DBCall
// - Can be preloaded with User *GCUser
// - BeforeSave function, converts UserId into 'nil' if an empty string is returned, this prevents foreign key violations.
type DBParticipant struct {
Address *string
Attributes *string `gorm:"type:json"`