fix ChangeUserInformation
continuous-integration/drone/push Build is passing Details

shared-tactic
maxime.batista 1 year ago
parent 6ae765733a
commit b3ba44f127

@ -120,7 +120,7 @@ public class UsersAdminController(IUserService service, ILogger<UsersAdminContro
} }
catch (ServiceException e) catch (ServiceException e)
{ {
return BadRequest(e.Failures); return BadRequest(e.FailuresMessages());
} }
} }
} }

@ -54,16 +54,23 @@ public class UsersController(IUserService users, ITeamService teams, ITacticServ
{ {
var userId = accessor.CurrentUserId(HttpContext); var userId = accessor.CurrentUserId(HttpContext);
var currentUser = (await users.GetUser(userId))!; var currentUser = (await users.GetUser(userId))!;
await users.UpdateUser(
new User( try
userId, {
req.Name ?? currentUser.Name, await users.UpdateUser(
req.Email ?? currentUser.Email, new User(
req.ProfilePicture ?? currentUser.ProfilePicture, userId,
currentUser.IsAdmin req.Name ?? currentUser.Name,
), req.Email ?? currentUser.Email,
req.Password req.ProfilePicture ?? currentUser.ProfilePicture,
); currentUser.IsAdmin
),
req.Password
);
} catch (ServiceException e)
{
return BadRequest(e.FailuresMessages());
}
return Ok(); return Ok();

@ -10,4 +10,11 @@ public class ServiceException : Exception
{ {
Failures = new List<Failure>(failures); Failures = new List<Failure>(failures);
} }
public Dictionary<string, string[]> FailuresMessages()
{
return Failures.GroupBy(f => f.Name)
.Select(f => (f.Key, f.Select(f => f.Message).ToArray()))
.ToDictionary();
}
} }
Loading…
Cancel
Save