1
0
mirror of https://github.com/bitwarden/server synced 2025-12-14 15:23:42 +00:00
Files
server/util/SeederApi/Controllers/QueryController.cs
Matt Gibson 3f22adcbf2 Split scene service and query service
rename instances of `recipe` to `scene`
2025-10-30 09:08:36 -07:00

37 lines
1018 B
C#

using Bit.SeederApi.Models.Requests;
using Bit.SeederApi.Services;
using Microsoft.AspNetCore.Mvc;
namespace Bit.SeederApi.Controllers;
[Route("query")]
public class QueryController(ILogger<QueryController> logger, IQueryService queryService)
: Controller
{
[HttpPost]
public IActionResult Query([FromBody] QueryRequestModel request)
{
logger.LogInformation("Executing query: {Query}", request.Template);
try
{
var result = queryService.ExecuteQuery(request.Template, request.Arguments);
return Json(result);
}
catch (SceneNotFoundException ex)
{
return NotFound(new { Error = ex.Message });
}
catch (SceneExecutionException ex)
{
logger.LogError(ex, "Error executing query: {Query}", request.Template);
return BadRequest(new
{
Error = ex.Message,
Details = ex.InnerException?.Message
});
}
}
}