Files
xAiModels/Models/Dtos/XAiMessageDto.cs
T
2026-07-26 21:19:40 +03:30

86 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using xAiModels.Constants;
using xCommons.Extensions;
using xModels.Base;
using xModels.Dtos;
namespace xAiModels.Models.Dtos
{
public class XAiMessageDto : XBaseGuidIDEntityDto
{
/// <summary>
/// User Identifier ...
/// </summary>
/// <value></value>
public string OwnerId { get; set; }
/// <summary>
/// Owner Info ...
/// </summary>
public virtual XPersonDto Owner { get; set; } = null;
/// <summary>
/// Message of Chat ...
/// </summary>
public string Content { get; set; }
/// <summary>
/// Role of Message ...
/// </summary>
public XAiChatRole Role { get; set; }
/// <summary>
/// Created Time ...
/// </summary>
public DateTime CreatedOn { get; set; }
/// <summary>
/// Updated Time ...
/// </summary>
public DateTime UpdatedAt { get; set; }
/// <summary>
/// Conversation Id ...
/// </summary>
public Guid ConversationId { get; set; }
/// <summary>
/// Conversation Info ...
/// </summary>
public virtual XAiConversationDto Conversation { get; set; } = null;
//
#region Meta Data Property ...
private string _metadata;
/// <summary>
/// Meta Data of Message ...
/// </summary>
public IDictionary<string, object> Metadata { get; private set; } = null;
/// <summary>
/// Meta Data of MEssage in Json ...
/// </summary>
public string MeatDatas
{
//
get => _metadata;
//
set
{
//
// Converts Json String to Dictionary ...
if (!value.IsNullOrEmpty())
{
Metadata = value.FromJSON<IDictionary<string, object>>();
}
//
_metadata = value;
}
}
#endregion
}
}