Table of Contents

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
object
ControllerBase
VenuesController

Constructors

VenuesController(IMediator)

public VenuesController(IMediator mediator)

Parameters

mediator IMediator

Methods

Create(CreateVenueCommand, CancellationToken)

[HttpPost]
[Authorize(Policy = "ACADEMY_VENUES_CREATE")]
public Task<IActionResult> Create(CreateVenueCommand command, CancellationToken cancellationToken)

Parameters

command CreateVenueCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetAll(CancellationToken)

[HttpGet]
[Authorize(Policy = "ACADEMY_VENUES_VIEW")]
public Task<IActionResult> GetAll(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_VENUES_VIEW")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

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

id Guid
body SetVenueActiveBody
cancellationToken CancellationToken

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

id Guid
cancellationToken CancellationToken

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

id Guid
body UpdateVenueBody
cancellationToken CancellationToken

Returns

Task<IActionResult>