package id.iptek.utms.preference.domain; import id.iptek.utms.core.domain.BaseEntity; import id.iptek.utms.core.domain.TenantEntityListener; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EntityListeners; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.persistence.UniqueConstraint; import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.Filter; import java.util.UUID; @Getter @Setter @Entity @EntityListeners(TenantEntityListener.class) @Filter(name = "tenantFilter", condition = "tenant_id = :tenantId") @Table(name = "sec_user_ui_preferences", uniqueConstraints = { @UniqueConstraint(name = "sec_uk_user_ui_preferences", columnNames = {"tenant_id", "user_id", "preference_key"}) }) public class UserUiPreference extends BaseEntity { @Id @GeneratedValue private UUID id; @Column(name = "user_id", nullable = false, updatable = false) private UUID userId; @Column(name = "preference_key", nullable = false, length = 255) private String preferenceKey; @Column(name = "value_json", nullable = false, columnDefinition = "text") private String valueJson; }