Class InstructorsController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
US#25 — catálogo mínimo de instructores. Desbloquea US#3 (creación de grupos), que
exige instructorId. US#19 (#8499) enriquece el DTO, añade /agenda y los campos ricos
de alta/edición — mismo controlador, misma tabla, sin duplicar nada.
[ApiController]
[Authorize]
[Route("api/academies/instructors")]
[RequireModule("ACADEMY")]
public class InstructorsController : ControllerBase
- Inheritance
-
objectControllerBaseInstructorsController
Constructors
InstructorsController(IMediator)
public InstructorsController(IMediator mediator)
Parameters
mediatorIMediator
Methods
Create(CreateInstructorCommand, CancellationToken)
[HttpPost]
[Authorize(Policy = "ACADEMY_INSTRUCTORS_CREATE")]
public Task<IActionResult> Create(CreateInstructorCommand command, CancellationToken cancellationToken)
Parameters
commandCreateInstructorCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAgenda(Guid, CancellationToken)
US#19 (#8499) CA3/CA6 — agenda semanal, nueva en esta US.
[HttpGet("{id:guid}/agenda")]
[Authorize(Policy = "ACADEMY_INSTRUCTORS_VIEW_AGENDA")]
public Task<IActionResult> GetAgenda(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(bool, CancellationToken)
[HttpGet]
[Authorize(Policy = "ACADEMY_INSTRUCTORS_VIEW")]
public Task<IActionResult> GetAll(bool onlyActive, CancellationToken cancellationToken)
Parameters
onlyActiveboolcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_INSTRUCTORS_VIEW_DETAIL")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
SetActive(Guid, SetInstructorActiveBody, CancellationToken)
[HttpPatch("{id:guid}/active")]
[Authorize(Policy = "ACADEMY_INSTRUCTORS_DEACTIVATE")]
public Task<IActionResult> SetActive(Guid id, SetInstructorActiveBody body, CancellationToken cancellationToken)
Parameters
idGuidbodySetInstructorActiveBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateInstructorBody, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "ACADEMY_INSTRUCTORS_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateInstructorBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyUpdateInstructorBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>