Skip to content
Snippets Groups Projects
Commit 3f63dcc4 authored by esantangelo's avatar esantangelo
Browse files

add endpoint GetAdmins

parent 9db36006
No related branches found
No related tags found
1 merge request!26Develop
Pipeline #10342 passed
......@@ -332,6 +332,22 @@ namespace Tsi1.Api.Controllers
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.UdelarAdmin)]
[HttpGet("GetAdmins")]
public async Task<IActionResult> GetAdmins()
{
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
var userType = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Role).Value;
var result = await _userService.GetAdmins(tenantId, userType);
if (result.HasError)
{
return BadRequest(result.Message);
}
return Ok(result.Data);
}
[Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor)]
[HttpGet("GetById/{userId}")]
......
......@@ -33,5 +33,6 @@ namespace Tsi1.BusinessLayer.Interfaces
Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int tenantId);
Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int tenantId);
Task<ServiceResult<List<UserPreviewDto>>> GetAdmins(int tenantId, string userType);
}
}
......@@ -332,5 +332,31 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
public async Task<ServiceResult<List<UserPreviewDto>>> GetAdmins(int tenantId, string userType)
{
var result = new ServiceResult<List<UserPreviewDto>>();
var users = new List<User>();
if (userType == UserTypes.UdelarAdmin)
{
users = await _context.Users
.Where(x => x.UserType.Name == UserTypes.UdelarAdmin || x.UserType.Name == UserTypes.FacultyAdmin)
.ToListAsync();
}
else
{
users = await _context.Users
.Where(x => x.UserType.Name == UserTypes.FacultyAdmin && 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