using System; using System.Threading; using xAiModels.Models.Dtos; using System.Threading.Tasks; using System.Collections.Generic; namespace xAiModels.Interfaces { /// /// All Data Manipulation Requirements ... /// public interface IXAiDataProvider { // #region Loaders ... /// /// Load Projects List of Specified Owner ... /// /// /// /// /// /// Task> LoadProjects( string ownerId, bool fillConversations = false, bool fillConversationMessages = false, CancellationToken cancellationToken = default ); /// /// Load List of Conversations for Specified Project ... /// /// /// /// /// Task> LoadConversations( Guid projectId, bool fillMessages = false, CancellationToken cancellationToken = default ); /// /// Load Messages of Specified Conversation ... /// /// /// /// Task> LoadMessages( Guid conversationId, CancellationToken cancellationToken = default ); #endregion // #region Creator/Adders ... /// /// Create Project ... /// /// /// /// /// /// Task CreateProject( string ownerId, XAiProjectDto item = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Create Conversation ... /// /// /// /// /// /// Task CreateConversation( Guid projectId, XAiConversationDto item = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Add Message ... /// /// /// /// /// /// Task AddMessage( Guid conversationId, XAiMessageDto item, string connectionId = null, CancellationToken cancellationToken = default ); #endregion } }