add logging in admin controllers
continuous-integration/drone/push Build is failing Details

consoleTests
maxime 1 year ago
parent a98f15d103
commit d46b15d95c

@ -5,8 +5,13 @@ using Services;
namespace API.Controllers.Admin; namespace API.Controllers.Admin;
/// <summary>
/// WARNING: This controller does not requires the requester to be authenticated, see https://codefirst.iut.uca.fr/git/IQBall/Server-Panel/issues/2
/// </summary>
/// <param name="service"></param>
[ApiController] [ApiController]
public class TeamsAdminController(ITeamService service) : ControllerBase public class TeamsAdminController(ITeamService service, ILogger<TeamsAdminController> logger) : ControllerBase
{ {
public record CountTeamsResponse(int Value); public record CountTeamsResponse(int Value);
@ -14,15 +19,10 @@ public class TeamsAdminController(ITeamService service) : ControllerBase
[HttpGet("/admin/teams/count")] [HttpGet("/admin/teams/count")]
public async Task<CountTeamsResponse> CountTeams() public async Task<CountTeamsResponse> CountTeams()
{ {
logger.LogTrace("Counting teams");
return new CountTeamsResponse(await service.CountTotalTeams()); return new CountTeamsResponse(await service.CountTotalTeams());
} }
// [HttpGet("/admin/users/count")]
// public async Task<CountUsersResponse> CountUsers()
// {
// return new CountUsersResponse(await service.UsersCount());
// }
[HttpGet("/admin/teams")] [HttpGet("/admin/teams")]
public Task<IEnumerable<Team>> ListTeams( public Task<IEnumerable<Team>> ListTeams(
[Range(0, int.MaxValue, ErrorMessage = "Only positive number allowed")] [Range(0, int.MaxValue, ErrorMessage = "Only positive number allowed")]
@ -31,6 +31,7 @@ public class TeamsAdminController(ITeamService service) : ControllerBase
int n int n
) )
{ {
logger.LogTrace("Listing teams");
return service.ListTeams(start, n); return service.ListTeams(start, n);
} }
@ -39,6 +40,7 @@ public class TeamsAdminController(ITeamService service) : ControllerBase
[HttpPost("/admin/teams")] [HttpPost("/admin/teams")]
public async Task<IActionResult> AddTeam([FromBody] AddTeamRequest req) public async Task<IActionResult> AddTeam([FromBody] AddTeamRequest req)
{ {
logger.LogTrace("Adding teams");
var team = await service.AddTeam(req.Name, req.Picture, req.FirstColor, req.SecondColor); var team = await service.AddTeam(req.Name, req.Picture, req.FirstColor, req.SecondColor);
return Ok(team); return Ok(team);
@ -49,6 +51,7 @@ public class TeamsAdminController(ITeamService service) : ControllerBase
[HttpPut("/admin/teams/{teamId:int}")] [HttpPut("/admin/teams/{teamId:int}")]
public async Task<IActionResult> UpdateTeam(int teamId, [FromBody] UpdateTeamRequest req) public async Task<IActionResult> UpdateTeam(int teamId, [FromBody] UpdateTeamRequest req)
{ {
logger.LogTrace("Updating teams");
await service.UpdateTeam(new Team(teamId, req.Name, req.Picture, req.MainColor, req.SecondaryColor)); await service.UpdateTeam(new Team(teamId, req.Name, req.Picture, req.MainColor, req.SecondaryColor));
return Ok(); return Ok();
@ -59,6 +62,8 @@ public class TeamsAdminController(ITeamService service) : ControllerBase
[HttpPost("/admin/teams/remove-all")] [HttpPost("/admin/teams/remove-all")]
public async Task<IActionResult> DeleteTeams([FromBody] DeleteTeamsRequest req) public async Task<IActionResult> DeleteTeams([FromBody] DeleteTeamsRequest req)
{ {
logger.LogTrace("Deleting teams");
await service.RemoveTeams(req.Teams); await service.RemoveTeams(req.Teams);
return Ok(); return Ok();
} }

@ -5,8 +5,12 @@ using Services;
namespace API.Controllers.Admin; namespace API.Controllers.Admin;
/// <summary>
/// WARNING: This controller does not requires the requester to be authenticated, see https://codefirst.iut.uca.fr/git/IQBall/Server-Panel/issues/2
/// </summary>
/// <param name="service"></param>
[ApiController] [ApiController]
public class UsersAdminController(IUserService service) : ControllerBase public class UsersAdminController(IUserService service, ILogger<UsersAdminController> logger) : ControllerBase
{ {
public record CountUsersResponse(int Value); public record CountUsersResponse(int Value);
@ -17,20 +21,17 @@ public class UsersAdminController(IUserService service) : ControllerBase
string search string search
) )
{ {
logger.LogTrace("Counting Users");
return new CountUsersResponse(await service.UsersCount(search)); return new CountUsersResponse(await service.UsersCount(search));
} }
[HttpGet("/admin/users/count")] [HttpGet("/admin/users/count")]
public async Task<CountUsersResponse> CountUsers() public async Task<CountUsersResponse> CountUsers()
{ {
logger.LogTrace("Counting Users");
return new CountUsersResponse(await service.UsersCount()); return new CountUsersResponse(await service.UsersCount());
} }
// [HttpGet("/admin/users/count")]
// public async Task<CountUsersResponse> CountUsers()
// {
// return new CountUsersResponse(await service.UsersCount());
// }
[HttpGet("/admin/users")] [HttpGet("/admin/users")]
public async Task<IEnumerable<User>> ListUsers( public async Task<IEnumerable<User>> ListUsers(
@ -42,6 +43,8 @@ public class UsersAdminController(IUserService service) : ControllerBase
string? search string? search
) )
{ {
logger.LogTrace("Listing Users");
var result = await service.ListUsers(start, n, search); var result = await service.ListUsers(start, n, search);
return result; return result;
} }
@ -52,6 +55,8 @@ public class UsersAdminController(IUserService service) : ControllerBase
int id int id
) )
{ {
logger.LogTrace("Getting a specific User ({})", id);
var result = await service.GetUser(id); var result = await service.GetUser(id);
if (result == null) if (result == null)
return NotFound(); return NotFound();
@ -73,6 +78,8 @@ public class UsersAdminController(IUserService service) : ControllerBase
[HttpPost("/admin/users")] [HttpPost("/admin/users")]
public Task<User> AddUser([FromBody] AddUserRequest req) public Task<User> AddUser([FromBody] AddUserRequest req)
{ {
logger.LogTrace("Adding a User");
return service.CreateUser(req.Username, req.Email, req.Password, UsersController.DefaultProfilePicture, return service.CreateUser(req.Username, req.Email, req.Password, UsersController.DefaultProfilePicture,
req.IsAdmin); req.IsAdmin);
} }
@ -82,6 +89,8 @@ public class UsersAdminController(IUserService service) : ControllerBase
[HttpPost("/admin/users/remove-all")] [HttpPost("/admin/users/remove-all")]
public async Task<IActionResult> RemoveUsers([FromBody] RemoveUsersRequest req) public async Task<IActionResult> RemoveUsers([FromBody] RemoveUsersRequest req)
{ {
logger.LogTrace("Removing Users");
await service.RemoveUsers(req.Identifiers); await service.RemoveUsers(req.Identifiers);
return Ok(); return Ok();
} }
@ -103,6 +112,8 @@ public class UsersAdminController(IUserService service) : ControllerBase
{ {
try try
{ {
logger.LogTrace("Updating Users");
await service.UpdateUser(new User(id, req.Username, req.Email, UsersController.DefaultProfilePicture, await service.UpdateUser(new User(id, req.Username, req.Email, UsersController.DefaultProfilePicture,
req.IsAdmin)); req.IsAdmin));
return Ok(); return Ok();

Loading…
Cancel
Save