last ...
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using xModels.Dtos;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using xAiModels.Models;
|
||||
@@ -164,14 +165,16 @@ namespace xAiApi.Controllers
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Data Provided Actions ...
|
||||
#region Loaders ...
|
||||
/// <summary>
|
||||
/// Retrieve AI Projects ...
|
||||
/// </summary>
|
||||
/// <param name="includeDefaults"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Projects")]
|
||||
public async Task<ActionResult<IEnumerable<XAiProjectDto>>> LoadProjects(
|
||||
[FromQuery] bool includeDefaults = false,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
@@ -186,6 +189,7 @@ namespace xAiApi.Controllers
|
||||
var result = await aiService.LoadProjects(
|
||||
ownerId: userInfo.UserId,
|
||||
connectionId: connectionId,
|
||||
includeDefaults: includeDefaults,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
|
||||
@@ -282,7 +286,132 @@ namespace xAiApi.Controllers
|
||||
return result;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Queries ...
|
||||
/// <summary>
|
||||
/// Query Projects ...
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// </remarks>
|
||||
/// <param name="query"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Projects/Query")]
|
||||
public async Task<ActionResult<XQueryResult<XAiProjectDto>>> QueryProjects(
|
||||
[FromQuery] XQuery query,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
try
|
||||
{
|
||||
//
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var result = await aiService.QueryProjects(
|
||||
query: query,
|
||||
ownerId: userInfo.UserId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Query Conversations ...
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="query"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Projects/{projectId}/Conversations/Query")]
|
||||
public async Task<ActionResult<XQueryResult<XAiConversationDto>>> QueryConversations(
|
||||
[FromRoute] Guid projectId,
|
||||
[FromQuery] XQuery query,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
try
|
||||
{
|
||||
//
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var result = await aiService.QueryConversations(
|
||||
query: query,
|
||||
projectId: projectId,
|
||||
ownerId: userInfo.UserId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Query Messages ...
|
||||
/// </summary>
|
||||
/// <param name="conversationId"></param>
|
||||
/// <param name="query"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Conversations/{conversationId}/Messages/Query")]
|
||||
public async Task<ActionResult<XQueryResult<XAiMessageDto>>> QueryMessages(
|
||||
[FromRoute] Guid conversationId,
|
||||
[FromQuery] XQuery query,
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
//
|
||||
try
|
||||
{
|
||||
//
|
||||
var userInfo = await GetUserInfo();
|
||||
var connectionId = GetConnectionId();
|
||||
|
||||
//
|
||||
var result = await aiService.QueryMessages(
|
||||
query: query,
|
||||
ownerId: userInfo.UserId,
|
||||
conversationId: conversationId,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
|
||||
//
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Creators ...
|
||||
/// <summary>
|
||||
/// Create an AI Project ...
|
||||
/// </summary>
|
||||
@@ -333,7 +462,7 @@ namespace xAiApi.Controllers
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -355,7 +484,7 @@ namespace xAiApi.Controllers
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
if (projectId.IsDefaultGuid() ||
|
||||
if (projectId.IsDefaultGuid() ||
|
||||
item.IsNullOrDefault())
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
@@ -390,9 +519,12 @@ namespace xAiApi.Controllers
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Data Actions ...
|
||||
/// <summary>
|
||||
/// Ask Question and Get Response ...
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user