Table of Contents

Class ProgressController

Namespace
KadicErp.WebApi.Controllers.Academy
Assembly
KadicErp.WebApi.dll

US#18 (#8498) — Progreso: matriz de habilidades, catálogo de ejercicios, bitácora de clases y certificados de nivel. Esta US no tenía servicio ni endpoints previos — el contrato completo se diseñó en la US misma.

[ApiController]
[Route("api/academies")]
[Authorize]
[RequireModule("ACADEMY")]
public class ProgressController : ControllerBase
Inheritance
object
ControllerBase
ProgressController

Constructors

ProgressController(IMediator)

public ProgressController(IMediator mediator)

Parameters

mediator IMediator

Methods

CreateExercise(CreateExerciseBody, CancellationToken)

[HttpPost("exercises")]
[Authorize(Policy = "ACADEMY_LEVELS_SKILLS_CREATE")]
public Task<IActionResult> CreateExercise(CreateExerciseBody body, CancellationToken cancellationToken)

Parameters

body CreateExerciseBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetCertificates(Guid, CancellationToken)

[HttpGet("students/{id:guid}/certificates")]
[Authorize(Policy = "ACADEMY_PROGRESS_CERTIFICATE_PRINT")]
public Task<IActionResult> GetCertificates(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetClassLogs(Guid, CancellationToken)

[HttpGet("students/{id:guid}/class-logs")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> GetClassLogs(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetExercises(Guid, Guid?, CancellationToken)

[HttpGet("exercises")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> GetExercises(Guid programId, Guid? levelId, CancellationToken cancellationToken)

Parameters

programId Guid
levelId Guid?
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetGroupSkillsMatrix(Guid, CancellationToken)

[HttpGet("groups/{id:guid}/skills-matrix")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> GetGroupSkillsMatrix(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetLevelEvaluation(Guid, CancellationToken)

[HttpGet("students/{id:guid}/level-evaluation")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> GetLevelEvaluation(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetStudentProgress(Guid, CancellationToken)

[HttpGet("students/{id:guid}/progress")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> GetStudentProgress(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetStudentSkills(Guid, CancellationToken)

[HttpGet("students/{id:guid}/skills")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> GetStudentSkills(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

IssueCertificate(Guid, IssueCertificateBody, CancellationToken)

[HttpPost("students/{id:guid}/certificate")]
[Authorize(Policy = "ACADEMY_PROGRESS_CERTIFICATE_PRINT")]
public Task<IActionResult> IssueCertificate(Guid id, IssueCertificateBody body, CancellationToken cancellationToken)

Parameters

id Guid
body IssueCertificateBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

SaveClassLog(Guid, SaveClassLogBody, CancellationToken)

[HttpPost("students/{id:guid}/class-logs")]
[Authorize(Policy = "ACADEMY_PROGRESS_VIEW")]
public Task<IActionResult> SaveClassLog(Guid id, SaveClassLogBody body, CancellationToken cancellationToken)

Parameters

id Guid
body SaveClassLogBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

UpdateStudentSkill(Guid, Guid, UpdateStudentSkillBody, CancellationToken)

[HttpPut("students/{id:guid}/skills/{skillId:guid}")]
[Authorize(Policy = "ACADEMY_LEVELS_SKILLS_UPDATE")]
public Task<IActionResult> UpdateStudentSkill(Guid id, Guid skillId, UpdateStudentSkillBody body, CancellationToken cancellationToken)

Parameters

id Guid
skillId Guid
body UpdateStudentSkillBody
cancellationToken CancellationToken

Returns

Task<IActionResult>