package id.iptek.utms.auth.domain; import id.iptek.utms.core.domain.BaseEntity; import id.iptek.utms.core.domain.TenantEntityListener; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.Filter; import java.util.HashSet; import java.util.Set; import java.util.UUID; @Getter @Setter @Entity @EntityListeners(TenantEntityListener.class) @Filter(name = "tenantFilter", condition = "tenant_id = :tenantId") @Table(name = "sec_permissions", uniqueConstraints = { @UniqueConstraint(name = "sec_uk_permissions_tenant_code", columnNames = {"tenant_id", "code"}) }) public class Permission extends BaseEntity { @Id @GeneratedValue private UUID id; @Column(nullable = false) private String code; @Column(nullable = false) private String name; @ManyToMany(mappedBy = "permissions") private Set roles = new HashSet<>(); }