RegistrationDTO.java
package org.petify.backend.dto;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Past;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDate;
@Getter
@Setter
public class RegistrationDTO {
private String username; // generated based on email or phone
@NotBlank(message = "First name is required")
private String firstName;
@NotBlank(message = "Last name is required")
private String lastName;
@Past(message = "Birth date must be in the past")
private LocalDate birthDate;
@NotBlank(message = "Gender is required")
private String gender;
@Pattern(regexp = "^\\+?[0-9]{9,15}$", message = "Invalid phone number format")
private String phoneNumber;
@Email(message = "Invalid email format")
private String email;
@NotBlank(message = "Password is required")
private String password;
private Long shelterId;
private boolean applyAsVolunteer;
private boolean createShelter;
public RegistrationDTO() {
super();
}
public RegistrationDTO(String firstName, String lastName, LocalDate birthDate,
String gender, String phoneNumber, String email, String password) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.birthDate = birthDate;
this.gender = gender;
this.phoneNumber = phoneNumber;
this.email = email;
this.password = password;
}
@Override
public String toString() {
return "Registration info: firstName: " + this.firstName
+ ", lastName: " + this.lastName
+ ", email: " + this.email
+ ", phoneNumber: " + this.phoneNumber;
}
}