[AB-62] adding server id to more tables for easier joins and fixing structure at more places

This commit is contained in:
Sheldan
2021-02-08 01:58:35 +01:00
parent 1352fac40f
commit ea12d67e5f
46 changed files with 188 additions and 150 deletions

View File

@@ -1,5 +1,6 @@
package dev.sheldan.abstracto.core.command.models.database;
import dev.sheldan.abstracto.core.models.database.AChannelGroupCommand;
import dev.sheldan.abstracto.core.models.database.AFeature;
import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@@ -7,6 +8,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant;
import java.util.List;
@Entity
@Table(name = "command")
@@ -14,6 +16,7 @@ import java.time.Instant;
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Cacheable
@EqualsAndHashCode
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@@ -23,17 +26,17 @@ public class ACommand implements Serializable {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@ManyToOne(fetch = FetchType.LAZY)
@Getter
@Setter
@JoinColumn(name = "module_id", nullable = false)
private AModule module;
@Getter
@Setter
@ManyToOne
@OneToMany(mappedBy = "command", fetch = FetchType.LAZY)
private List<AChannelGroupCommand> channelGroupCommands;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feature_id", nullable = false)
private AFeature feature;

View File

@@ -34,15 +34,21 @@ public class ACommandInAServer implements Serializable {
@JoinColumn(name = "server_id", nullable = false)
private AServer serverReference;
@ManyToMany(fetch = FetchType.LAZY)
@ManyToMany
@JoinTable(
name = "command_in_server_allowed_role",
joinColumns = @JoinColumn(name = "command_in_server_id", referencedColumnName = "command_in_server_id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
@Getter
@JoinColumn(name = "allowed_role_id")
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<ARole> allowedRoles;
@ManyToMany(fetch = FetchType.LAZY)
@ManyToMany
@JoinTable(
name = "command_in_server_immune_role",
joinColumns = @JoinColumn(name = "command_in_server_id", referencedColumnName = "command_in_server_id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
@Getter
@JoinColumn(name = "immune_role_id")
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<ARole> immuneRoles;

View File

@@ -14,6 +14,7 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@EqualsAndHashCode
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@@ -21,22 +22,23 @@ public class AChannelGroup implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "group_name")
@Setter
private String groupName;
@ManyToOne(fetch = FetchType.LAZY)
@Setter
@JoinColumn(name = "server_id", nullable = false)
private AServer server;
@ManyToOne(fetch = FetchType.LAZY)
@Setter
@JoinColumn(name = "group_type_id")
private ChannelGroupType channelGroupType;
@OneToMany(mappedBy = "group", fetch = FetchType.LAZY)
private List<AChannelGroupCommand> channelGroupCommands;
@Column(name = "created")
private Instant created;

View File

@@ -24,12 +24,16 @@ public class AChannelGroupCommand implements Serializable {
@Column(name = "command_in_group_id")
private Long commandInGroupId;
@OneToOne(fetch = FetchType.LAZY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "command_id", nullable = false)
@Setter
private ACommand command;
@OneToOne(fetch = FetchType.LAZY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="server_id")
private AServer server;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "group_id", nullable = false)
@Setter
private AChannelGroup group;

View File

@@ -13,34 +13,31 @@ import java.time.Instant;
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@EqualsAndHashCode
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class AConfig implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column
@Column(name = "name")
private String name;
@Column
@Setter
@Column(name = "string_value")
private String stringValue;
@Column
@Setter
@Column(name = "double_value")
private Double doubleValue;
@Column
@Setter
@Column(name = "long_value")
private Long longValue;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "server_id", nullable = false)
@Getter
@Setter
private AServer server;
@Column(name = "created")

View File

@@ -11,6 +11,8 @@ import java.util.List;
@Entity
@Table(name="feature_flag")
@Builder
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@@ -20,30 +22,21 @@ public class AFeatureFlag implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Column(name = "id")
public Long id;
@ManyToOne(fetch = FetchType.LAZY)
@Getter
@Setter
@JoinColumn(name = "server_id", nullable = false)
private AServer server;
@Getter
@Setter
@OneToOne
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feature_id", nullable = false)
private AFeature feature;
@Getter
@Setter
@OneToMany(fetch = FetchType.LAZY, mappedBy = "featureFlag")
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<AFeatureMode> modes;
@Getter
@Setter
@Column(name = "enabled")
private boolean enabled;

View File

@@ -10,6 +10,8 @@ import java.time.Instant;
@Entity
@Table(name="feature_mode")
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@@ -18,31 +20,22 @@ import java.time.Instant;
public class AFeatureMode implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Column(name = "id")
public Long id;
@Getter
@Setter
@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feature_flag_id", nullable = false)
private AFeatureFlag featureFlag;
@Getter
@Setter
@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feature_mode_id", nullable = false)
private DefaultFeatureMode featureMode;
@Getter
@Setter
@OneToOne
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "server_id", nullable = false)
private AServer server;
@Column(name = "enabled")
@Getter
@Setter
private Boolean enabled;
@Column(name = "created")

View File

@@ -25,7 +25,7 @@ public class DefaultFeatureFlag implements Serializable {
@Getter
@Setter
@OneToOne
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feature_id", nullable = false)
private AFeature feature;

View File

@@ -26,7 +26,7 @@ public class DefaultFeatureMode implements Serializable {
@Getter
@Setter
@OneToOne
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "feature_id", nullable = false)
private AFeature feature;