Skip to content
Snippets Groups Projects
Commit 58fc93bf authored by esantangelo's avatar esantangelo
Browse files

add endpoints GetStudents and GetProfessors

parent c0e38239
No related branches found
No related tags found
1 merge request!20merge from develop
Pipeline #10296 passed
......@@ -300,6 +300,39 @@ namespace Tsi1.Api.Controllers
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.FacultyAdmin)]
[HttpGet("GetStudents")]
public async Task<IActionResult> GetStudents()
{
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
var result = await _userService.GetStudents(tenantId);
if (result.HasError)
{
return BadRequest(result.Message);
}
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.FacultyAdmin)]
[HttpGet("GetProfessors")]
public async Task<IActionResult> GetProfessors()
{
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
var result = await _userService.GetProfessors(tenantId);
if (result.HasError)
{
return BadRequest(result.Message);
}
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor)]
[HttpGet("GetById/{userId}")]
public async Task<IActionResult> GetById(int userId)
......
......@@ -29,5 +29,9 @@ namespace Tsi1.BusinessLayer.Interfaces
Task<ServiceResult<bool>> Delete(int userId);
Task<ServiceResult<UserTypeDto>> GetUserType(int userId);
Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int tenantId);
Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int tenantId);
}
}
......@@ -302,5 +302,35 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
public async Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int tenantId)
{
var result = new ServiceResult<List<UserPreviewDto>>();
var users = await _context.Users
.Where(x => x.UserType.Name == UserTypes.Student && x.TenantId == tenantId)
.ToListAsync();
var usersDto = _mapper.Map<List<UserPreviewDto>>(users);
result.Data = usersDto;
return result;
}
public async Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int tenantId)
{
var result = new ServiceResult<List<UserPreviewDto>>();
var users = await _context.Users
.Where(x => x.UserType.Name == UserTypes.Professor && x.TenantId == tenantId)
.ToListAsync();
var usersDto = _mapper.Map<List<UserPreviewDto>>(users);
result.Data = usersDto;
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