Class TenantBranchConfigController
- Namespace
- KadicErp.WebApi.Controllers.Config
- Assembly
- KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/config/tenant-branch-config")]
public class TenantBranchConfigController : ControllerBase
- Inheritance
-
objectControllerBaseTenantBranchConfigController
Constructors
TenantBranchConfigController(IMediator)
public TenantBranchConfigController(IMediator mediator)
Parameters
mediatorIMediator
Methods
Create(CreateTenantBranchConfigCommand, CancellationToken)
[HttpPost]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_CREATE")]
[ProducesResponseType(typeof(Result), 201)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 409)]
public Task<IActionResult> Create(CreateTenantBranchConfigCommand command, CancellationToken cancellationToken = default)
Parameters
commandCreateTenantBranchConfigCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(PaginatorRequestDto, CancellationToken)
[HttpGet]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_VIEW")]
[ProducesResponseType(typeof(PaginatorResponseDto<TenantBranchConfigDto>), 200)]
public Task<IActionResult> GetAll(PaginatorRequestDto paginator, CancellationToken cancellationToken = default)
Parameters
paginatorPaginatorRequestDtocancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_VIEW")]
[ProducesResponseType(typeof(TenantBranchConfigDto), 200)]
[ProducesResponseType(404)]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetFinalConsumer(Guid, CancellationToken)
[HttpGet("{id:guid}/final-consumer")]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_VIEW")]
[ProducesResponseType(typeof(FinalConsumerInfoDto), 200)]
[ProducesResponseType(404)]
public Task<IActionResult> GetFinalConsumer(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateTenantBranchConfigCommand, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_UPDATE")]
[ProducesResponseType(typeof(Result), 200)]
[ProducesResponseType(typeof(Result), 400)]
[ProducesResponseType(typeof(Result), 404)]
public Task<IActionResult> Update(Guid id, UpdateTenantBranchConfigCommand command, CancellationToken cancellationToken = default)
Parameters
idGuidcommandUpdateTenantBranchConfigCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
UpdateBillingValidation(Guid, UpdateTenantBranchConfigBillingValidationCommand, CancellationToken)
US#87 (#8565/#8814) — reporte original de David: "Brand defaults - solo admin puede activar y desactivar modo de facturación". Separado del PUT general de arriba a propósito: ese lo puede tocar cualquiera con CONFIG_TENANT_BRANCH_CONFIG_UPDATE; este endpoint es el único camino que puede cambiar ValidateInitialPaymentInvoice, y solo Platform Admin (bypass automático) o el rol ADMIN del tenant (con el permiso concedido) pueden pasar la policy.
[HttpPatch("{id:guid}/billing-validation")]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_BILLING_VALIDATION_UPDATE")]
[ProducesResponseType(typeof(Result), 200)]
[ProducesResponseType(typeof(Result), 403)]
[ProducesResponseType(typeof(Result), 404)]
public Task<IActionResult> UpdateBillingValidation(Guid id, UpdateTenantBranchConfigBillingValidationCommand command, CancellationToken cancellationToken = default)
Parameters
idGuidcommandUpdateTenantBranchConfigBillingValidationCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
UpdateGuarantorPrompt(Guid, UpdateTenantBranchConfigGuarantorPromptCommand, CancellationToken)
Mismo patrón que UpdateBillingValidation arriba, aplicado a "Garante en Renta de Vehículos": separado del PUT general -- ese lo puede tocar cualquiera con CONFIG_TENANT_BRANCH_CONFIG_UPDATE; este endpoint es el único camino que puede cambiar IsGarantorPromptEnabled/GuarantorMinimumAge, y solo Platform Admin (bypass automático) o el rol ADMIN del tenant (con el permiso concedido) pueden pasar la policy.
[HttpPatch("{id:guid}/guarantor-prompt")]
[Authorize(Policy = "CONFIG_TENANT_BRANCH_CONFIG_GUARANTOR_PROMPT_UPDATE")]
[ProducesResponseType(typeof(Result), 200)]
[ProducesResponseType(typeof(Result), 403)]
[ProducesResponseType(typeof(Result), 404)]
public Task<IActionResult> UpdateGuarantorPrompt(Guid id, UpdateTenantBranchConfigGuarantorPromptCommand command, CancellationToken cancellationToken = default)
Parameters
idGuidcommandUpdateTenantBranchConfigGuarantorPromptCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>