Table of Contents

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

Constructors

SpecialtiesController(IMediator)

public SpecialtiesController(IMediator mediator)

Parameters

mediator IMediator

Methods

Create(CreateSpecialtyBody, CancellationToken)

[HttpPost]
[Authorize(Policy = "ACADEMY_SPECIALTIES_CREATE")]
public Task<IActionResult> Create(CreateSpecialtyBody body, CancellationToken cancellationToken)

Parameters

body CreateSpecialtyBody
cancellationToken CancellationToken

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

paginator PaginatorRequestDto
isActive bool?
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

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

Parameters

id Guid
cancellationToken CancellationToken

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

cancellationToken CancellationToken

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

id Guid
body SetSpecialtyActiveBody
cancellationToken CancellationToken

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

id Guid
body UpdateSpecialtyBody
cancellationToken CancellationToken

Returns

Task<IActionResult>