Profile image works, editing profile works, now uses first/last name

This commit is contained in:
augmentedpotato
2026-04-14 15:02:57 -06:00
parent fbcab5d097
commit 917d318566
7 changed files with 212 additions and 53 deletions

View File

@@ -70,7 +70,8 @@ public class AuthController {
public ResponseEntity<?> register(@Valid @RequestBody RegisterRequest request) {
String username = trimToNull(request.getUsername());
String email = trimToNull(request.getEmail());
NameParts nameParts = splitFullName(request.getFullName());
String firstName = trimToNull(request.getFirstName());
String lastName = trimToNull(request.getLastName());
String phone = normalizePhone(request.getPhone());
if (userRepository.findByUsername(username).isPresent()) {
@@ -98,9 +99,9 @@ public class AuthController {
user.setUsername(username);
user.setPassword(passwordEncoder.encode(request.getPassword()));
user.setEmail(email);
user.setFirstName(nameParts.firstName());
user.setLastName(nameParts.lastName());
user.setFullName(nameParts.fullName());
user.setFirstName(firstName);
user.setLastName(lastName);
user.setFullName(joinFullName(firstName, lastName));
user.setPhone(phone);
user.setRole(User.Role.CUSTOMER);
user.setActive(true);
@@ -203,11 +204,16 @@ public class AuthController {
user.setEmail(email);
}
if (request.getFullName() != null) {
NameParts nameParts = splitFullName(request.getFullName());
user.setFirstName(nameParts.firstName());
user.setLastName(nameParts.lastName());
user.setFullName(nameParts.fullName());
String firstName = trimToNull(request.getFirstName());
if (firstName != null) {
user.setFirstName(firstName);
}
String lastName = trimToNull(request.getLastName());
if (lastName != null) {
user.setLastName(lastName);
}
if (firstName != null || lastName != null) {
user.setFullName(joinFullName(user.getFirstName(), user.getLastName()));
}
if (request.getPhone() != null) {
@@ -247,6 +253,8 @@ public class AuthController {
return new UserInfoResponse(
user.getId(),
user.getUsername(),
user.getFirstName(),
user.getLastName(),
user.getEmail(),
fullName,
user.getPhone(),

View File

@@ -11,8 +11,11 @@ public class ProfileUpdateRequest {
@Email(message = "Email must be valid")
private String email;
@Size(max = 100, message = "Full name must not exceed 100 characters")
private String fullName;
@Size(max = 50, message = "First name must not exceed 50 characters")
private String firstName;
@Size(max = 50, message = "Last name must not exceed 50 characters")
private String lastName;
@Size(max = 20, message = "Phone must not exceed 20 characters")
private String phone;
@@ -36,12 +39,20 @@ public class ProfileUpdateRequest {
this.email = email;
}
public String getFullName() {
return fullName;
public String getFirstName() {
return firstName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getPhone() {
@@ -67,14 +78,15 @@ public class ProfileUpdateRequest {
ProfileUpdateRequest that = (ProfileUpdateRequest) o;
return Objects.equals(username, that.username) &&
Objects.equals(email, that.email) &&
Objects.equals(fullName, that.fullName) &&
Objects.equals(firstName, that.firstName) &&
Objects.equals(lastName, that.lastName) &&
Objects.equals(phone, that.phone) &&
Objects.equals(password, that.password);
}
@Override
public int hashCode() {
return Objects.hash(username, email, fullName, phone, password);
return Objects.hash(username, email, firstName, lastName, phone, password);
}
@Override
@@ -82,7 +94,8 @@ public class ProfileUpdateRequest {
return "ProfileUpdateRequest{" +
"username='" + username + '\'' +
", email='" + email + '\'' +
", fullName='" + fullName + '\'' +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", phone='" + phone + '\'' +
", password='" + password + '\'' +
'}';

View File

@@ -18,9 +18,13 @@ public class RegisterRequest {
@Email(message = "Email must be valid")
private String email;
@NotBlank(message = "Full name is required")
@Size(max = 100, message = "Full name must not exceed 100 characters")
private String fullName;
@NotBlank(message = "First name is required")
@Size(max = 50, message = "First name must not exceed 50 characters")
private String firstName;
@NotBlank(message = "Last name is required")
@Size(max = 50, message = "Last name must not exceed 50 characters")
private String lastName;
@NotBlank(message = "Phone is required")
@Size(max = 20, message = "Phone must not exceed 20 characters")
@@ -50,12 +54,20 @@ public class RegisterRequest {
this.email = email;
}
public String getFullName() {
return fullName;
public String getFirstName() {
return firstName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getPhone() {
@@ -74,13 +86,14 @@ public class RegisterRequest {
return Objects.equals(username, that.username) &&
Objects.equals(password, that.password) &&
Objects.equals(email, that.email) &&
Objects.equals(fullName, that.fullName) &&
Objects.equals(firstName, that.firstName) &&
Objects.equals(lastName, that.lastName) &&
Objects.equals(phone, that.phone);
}
@Override
public int hashCode() {
return Objects.hash(username, password, email, fullName, phone);
return Objects.hash(username, password, email, firstName, lastName, phone);
}
@Override
@@ -89,7 +102,8 @@ public class RegisterRequest {
"username='" + username + '\'' +
", password='" + password + '\'' +
", email='" + email + '\'' +
", fullName='" + fullName + '\'' +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", phone='" + phone + '\'' +
'}';
}

View File

@@ -5,6 +5,8 @@ import java.util.Objects;
public class UserInfoResponse {
private Long id;
private String username;
private String firstName;
private String lastName;
private String email;
private String fullName;
private String phone;
@@ -17,9 +19,11 @@ public class UserInfoResponse {
public UserInfoResponse() {
}
public UserInfoResponse(Long id, String username, String email, String fullName, String phone, String avatarUrl, String role, Long customerId, Long storeId, String storeName) {
public UserInfoResponse(Long id, String username, String firstName, String lastName, String email, String fullName, String phone, String avatarUrl, String role, Long customerId, Long storeId, String storeName) {
this.id = id;
this.username = username;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.fullName = fullName;
this.phone = phone;
@@ -46,6 +50,22 @@ public class UserInfoResponse {
this.username = username;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}