blob: 12e19ceabd3ebbfbb93c7fd9793cd984623ad5ad [file] [log] [blame]
margaretha7da23902022-05-02 08:38:45 +02001package de.ids_mannheim.korap.entity;
2
3import java.time.ZonedDateTime;
4
margaretha6e796842023-08-17 15:10:45 +02005import jakarta.persistence.Column;
6import jakarta.persistence.Entity;
7import jakarta.persistence.FetchType;
8import jakarta.persistence.GeneratedValue;
9import jakarta.persistence.GenerationType;
10import jakarta.persistence.Id;
11import jakarta.persistence.JoinColumn;
12import jakarta.persistence.ManyToOne;
13import jakarta.persistence.Table;
margaretha7da23902022-05-02 08:38:45 +020014
15import de.ids_mannheim.korap.oauth2.entity.OAuth2Client;
16import lombok.Getter;
17import lombok.Setter;
18
19@Setter
20@Getter
21@Entity
22@Table(name = "installed_plugin")
margaretha35e1ca22023-11-16 22:00:01 +010023public class InstalledPlugin implements Comparable<InstalledPlugin> {
margaretha7da23902022-05-02 08:38:45 +020024
25 @Id
26 @GeneratedValue(strategy = GenerationType.IDENTITY)
27 private int id;
28 @Column(name = "installed_by")
29 private String installedBy;
30 @Column(name = "installed_date")
31 private ZonedDateTime installedDate;
margaretha35e1ca22023-11-16 22:00:01 +010032
margaretha7da23902022-05-02 08:38:45 +020033 @ManyToOne(fetch = FetchType.EAGER)
34 @JoinColumn(name = "client_id")
35 private OAuth2Client client;
margaretha35e1ca22023-11-16 22:00:01 +010036
margaretha68ccf1e2022-05-04 09:59:54 +020037 // where a plugin is installed
38 @ManyToOne(fetch = FetchType.LAZY)
39 @JoinColumn(name = "super_client_id")
40 private OAuth2Client superClient;
margarethad4841562022-06-01 12:24:47 +020041
42 @Override
43 public int compareTo (InstalledPlugin o) {
44 return this.client.compareTo(o.client);
45 }
margaretha7da23902022-05-02 08:38:45 +020046}