Security implementation
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package net.gepafin.tendermanagement.model;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BaseBean {
|
||||
|
||||
private Long id;
|
||||
|
||||
private LocalDateTime createdDate;
|
||||
|
||||
private LocalDateTime updatedDate;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package net.gepafin.tendermanagement.model.request;
|
||||
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoginReq {
|
||||
@NotBlank(message = "{email.not.blank}")
|
||||
@Email(message = "{email.invalid}")
|
||||
private String email;
|
||||
@NotEmpty
|
||||
private String password;
|
||||
private Boolean rememberMe;
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.model.request;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
@@ -14,19 +15,20 @@ import java.time.LocalDateTime;
|
||||
@Setter
|
||||
public class UserReq {
|
||||
|
||||
|
||||
private String password;
|
||||
|
||||
private String confPassword;
|
||||
|
||||
@NotBlank(message = "{email.not.blank}")
|
||||
@Email(message = "{email.invalid}")
|
||||
private String email;
|
||||
@NotEmpty
|
||||
private String password;
|
||||
@NotEmpty
|
||||
private String confPassword;
|
||||
|
||||
private String firstName;
|
||||
|
||||
private String lastName;
|
||||
|
||||
private String phoneNumber;
|
||||
|
||||
@NotEmpty
|
||||
private Long roleId;
|
||||
|
||||
private String organization;
|
||||
@@ -39,6 +41,4 @@ public class UserReq {
|
||||
|
||||
private String status;
|
||||
|
||||
private LocalDateTime lastLogin;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package net.gepafin.tendermanagement.model.response;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class LoginResponse {
|
||||
private Long id;
|
||||
|
||||
private String email;
|
||||
|
||||
private String firstName;
|
||||
|
||||
private String lastName;
|
||||
|
||||
private RoleResponseBean role;
|
||||
|
||||
private String phoneNumber;
|
||||
|
||||
private String organization;
|
||||
|
||||
private String address;
|
||||
|
||||
private String city;
|
||||
|
||||
private String country;
|
||||
|
||||
private String status;
|
||||
|
||||
private LocalDateTime lastLogin;
|
||||
|
||||
private LocalDateTime createdDate;
|
||||
|
||||
private LocalDateTime updatedDate;
|
||||
}
|
||||
@@ -2,14 +2,14 @@ package net.gepafin.tendermanagement.model.response;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.gepafin.tendermanagement.model.BaseBean;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class RegionResponseBean {
|
||||
private Long id;
|
||||
public class RegionResponseBean extends BaseBean {
|
||||
private String regionName;
|
||||
private String description;
|
||||
private String country;
|
||||
@@ -23,6 +23,4 @@ public class RegionResponseBean {
|
||||
private BigDecimal educationLevel;
|
||||
private BigDecimal healthcareAccess;
|
||||
private BigDecimal environmentalScore;
|
||||
private LocalDateTime createdDate;
|
||||
private LocalDateTime updatedDate;
|
||||
}
|
||||
|
||||
@@ -4,16 +4,14 @@ import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.gepafin.tendermanagement.entities.RegionEntity;
|
||||
import net.gepafin.tendermanagement.model.BaseBean;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class RoleResponseBean {
|
||||
private Long id;
|
||||
public class RoleResponseBean extends BaseBean {
|
||||
private String roleName;
|
||||
private String description;
|
||||
private LocalDateTime createdDate;
|
||||
private LocalDateTime updatedDate;
|
||||
private String permissions;
|
||||
private RegionEntity region;
|
||||
private RegionResponseBean region;
|
||||
}
|
||||
|
||||
@@ -6,22 +6,23 @@ import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.gepafin.tendermanagement.entities.RoleEntity;
|
||||
import net.gepafin.tendermanagement.model.BaseBean;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class UserResponseBean {
|
||||
private Long id;
|
||||
public class UserResponseBean extends BaseBean {
|
||||
|
||||
private String email;
|
||||
|
||||
private String firstName;
|
||||
|
||||
private String lastName;
|
||||
|
||||
private String phoneNumber;
|
||||
private RoleResponseBean role;
|
||||
|
||||
private RoleEntity role;
|
||||
private String phoneNumber;
|
||||
|
||||
private String organization;
|
||||
|
||||
@@ -35,7 +36,4 @@ public class UserResponseBean {
|
||||
|
||||
private LocalDateTime lastLogin;
|
||||
|
||||
private LocalDateTime createdDate;
|
||||
|
||||
private LocalDateTime updatedDate;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package net.gepafin.tendermanagement.model.util;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.gepafin.tendermanagement.model.response.LoginResponse;
|
||||
import net.gepafin.tendermanagement.model.response.UserResponseBean;
|
||||
|
||||
/**
|
||||
* JWTToken
|
||||
*/
|
||||
@Data
|
||||
public class JWTToken {
|
||||
@JsonProperty("token")
|
||||
private String token;
|
||||
|
||||
@JsonProperty("user")
|
||||
private LoginResponse loginResponse;
|
||||
public JWTToken(String token, LoginResponse loginResponse) {
|
||||
this.token = token;
|
||||
this.loginResponse = loginResponse;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user