Class ResourcesController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
US#11 (#8491, CA18/CA22) — árbol de recursos físicos por sede (Piscina → Carril).
Sin ella, US#3 no detecta conflictos de recurso (CA6). [RequireTenantBranch]
aislamiento por sucursal; el aislamiento por sede (VenueId) lo resuelven los
handlers vía tenant + pertenencia.
[ApiController]
[Route("api/academies/resources")]
[Authorize]
[RequireModule("ACADEMY")]
public class ResourcesController : ControllerBase
- Inheritance
-
objectControllerBaseResourcesController
Constructors
ResourcesController(IMediator)
public ResourcesController(IMediator mediator)
Parameters
mediatorIMediator
Methods
Create(CreateResourceCommand, CancellationToken)
[HttpPost]
[Authorize(Policy = "ACADEMY_RESOURCES_CREATE")]
public Task<IActionResult> Create(CreateResourceCommand command, CancellationToken cancellationToken)
Parameters
commandCreateResourceCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(Guid?, ResourceType?, CancellationToken)
[HttpGet]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetAll(Guid? venueId, ResourceType? type, CancellationToken cancellationToken)
Parameters
venueIdGuid?typeResourceType?cancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetKpis(Guid?, CancellationToken)
[HttpGet("kpis")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW_KPI")]
public Task<IActionResult> GetKpis(Guid? venueId, CancellationToken cancellationToken)
Parameters
venueIdGuid?cancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetOccupancy(Guid, CancellationToken)
[HttpGet("{id:guid}/occupancy")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetOccupancy(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetTree(Guid, CancellationToken)
[HttpGet("tree")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetTree(Guid venueId, CancellationToken cancellationToken)
Parameters
venueIdGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
Reparent(Guid, ReparentResourceBody, CancellationToken)
[HttpPatch("{id:guid}/parent")]
[Authorize(Policy = "ACADEMY_RESOURCES_UPDATE")]
public Task<IActionResult> Reparent(Guid id, ReparentResourceBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyReparentResourceBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
SetActive(Guid, SetResourceActiveBody, CancellationToken)
[HttpPatch("{id:guid}")]
[Authorize(Policy = "ACADEMY_RESOURCES_DEACTIVATE")]
public Task<IActionResult> SetActive(Guid id, SetResourceActiveBody body, CancellationToken cancellationToken)
Parameters
idGuidbodySetResourceActiveBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateResourceBody, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "ACADEMY_RESOURCES_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateResourceBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyUpdateResourceBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>