blob: fe9e58909196caf717d34faa0db965507a9d7680 [file] [log] [blame]
Matthias Andreas Benkardec7f8052020-01-24 11:08:34 +01001package eu.mulk.mulkcms2.cms.users;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01002
Matthias Andreas Benkardec7f8052020-01-24 11:08:34 +01003import eu.mulk.mulkcms2.cms.comments.CommentRevision;
4import eu.mulk.mulkcms2.cms.pages.ArticleRevision;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01005import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
Matthias Andreas Benkarde3bc3ee2023-08-06 16:21:11 +02006import jakarta.persistence.Column;
7import jakarta.persistence.Entity;
8import jakarta.persistence.FetchType;
9import jakarta.persistence.GeneratedValue;
10import jakarta.persistence.GenerationType;
11import jakarta.persistence.Id;
12import jakarta.persistence.OneToMany;
13import jakarta.persistence.Table;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010014import java.util.Collection;
Matthias Andreas Benkard1e7674c2020-04-18 20:28:51 +020015import javax.annotation.CheckForNull;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010016
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +010017@Entity(name = "CmsUser")
Matthias Andreas Benkard57c9a8a2020-01-24 19:09:38 +010018@Table(name = "users", schema = "public")
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010019public class User extends PanacheEntityBase {
20
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010021 @Id
Matthias Andreas Benkard0246c3e2020-01-27 05:39:08 +010022 @GeneratedValue(strategy = GenerationType.IDENTITY)
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010023 @Column(name = "id", nullable = false)
Matthias Andreas Benkard0246c3e2020-01-27 05:39:08 +010024 public Integer id;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010025
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010026 @Column(name = "name", nullable = true, length = -1)
Matthias Andreas Benkard1e7674c2020-04-18 20:28:51 +020027 @CheckForNull
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010028 public String name;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010029
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010030 @Column(name = "status", nullable = false, length = -1)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010031 public String status;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010032
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010033 @Column(name = "email", nullable = true, length = -1)
Matthias Andreas Benkard1e7674c2020-04-18 20:28:51 +020034 @CheckForNull
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010035 public String email;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010036
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010037 @Column(name = "website", nullable = true, length = -1)
Matthias Andreas Benkard1e7674c2020-04-18 20:28:51 +020038 @CheckForNull
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010039 public String website;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010040
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010041 @OneToMany(mappedBy = "authors", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010042 public Collection<ArticleRevision> articleRevisions;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010043
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010044 @OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010045 public Collection<CommentRevision> commentRevisions;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010046
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010047 @OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010048 public Collection<LoginCertificate> loginCertificates;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010049
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010050 @OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010051 public Collection<OpenId> openids;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010052
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010053 @OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010054 public Collection<Password> passwords;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010055
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010056 @OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010057 public Collection<UserPermission> userPermissions;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010058
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010059 @OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010060 public Collection<UserSetting> userSettings;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010061}