blob: 7e9979120359f5d94cede5afba66db3ed2a6b439 [file] [log] [blame]
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +01001package eu.mulk.mulkcms2.benki.users;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +01002
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +01003import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +01004import java.math.BigInteger;
5import javax.persistence.Column;
6import javax.persistence.Entity;
Matthias Andreas Benkardaa754802020-01-24 11:55:26 +01007import javax.persistence.FetchType;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +01008import javax.persistence.Id;
9import javax.persistence.IdClass;
10import javax.persistence.JoinColumn;
11import javax.persistence.JoinColumns;
12import javax.persistence.ManyToOne;
13import javax.persistence.Table;
14
15@Entity
Matthias Andreas Benkard57c9a8a2020-01-24 19:09:38 +010016@Table(name = "user_rsa_keys", schema = "benki")
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010017@IdClass(UserRsaKeyPK.class)
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +010018public class UserRsaKey extends PanacheEntityBase {
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010019
20 @Id
21 @Column(name = "user", nullable = false)
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +010022 public int userId;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010023
24 @Id
25 @Column(name = "modulus", nullable = false, precision = 0)
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +010026 public BigInteger modulus;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010027
28 @Id
29 @Column(name = "exponent", nullable = false, precision = 0)
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +010030 public BigInteger exponent;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010031
Matthias Andreas Benkardaa754802020-01-24 11:55:26 +010032 @ManyToOne(fetch = FetchType.LAZY)
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010033 @JoinColumn(name = "user", referencedColumnName = "id", nullable = false)
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +010034 public User user;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010035
Matthias Andreas Benkardaa754802020-01-24 11:55:26 +010036 @ManyToOne(fetch = FetchType.LAZY)
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010037 @JoinColumns({
Matthias Andreas Benkardd9b95882020-01-24 11:42:49 +010038 @JoinColumn(
39 name = "modulus",
40 referencedColumnName = "modulus",
41 nullable = false,
42 insertable = false,
43 updatable = false),
44 @JoinColumn(
45 name = "exponent",
46 referencedColumnName = "exponent",
47 nullable = false,
48 insertable = false,
49 updatable = false)
Matthias Andreas Benkard35cb1592020-01-24 11:05:20 +010050 })
51 public RsaKey rsaKey;
Matthias Andreas Benkard734879e2020-01-24 10:47:37 +010052}