Skip to content
Snippets Groups Projects
Commit 01e568b3 authored by esantangelo's avatar esantangelo
Browse files

add endpoint /api/Course/GetStudents/{courseId}

parent 90b944e0
No related branches found
No related tags found
No related merge requests found
Pipeline #10613 passed
......@@ -231,7 +231,7 @@ namespace Tsi1.Api.Controllers
return Ok();
}
[Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor + ", " + UserTypes.FacultyAdmin + ", " + UserTypes.UdelarAdmin)]
[HttpGet("GetProfessors/{courseId}")]
public async Task<IActionResult> GetProfessors(int courseId)
{
......@@ -244,6 +244,19 @@ namespace Tsi1.Api.Controllers
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor + ", " + UserTypes.FacultyAdmin + ", " + UserTypes.UdelarAdmin)]
[HttpGet("GetStudents/{courseId}")]
public async Task<IActionResult> GetStudents(int courseId)
{
var result = await _courseService.GetStudents(courseId);
if (result.HasError)
{
return BadRequest(result.Message);
}
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor + ", " + UserTypes.FacultyAdmin)]
[HttpGet("GetById/{courseId}")]
public async Task<IActionResult> GetById(int courseId)
......
......@@ -27,5 +27,6 @@ namespace Tsi1.BusinessLayer.Interfaces
Task<ServiceResult<bool>> RemoveProfessorToCourse(ProfessorCourseDto professorCourseDto);
Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int courseId);
Task<ServiceResult<CourseDetailDto>> GetById(int courseId);
Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int courseId);
}
}
......@@ -427,5 +427,22 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
public async Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int courseId)
{
var result = new ServiceResult<List<UserPreviewDto>>();
var users = await _context.StudentCourses
.Include(x => x.Student)
.ThenInclude(x => x.User)
.Where(x => x.CourseId == courseId)
.Select(x => x.Student.User)
.ToListAsync();
var userDtos = _mapper.Map<List<UserPreviewDto>>(users);
result.Data = userDtos;
return result;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment