package net.gepafin.tendermanagement.entities; import com.fasterxml.jackson.annotation.JsonValue; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import lombok.Data; @Entity @Table(name = "system_email_template") @Data public class SystemEmailTemplatesEntity extends BaseEntity { @Column(name = "TEMPLATE_NAME") private String templateName; @Column(name = "TYPE") private String type; @Column(name = "HTML_CONTENT", columnDefinition = "TEXT") private String htmlContent; @Column(name = "SUBJECT") private String subject; @Column(name = "JSON", columnDefinition = "TEXT") private String json; @Column(name = "SYSTEM") private Boolean system; @Column(name ="IS_DELETED", nullable = false) private Boolean isDeleted = false; @Column(name = "email_scenario") private String emailScenario; @ManyToOne @JoinColumn(name = "HUB_ID") private HubEntity hubEntity; public enum SystemEmailTemplatesEntityTypeEnum { APPLICATION_SUBMISSION_TO_USER_AND_COMPANY("APPLICATION_SUBMISSION_TO_USER_AND_COMPANY"), APPLICATION_SUBMISSION_TO_GEPAFIN("APPLICATION_SUBMISSION_TO_GEPAFIN"), DOCUMENTATION_INTEGRATION_REQUEST("DOCUMENTATION_INTEGRATION_REQUEST"), INADMISSIBILITY_NOTIFICATION_DUE_TO_FAILURE("INADMISSIBILITY_NOTIFICATION_DUE_TO_FAILURE"), ADMISSIBILITY_NOTIFICATION("ADMISSIBILITY_NOTIFICATION"), AMENDMENT_REMINDER("AMENDMENT_REMINDER"), USER_ONBOARDING("USER_ONBOARDING"), PASSWORD_RESET("PASSWORD_RESET"), INADMISSIBILITY_TEMPLATE("INADMISSIBILITY_NOTIFICATION"); private String value; SystemEmailTemplatesEntityTypeEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } } }