Class SpecialtiesController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
Catálogo de especialidades de Instructor, por tenant (decisión de David — "Speciality debe
ser un CATALOGO y aquí un DropDown que se alimente de ese catálogo"). Mismo molde que
DisciplinesController.
[ApiController]
[Route("api/academies/specialties")]
[Authorize]
[RequireModule("ACADEMY")]
public class SpecialtiesController : ControllerBase
- Inheritance
-
objectControllerBaseSpecialtiesController
Constructors
SpecialtiesController(IMediator)
public SpecialtiesController(IMediator mediator)
Parameters
mediatorIMediator
Methods
Create(CreateSpecialtyBody, CancellationToken)
[HttpPost]
[Authorize(Policy = "ACADEMY_SPECIALTIES_CREATE")]
public Task<IActionResult> Create(CreateSpecialtyBody body, CancellationToken cancellationToken)
Parameters
bodyCreateSpecialtyBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(PaginatorRequestDto, bool?, CancellationToken)
Listado paginado, para la pantalla de administración de Master Data.
[HttpGet]
[Authorize(Policy = "ACADEMY_SPECIALTIES_VIEW")]
public Task<IActionResult> GetAll(PaginatorRequestDto paginator, bool? isActive, CancellationToken cancellationToken)
Parameters
paginatorPaginatorRequestDtoisActivebool?cancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_SPECIALTIES_VIEW")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetOptions(CancellationToken)
Listado liviano sin paginar — alimenta el multi-select de especialidades del modal de Instructor.
[HttpGet("options")]
[Authorize(Policy = "ACADEMY_SPECIALTIES_VIEW")]
public Task<IActionResult> GetOptions(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
- Task<IActionResult>
SetActive(Guid, SetSpecialtyActiveBody, CancellationToken)
Toggle de IsActive. Rechaza con 400 si hay instructores activos con esta especialidad.
[HttpPatch("{id:guid}")]
[Authorize(Policy = "ACADEMY_SPECIALTIES_DEACTIVATE")]
public Task<IActionResult> SetActive(Guid id, SetSpecialtyActiveBody body, CancellationToken cancellationToken)
Parameters
idGuidbodySetSpecialtyActiveBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateSpecialtyBody, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "ACADEMY_SPECIALTIES_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateSpecialtyBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyUpdateSpecialtyBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>