in functions/source/real-time-adherence/AspectKinesisLamda/ProcessKinesisEvents.cs [282:310]
private ConnectKinesisEventRecord ConvertRecordData(string json, EventRecordData eventRecord)
{
_logger.Trace("Beginning ConvertRecordData");
// if this record doesn't include an agent ARN, assume it doesn't match the
// required format. Discard it.
if (String.IsNullOrEmpty(eventRecord?.AgentARN))
{
_logger.Info("recordData does not include AgentARN. Discarding recordData.");
return null;
}
ConnectKinesisEventRecord streamRecord = new ConnectKinesisEventRecord()
{
AgentARN = eventRecord.AgentARN,
AgentUsername = eventRecord.CurrentAgentSnapshot?.Configuration?.Username,
LastEventType = eventRecord.EventType,
LastEventTimeStamp = eventRecord.EventTimestamp,
LastStateChangeTimeStamp = eventRecord.CurrentAgentSnapshot?.AgentStatus.StartTimestamp,
CurrentState = eventRecord.CurrentAgentSnapshot?.AgentStatus?.Name,
RawAgentEventJSon = json
};
_logger.Debug($"Event Type: {eventRecord.EventType} Agent Username: {streamRecord.AgentUsername} Current State: {streamRecord.CurrentState} Event Time: {streamRecord.LastEventTimeStamp} State Change Time: {streamRecord.LastStateChangeTimeStamp}");
_logger.Trace("Ending ConvertRecordData");
return streamRecord;
}