public Tuple <bool, string> Auth_EditUserModelValidation(Auth_EditUserModel editUser) { Tuple <bool, string> status = Tuple.Create(true, "Ok"); if (isNotEmpty(editUser.firstname)) { if (AtleastOneSymbol(editUser.firstname) || editUser.firstname.Any(char.IsDigit)) { return(Tuple.Create(false, "Your name should not contain any symbols or numbers")); } } if (isNotEmpty(editUser.lastname)) { if (!AtleastOneSymbol(editUser.lastname) || editUser.lastname.Any(char.IsDigit)) { return(Tuple.Create(false, "Your name should not contain any symbols or numbers")); } } if (isNotEmpty(editUser.email)) { if (!IsValidEmail(editUser.email)) { return(Tuple.Create(false, "Email is not a valid email.")); } } return(status); }
public static Auth_RegisterUserModel EditUserModel_To_RegisterUserModel(Auth_EditUserModel auth_EditProfileModel) { Auth_RegisterUserModel auth_RegisterModel = new Auth_RegisterUserModel(); auth_RegisterModel.username = auth_EditProfileModel.username; auth_RegisterModel.email = auth_EditProfileModel.email; auth_RegisterModel.firstname = auth_EditProfileModel.firstname; auth_RegisterModel.lastname = auth_EditProfileModel.lastname; return(auth_RegisterModel); }
public static Auth_UserModel EditUserModel_To_UserModel(Auth_EditUserModel editModel) { Auth_UserModel auth_UserModel = new Auth_UserModel(); auth_UserModel.username = editModel.username; auth_UserModel.email = editModel.email; auth_UserModel.firstname = editModel.firstname; auth_UserModel.lastname = editModel.lastname; auth_UserModel.googleSubjectID = ""; auth_UserModel.isAdmin = false; return(auth_UserModel); }
public Auth_UserModel EditUser(Auth_EditUserModel editUser, int userID) { Auth_UserModel beforeUpdateUserData = authQuery.GetUsersData(userID); Auth_UserModel user = UserModelConverter.EditUserModel_To_UserModel(editUser); // this fields are not allwed to be changed here. user.userID = beforeUpdateUserData.userID; user.googleSubjectID = beforeUpdateUserData.googleSubjectID; user.isAdmin = beforeUpdateUserData.isAdmin; // if they fields are empty, populate with old data. if (string.IsNullOrEmpty(user.username)) { user.username = beforeUpdateUserData.username; } if (string.IsNullOrEmpty(user.firstname)) { user.firstname = beforeUpdateUserData.firstname; } if (string.IsNullOrEmpty(user.lastname)) { user.lastname = beforeUpdateUserData.lastname; } if (string.IsNullOrEmpty(user.email)) { user.email = beforeUpdateUserData.email; } if (string.IsNullOrEmpty(user.password)) { user.password = beforeUpdateUserData.password; } else { user.password = Hash.HashPassword(user.password); } // Database interaction authQuery.EditUser(user); // Return the user return(user); }
public IActionResult EditUser([FromBody] Auth_EditUserModel editUser) { Console.WriteLine("api/auth/edituser"); // Authenticate int userID = Authenticate(); if (userID == -1) { return(StatusCode(405, "Authorization token is not valid.")); } // Check if user already exist if (_authAction.DoesEmailExist(editUser.email)) { return(StatusCode(405, "Email already exist.")); } if (_authAction.DoesUsernameExist(editUser.username)) { return(StatusCode(405, "Username already exist.")); } // Validate user inputed data Tuple <bool, string> validation = _inputValidations.Auth_EditUserModelValidation(editUser); if (!validation.Item1) { return(StatusCode(405, validation.Item2)); } _authAction.EditUser(editUser, userID); if (UpdateToken(userID)) { return(Ok("Successfully edited your account!")); } else { return(StatusCode(500, "something went wrong")); } }