using Microsoft.AspNetCore.Mvc; namespace Distribution.Features.SupplierPayment; [ApiController] [Route("api/suppliers/{supplierId:guid}/payments")] public class SupplierPaymentController(SupplierPaymentService service) : ControllerBase { [HttpGet] public async Task List(Guid supplierId, [FromQuery] int page = 1, [FromQuery] int pageSize = 20) { var result = await service.ListBySupplierAsync(supplierId, page, pageSize); return result is null ? NotFound() : Ok(result); } [HttpPost] public async Task Create(Guid supplierId, CreateSupplierPaymentRequest request, CancellationToken ct) { try { var result = await service.CreateAsync(supplierId, request, ct); return result is null ? NotFound() : Ok(result); } catch (InvalidOperationException ex) { return BadRequest(new { error = ex.Message }); } } }