public static User ToEntity(this IncomingUserDTO user) { if (user == null) { return(null); } // create temporary liked ads list List <Vehicle> likedAds = new List <Vehicle>(); if (user.LikedAds != null) { foreach (int id in user.LikedAds) { likedAds.Add(new Vehicle { Id = id }); } } User u = new() { Username = user.Username, Phone = user.Phone, Email = user.Email, HashedPassword = Utilities.EncryptPassword(user.Password, user.Username), LikedAds = likedAds }; return(u); }
public async Task <IActionResult> PutUser([Required] string username, [FromBody, Required] IncomingUserDTO value) { var user = HttpContext.User; if (value == null || username == null || value.Username != username || (!user.IsInRole(UserRole.Admin) && user.Identity.Name != username)) { return(BadRequest()); } return(await _services.UpdateUser(username, value) ? Ok() : NotFound()); }
public async Task <ActionResult <IncomingUserDTO> > PostUser([FromBody, Required] IncomingUserDTO value) { if (value == null) { return(BadRequest()); } return(await _services.AddUser(value) == null? Conflict() : StatusCode(201, value)); }
public Task <string> AddUser(IncomingUserDTO user) { return(_repository.AddUser(user.ToEntity())); }
public Task <bool> UpdateUser(string username, IncomingUserDTO user) { return(_repository.UpdateUser(username, user.ToEntity())); }