using Asp.Versioning; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using TarninaHub.Application.Abstractions; using TarninaHub.Application.Dtos; using TarninaHub.Application.Security; namespace TarninaHub.Controllers; [ApiController] [ApiVersion("1.0")] [Route("api/middleman")] [Authorize(Policy = Policies.JstOrAbove)] public class MiddlemanController : ControllerBase { private readonly IMiddlemanService _middleman; public MiddlemanController(IMiddlemanService middleman) { _middleman = middleman; } [HttpPost("adapt")] public async Task> Adapt( MiddlemanRequest request, CancellationToken cancellationToken) { var response = await _middleman.AdaptAsync(request, cancellationToken); return response is null ? NotFound() : Ok(response); } }