mirror of
https://github.com/bitwarden/server
synced 2025-12-14 15:23:42 +00:00
37 lines
1018 B
C#
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
|
|
});
|
|
}
|
|
}
|
|
}
|