Exemplo n.º 1
0
        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));
        }
Exemplo n.º 4
0
 public Task <string> AddUser(IncomingUserDTO user)
 {
     return(_repository.AddUser(user.ToEntity()));
 }
Exemplo n.º 5
0
 public Task <bool> UpdateUser(string username, IncomingUserDTO user)
 {
     return(_repository.UpdateUser(username, user.ToEntity()));
 }