Table of Contents

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

Constructors

ResourcesController(IMediator)

public ResourcesController(IMediator mediator)

Parameters

mediator IMediator

Methods

Create(CreateResourceCommand, CancellationToken)

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

Parameters

command CreateResourceCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetAll(Guid?, ResourceType?, CancellationToken)

[HttpGet]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetAll(Guid? venueId, ResourceType? type, CancellationToken cancellationToken)

Parameters

venueId Guid?
type ResourceType?
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

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

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetKpis(Guid?, CancellationToken)

[HttpGet("kpis")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW_KPI")]
public Task<IActionResult> GetKpis(Guid? venueId, CancellationToken cancellationToken)

Parameters

venueId Guid?
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetOccupancy(Guid, CancellationToken)

[HttpGet("{id:guid}/occupancy")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetOccupancy(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetTree(Guid, CancellationToken)

[HttpGet("tree")]
[Authorize(Policy = "ACADEMY_RESOURCES_VIEW")]
public Task<IActionResult> GetTree(Guid venueId, CancellationToken cancellationToken)

Parameters

venueId Guid
cancellationToken CancellationToken

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

id Guid
body ReparentResourceBody
cancellationToken CancellationToken

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

id Guid
body SetResourceActiveBody
cancellationToken CancellationToken

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

id Guid
body UpdateResourceBody
cancellationToken CancellationToken

Returns

Task<IActionResult>