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