blob: 1ab5e8c4e65fb8c53ee7cfcefc67d11c8ce4d1be [file] [log] [blame]
Matthias Andreas Benkard378b93e2020-01-19 16:53:10 +01001package eu.mulk.mulkcms2.users;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01002
3import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01004import javax.persistence.Column;
5import javax.persistence.Entity;
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +01006import javax.persistence.FetchType;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01007import javax.persistence.Id;
8import javax.persistence.IdClass;
9import javax.persistence.JoinColumn;
10import javax.persistence.ManyToOne;
11import javax.persistence.Table;
12
13@Entity
14@Table(name = "user_permissions", schema = "public", catalog = "mulkcms")
15@IdClass(UserPermissionPK.class)
16public class UserPermission extends PanacheEntityBase {
17
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010018 @Id
19 @Column(name = "user", nullable = false)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010020 public int userId;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010021
22 @Id
23 @Column(name = "permission", nullable = false, length = -1)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010024 public String permission;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010025
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010026 @Column(name = "status", nullable = true)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010027 public Boolean status;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010028
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010029 @ManyToOne(fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010030 @JoinColumn(
31 name = "user",
32 referencedColumnName = "id",
33 nullable = false,
34 insertable = false,
35 updatable = false)
36 public User user;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010037}