[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

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.assignableroles.models.database;
import dev.sheldan.abstracto.core.models.database.AEmote;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@@ -35,20 +36,18 @@ public class AssignableRole implements Serializable {
@JoinColumn(name = "role_id", nullable = false)
private ARole role;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "server_id", nullable = false)
private AServer server;
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@Getter
@Setter
@JoinColumn(name = "assignable_place_id", nullable = false)
private AssignableRolePlace assignablePlace;
@Getter
@Setter
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name = "place_post_id")
private AssignableRolePlacePost assignableRolePlacePost;
@Getter
@Setter
@ManyToMany(mappedBy = "roles")
@Builder.Default
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)

View File

@@ -31,12 +31,12 @@ public class AssignableRolePlace implements Serializable {
@Column(name = "id")
private Long id;
@OneToOne
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name="channel_id")
private AChannel channel;
@OneToOne
@JoinColumn(name="server_id")
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "server_id", nullable = false)
private AServer server;
@Column(name = "key")

View File

@@ -1,6 +1,7 @@
package dev.sheldan.abstracto.assignableroles.models.database;
import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer;
import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@@ -26,7 +27,7 @@ public class AssignableRolePlacePost implements Serializable {
@Column(name = "id")
private Long id;
@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "channel_id")
private AChannel usedChannel;
@@ -36,9 +37,11 @@ public class AssignableRolePlacePost implements Serializable {
@Column(name = "updated")
private Instant updated;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "server_id", nullable = false)
private AServer server;
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@Getter
@Setter
@JoinColumn(name = "assignable_place_id", nullable = false)
private AssignableRolePlace assignablePlace;

View File

@@ -33,7 +33,7 @@ public class AssignedRoleUser implements Serializable {
@ManyToMany
@JoinTable(
name = "assigned_role_in_user",
joinColumns = @JoinColumn(name = "user_id"),
joinColumns = @JoinColumn(name = "user_in_server_id"),
inverseJoinColumns = @JoinColumn(name = "assigned_role_id"))
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Builder.Default

View File

@@ -1,5 +1,6 @@
package dev.sheldan.abstracto.assignableroles.service.management;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace;
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost;
import java.util.Optional;
@@ -7,4 +8,5 @@ import java.util.Optional;
public interface AssignableRolePlacePostManagementService {
Optional<AssignableRolePlacePost> findByMessageIdOptional(Long messageId);
AssignableRolePlacePost findByMessageId(Long messageId);
AssignableRolePlacePost createAssignableRolePlacePost(AssignableRolePlace updatedPlace, Long messageId);
}