Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/entities/UserEntity.java
2025-06-03 19:23:46 +05:30

82 lines
2.2 KiB
Java

package net.gepafin.tendermanagement.entities;
import jakarta.persistence.*;
import jakarta.validation.constraints.Email;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.Where;
import net.gepafin.tendermanagement.model.response.EmailSendResponse;
import java.time.LocalDateTime;
import java.util.List;
@Entity
@Table(name = "GEPAFIN_USER")
@Getter
@Setter
@Where(clause = "is_deleted = false")
public class UserEntity extends BaseEntity {
@Column(name = "PASSWORD", columnDefinition = "TEXT",nullable = true)
@JsonIgnore
private String password;
@Email
@Column(name = "EMAIL", length = 255, unique = true, nullable = false)
private String email;
@ManyToOne
@JoinColumn(name = "ROLE_ID")
@JsonIgnore
private RoleEntity roleEntity;
@Column(name = "LAST_LOGIN")
private LocalDateTime lastLogin;
@Column(name = "STATUS", length = 30, nullable = true)
private String status;
@Column(name = "FIRST_NAME", length = 50, nullable = true)
private String firstName;
@Column(name = "LAST_NAME", length = 50, nullable = true)
private String lastName;
@Column(name = "PHONE_NUMBER", length = 15, nullable = true)
private String phoneNumber;
@Column(name = "ORGANIZATION", length = 255, nullable = true)
private String organization;
@Column(name = "ADDRESS", length = 255, nullable = true)
private String address;
@Column(name = "CITY", length = 50, nullable = true)
private String city;
@Column(name = "COUNTRY", length = 50, nullable = true)
private String country;
@Column(name = "RESET_PASSWORD_TOKEN", length = 255, nullable = true)
private String resetPasswordToken;
@Column(name = "DATE_OF_BIRTH")
private LocalDateTime dateOfBirth;
@OneToOne
@JoinColumn(name = "BENEFICIARY_ID")
private BeneficiaryEntity beneficiary;
@ManyToOne
@JoinColumn(name = "HUB_ID")
private HubEntity hub;
@Convert(converter = EmailSendResponseConverter.class)
@Column(name = "EMAIL_SEND_RESPONSE", columnDefinition = "TEXT")
private List<EmailSendResponse> emailSendResponse;
}