@@ -3,6 +3,7 @@ using Api.Services.Contracts;
|
||||
using Rag.Models.Requests;
|
||||
using Rag.Models.Responses;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using Shared.Models.Responses;
|
||||
|
||||
namespace Api.Controllers;
|
||||
|
||||
@@ -25,7 +26,7 @@ public sealed class RagController : ControllerBase
|
||||
[SwaggerResponse(StatusCodes.Status200OK, "Document indexed successfully")]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, "Invalid indexing request")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)]
|
||||
public async Task<ActionResult<IndexDocumentResponse>> IndexDocument(
|
||||
[FromForm] IndexDocumentUploadRequest request,
|
||||
CancellationToken ct)
|
||||
@@ -57,7 +58,7 @@ public sealed class RagController : ControllerBase
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "Invalid document indexing request.");
|
||||
return BadRequest(new { error = ex.Message });
|
||||
return BadRequest(new ErrorResponse { Error = ex.Message, Code = "invalid_request" });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +67,7 @@ public sealed class RagController : ControllerBase
|
||||
[SwaggerResponse(StatusCodes.Status200OK, "JSON document indexed successfully")]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, "Invalid JSON indexing request")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)]
|
||||
public async Task<ActionResult<IndexDocumentResponse>> IndexJsonDocument([FromBody] IndexDocumentRequest request, CancellationToken ct)
|
||||
{
|
||||
try
|
||||
@@ -81,7 +82,7 @@ public sealed class RagController : ControllerBase
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "Invalid JSON document indexing request.");
|
||||
return BadRequest(new { error = ex.Message });
|
||||
return BadRequest(new ErrorResponse { Error = ex.Message, Code = "invalid_request" });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +91,7 @@ public sealed class RagController : ControllerBase
|
||||
[SwaggerResponse(StatusCodes.Status200OK, "Search results returned")]
|
||||
[SwaggerResponse(StatusCodes.Status400BadRequest, "Invalid search request")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)]
|
||||
public async Task<ActionResult<SearchResponse>> Search([FromBody] SearchRequest request, CancellationToken ct)
|
||||
{
|
||||
try
|
||||
@@ -104,7 +105,7 @@ public sealed class RagController : ControllerBase
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "Invalid semantic search request.");
|
||||
return BadRequest(new { error = ex.Message });
|
||||
return BadRequest(new ErrorResponse { Error = ex.Message, Code = "invalid_request" });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +114,7 @@ public sealed class RagController : ControllerBase
|
||||
[SwaggerResponse(StatusCodes.Status200OK, "Document details returned")]
|
||||
[SwaggerResponse(StatusCodes.Status404NotFound, "Document was not found")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||
[ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)]
|
||||
public async Task<ActionResult<RagDocumentDetailsResponse>> GetDocument(string id, CancellationToken ct)
|
||||
{
|
||||
_logger.LogInformation("Get document request received. DocumentId={DocumentId}", id);
|
||||
@@ -121,7 +122,7 @@ public sealed class RagController : ControllerBase
|
||||
if (document is null)
|
||||
{
|
||||
_logger.LogWarning("Document not found. DocumentId={DocumentId}", id);
|
||||
return NotFound(new { error = "Document not found." });
|
||||
return NotFound(new ErrorResponse { Error = "Document not found.", Code = "document_not_found" });
|
||||
}
|
||||
return Ok(document);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user