using Distribution.Infra.Authorization; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Distribution.Features.DriverComplianceConfig; [ApiController] [Route("api/driver-compliance-config")] [Authorize] public class DriverComplianceConfigController(DriverComplianceConfigService service, ICurrentUserService currentUser) : ControllerBase { [HttpGet] [Authorize(Policy = "compliance.manage")] public async Task Get() { var result = await service.GetAsync(); return result is null ? NoContent() : Ok(result); } [HttpPut] [Authorize(Policy = "compliance.manage")] public async Task Upsert(UpdateDriverComplianceConfigRequest request, CancellationToken ct) { var userId = currentUser.UserId ?? throw new UnauthorizedAccessException(); var result = await service.UpsertAsync(request, userId, ct); return Ok(result); } }