Class VenuesController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
US#11 (#8491, CA16/CA22) — catálogo de Sedes (academy.Venue), entidad propia con
FK al Branch de core. [RequireTenantBranch] es obligatorio: una Venue cuelga
siempre de la sucursal fiscal resuelta en el token, igual que
RentCarBranchConfigController. Reemplaza al antiguo BranchesController, que
exponía AcademyBranch como si fuera la sede — no lo era (ver
Docs/Academy/DECISIONES-02-08-2026.md §1).
[ApiController]
[Route("api/academies/venues")]
[Authorize]
[RequireModule("ACADEMY")]
public class VenuesController : ControllerBase
- Inheritance
-
objectControllerBaseVenuesController
Constructors
VenuesController(IMediator)
public VenuesController(IMediator mediator)
Parameters
mediatorIMediator
Methods
Create(CreateVenueCommand, CancellationToken)
[HttpPost]
[Authorize(Policy = "ACADEMY_VENUES_CREATE")]
public Task<IActionResult> Create(CreateVenueCommand command, CancellationToken cancellationToken)
Parameters
commandCreateVenueCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(CancellationToken)
[HttpGet]
[Authorize(Policy = "ACADEMY_VENUES_VIEW")]
public Task<IActionResult> GetAll(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_VENUES_VIEW")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
SetActive(Guid, SetVenueActiveBody, CancellationToken)
[HttpPatch("{id:guid}")]
[Authorize(Policy = "ACADEMY_VENUES_DEACTIVATE")]
public Task<IActionResult> SetActive(Guid id, SetVenueActiveBody body, CancellationToken cancellationToken)
Parameters
idGuidbodySetVenueActiveBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
SetPrincipal(Guid, CancellationToken)
[HttpPost("{id:guid}/set-principal")]
[Authorize(Policy = "ACADEMY_VENUES_SET_PRINCIPAL")]
public Task<IActionResult> SetPrincipal(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateVenueBody, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "ACADEMY_VENUES_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateVenueBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyUpdateVenueBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>