mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-16 12:28:03 +00:00
[AB-62] adding server id to more tables for easier joins and fixing structure at more places
This commit is contained in:
@@ -12,6 +12,7 @@ import dev.sheldan.abstracto.assignableroles.models.templates.*;
|
|||||||
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementService;
|
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRoleManagementService;
|
||||||
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlaceManagementService;
|
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlaceManagementService;
|
||||||
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService;
|
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementService;
|
||||||
|
import dev.sheldan.abstracto.assignableroles.service.management.AssignableRolePlacePostManagementServiceBean;
|
||||||
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
|
import dev.sheldan.abstracto.core.command.exception.AbstractoTemplatedException;
|
||||||
import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException;
|
import dev.sheldan.abstracto.core.command.exception.CommandParameterKeyValueWrongTypeException;
|
||||||
import dev.sheldan.abstracto.core.exception.ChannelNotInGuildException;
|
import dev.sheldan.abstracto.core.exception.ChannelNotInGuildException;
|
||||||
@@ -92,6 +93,9 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AssignableRoleService roleService;
|
private AssignableRoleService roleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AssignableRolePlacePostManagementServiceBean assignableRolePlacePostManagementServiceBean;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createAssignableRolePlace(AServer server, String name, AChannel channel, String text) {
|
public void createAssignableRolePlace(AServer server, String name, AChannel channel, String text) {
|
||||||
if(rolePlaceManagementService.doesPlaceExist(server, name)) {
|
if(rolePlaceManagementService.doesPlaceExist(server, name)) {
|
||||||
@@ -241,14 +245,7 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
|
|||||||
emote.setChangeable(false);
|
emote.setChangeable(false);
|
||||||
log.trace("Setting emote {} to not changeable, because it is part of an assignable role place {} in server {}.", emote.getId(), placeId, serverId);
|
log.trace("Setting emote {} to not changeable, because it is part of an assignable role place {} in server {}.", emote.getId(), placeId, serverId);
|
||||||
|
|
||||||
AssignableRolePlacePost newPost = AssignableRolePlacePost
|
AssignableRolePlacePost newPost = assignableRolePlacePostManagementServiceBean.createAssignableRolePlacePost(loadedPlace, message.getIdLong());
|
||||||
.builder()
|
|
||||||
.id(message.getIdLong())
|
|
||||||
.usedChannel(loadedPlace.getChannel())
|
|
||||||
.assignablePlace(loadedPlace)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
loadedPlace.getMessagePosts().add(newPost);
|
|
||||||
assignableRoleManagementServiceBean.addRoleToPlace(loadedPlace, emote, role, description, newPost);
|
assignableRoleManagementServiceBean.addRoleToPlace(loadedPlace, emote, role, description, newPost);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -789,16 +786,10 @@ public class AssignableRolePlaceServiceBean implements AssignableRolePlaceServic
|
|||||||
log.trace("Storing post {} with {} fields.", message.getId(), embed.getFields().size());
|
log.trace("Storing post {} with {} fields.", message.getId(), embed.getFields().size());
|
||||||
List<AssignableRole> firstRoles = rolesToAdd.subList(usedEmotes, usedEmotes + embed.getFields().size());
|
List<AssignableRole> firstRoles = rolesToAdd.subList(usedEmotes, usedEmotes + embed.getFields().size());
|
||||||
usedEmotes += embed.getFields().size();
|
usedEmotes += embed.getFields().size();
|
||||||
AssignableRolePlacePost post = AssignableRolePlacePost
|
AssignableRolePlacePost post = assignableRolePlacePostManagementServiceBean.createAssignableRolePlacePost(updatedPlace, message.getIdLong());
|
||||||
.builder()
|
|
||||||
.id(message.getIdLong())
|
|
||||||
.usedChannel(updatedPlace.getChannel())
|
|
||||||
.assignablePlace(updatedPlace)
|
|
||||||
.build();
|
|
||||||
firstRoles.forEach(assignableRole ->
|
firstRoles.forEach(assignableRole ->
|
||||||
assignableRole.setAssignableRolePlacePost(post)
|
assignableRole.setAssignableRolePlacePost(post)
|
||||||
);
|
);
|
||||||
updatedPlace.getMessagePosts().add(post);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Failed to get future.", e);
|
log.error("Failed to get future.", e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ public class AssignableRoleManagementServiceBean implements AssignableRoleManage
|
|||||||
.emote(emote)
|
.emote(emote)
|
||||||
.role(role)
|
.role(role)
|
||||||
.requiredLevel(0)
|
.requiredLevel(0)
|
||||||
|
.server(place.getServer())
|
||||||
.position(maxPosition)
|
.position(maxPosition)
|
||||||
.description(description)
|
.description(description)
|
||||||
.assignableRolePlacePost(post)
|
.assignableRolePlacePost(post)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.assignableroles.service.management;
|
package dev.sheldan.abstracto.assignableroles.service.management;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.assignableroles.exceptions.AssignablePlacePostNotFoundException;
|
import dev.sheldan.abstracto.assignableroles.exceptions.AssignablePlacePostNotFoundException;
|
||||||
|
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace;
|
||||||
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost;
|
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost;
|
||||||
import dev.sheldan.abstracto.assignableroles.repository.AssignableRolePlacePostRepository;
|
import dev.sheldan.abstracto.assignableroles.repository.AssignableRolePlacePostRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -14,7 +15,6 @@ public class AssignableRolePlacePostManagementServiceBean implements AssignableR
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AssignableRolePlacePostRepository repository;
|
private AssignableRolePlacePostRepository repository;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<AssignableRolePlacePost> findByMessageIdOptional(Long messageId) {
|
public Optional<AssignableRolePlacePost> findByMessageIdOptional(Long messageId) {
|
||||||
return repository.findById(messageId);
|
return repository.findById(messageId);
|
||||||
@@ -25,4 +25,17 @@ public class AssignableRolePlacePostManagementServiceBean implements AssignableR
|
|||||||
return findByMessageIdOptional(messageId).orElseThrow(() -> new AssignablePlacePostNotFoundException(messageId));
|
return findByMessageIdOptional(messageId).orElseThrow(() -> new AssignablePlacePostNotFoundException(messageId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AssignableRolePlacePost createAssignableRolePlacePost(AssignableRolePlace updatedPlace, Long messageId) {
|
||||||
|
AssignableRolePlacePost post = AssignableRolePlacePost
|
||||||
|
.builder()
|
||||||
|
.id(messageId)
|
||||||
|
.usedChannel(updatedPlace.getChannel())
|
||||||
|
.server(updatedPlace.getServer())
|
||||||
|
.assignablePlace(updatedPlace)
|
||||||
|
.build();
|
||||||
|
repository.save(post);
|
||||||
|
return post;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,9 @@
|
|||||||
<column name="assignable_place_id" type="BIGINT">
|
<column name="assignable_place_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
<column name="place_post_id" type="BIGINT">
|
<column name="place_post_id" type="BIGINT">
|
||||||
<constraints nullable="true"/>
|
<constraints nullable="true"/>
|
||||||
</column>
|
</column>
|
||||||
@@ -37,6 +40,7 @@
|
|||||||
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="assignable_role" constraintName="fk_assignable_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="assignable_role" constraintName="fk_assignable_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="assignable_place_id" baseTableName="assignable_role" constraintName="fk_assignable_role_place" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role_place" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="assignable_place_id" baseTableName="assignable_role" constraintName="fk_assignable_role_place" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role_place" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="place_post_id" baseTableName="assignable_role" constraintName="fk_assignable_role_post" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role_place_post" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="place_post_id" baseTableName="assignable_role" constraintName="fk_assignable_role_post" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role_place_post" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="assignable_role" constraintName="fk_assignable_role_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS assignable_role_update_trigger ON assignable_role;
|
DROP TRIGGER IF EXISTS assignable_role_update_trigger ON assignable_role;
|
||||||
CREATE TRIGGER assignable_role_update_trigger BEFORE UPDATE ON assignable_role FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
CREATE TRIGGER assignable_role_update_trigger BEFORE UPDATE ON assignable_role FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||||
|
|||||||
@@ -17,12 +17,16 @@
|
|||||||
<column name="channel_id" type="BIGINT">
|
<column name="channel_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||||
<constraints nullable="true"/>
|
<constraints nullable="true"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="assignable_place_id" baseTableName="assignable_role_place_post" constraintName="fk_assignable_role_place_post_place_id" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role_place" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="assignable_place_id" baseTableName="assignable_role_place_post" constraintName="fk_assignable_role_place_post_place_id" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role_place" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="assignable_role_place_post" constraintName="fk_assignable_role_place_post_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="channel_id" baseTableName="assignable_role_place_post" constraintName="fk_assignable_role_place_post_channel" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="channel_id" baseTableName="assignable_role_place_post" constraintName="fk_assignable_role_place_post_channel" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS assignable_role_place_post_update_trigger ON assignable_role_place_post;
|
DROP TRIGGER IF EXISTS assignable_role_place_post_update_trigger ON assignable_role_place_post;
|
||||||
|
|||||||
@@ -31,12 +31,12 @@
|
|||||||
<column name="assigned_role_id" type="BIGINT">
|
<column name="assigned_role_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="user_id" type="BIGINT">
|
<column name="user_in_server_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="assigned_role_id" baseTableName="assigned_role_in_user" constraintName="fk_assigned_role_in_user_assignable_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="assigned_role_id" baseTableName="assigned_role_in_user" constraintName="fk_assigned_role_in_user_assignable_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assignable_role" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="user_id" baseTableName="assigned_role_in_user" constraintName="fk_assigned_role_in_user_assigned_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assigned_role_user" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="user_in_server_id" baseTableName="assigned_role_in_user" constraintName="fk_assigned_role_in_user_assigned_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="assigned_role_user" validate="true"/>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
@@ -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.AEmote;
|
||||||
import dev.sheldan.abstracto.core.models.database.ARole;
|
import dev.sheldan.abstracto.core.models.database.ARole;
|
||||||
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
|
|
||||||
@@ -35,20 +36,18 @@ public class AssignableRole implements Serializable {
|
|||||||
@JoinColumn(name = "role_id", nullable = false)
|
@JoinColumn(name = "role_id", nullable = false)
|
||||||
private ARole role;
|
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})
|
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@JoinColumn(name = "assignable_place_id", nullable = false)
|
@JoinColumn(name = "assignable_place_id", nullable = false)
|
||||||
private AssignableRolePlace assignablePlace;
|
private AssignableRolePlace assignablePlace;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||||
@JoinColumn(name = "place_post_id")
|
@JoinColumn(name = "place_post_id")
|
||||||
private AssignableRolePlacePost assignableRolePlacePost;
|
private AssignableRolePlacePost assignableRolePlacePost;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@ManyToMany(mappedBy = "roles")
|
@ManyToMany(mappedBy = "roles")
|
||||||
@Builder.Default
|
@Builder.Default
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ public class AssignableRolePlace implements Serializable {
|
|||||||
@Column(name = "id")
|
@Column(name = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@OneToOne
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name="channel_id")
|
@JoinColumn(name="channel_id")
|
||||||
private AChannel channel;
|
private AChannel channel;
|
||||||
|
|
||||||
@OneToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name="server_id")
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@Column(name = "key")
|
@Column(name = "key")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.sheldan.abstracto.assignableroles.models.database;
|
package dev.sheldan.abstracto.assignableroles.models.database;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.models.database.AChannel;
|
import dev.sheldan.abstracto.core.models.database.AChannel;
|
||||||
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ public class AssignableRolePlacePost implements Serializable {
|
|||||||
@Column(name = "id")
|
@Column(name = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "channel_id")
|
@JoinColumn(name = "channel_id")
|
||||||
private AChannel usedChannel;
|
private AChannel usedChannel;
|
||||||
|
|
||||||
@@ -36,9 +37,11 @@ public class AssignableRolePlacePost implements Serializable {
|
|||||||
@Column(name = "updated")
|
@Column(name = "updated")
|
||||||
private Instant 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})
|
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@JoinColumn(name = "assignable_place_id", nullable = false)
|
@JoinColumn(name = "assignable_place_id", nullable = false)
|
||||||
private AssignableRolePlace assignablePlace;
|
private AssignableRolePlace assignablePlace;
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class AssignedRoleUser implements Serializable {
|
|||||||
@ManyToMany
|
@ManyToMany
|
||||||
@JoinTable(
|
@JoinTable(
|
||||||
name = "assigned_role_in_user",
|
name = "assigned_role_in_user",
|
||||||
joinColumns = @JoinColumn(name = "user_id"),
|
joinColumns = @JoinColumn(name = "user_in_server_id"),
|
||||||
inverseJoinColumns = @JoinColumn(name = "assigned_role_id"))
|
inverseJoinColumns = @JoinColumn(name = "assigned_role_id"))
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
@Builder.Default
|
@Builder.Default
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.assignableroles.service.management;
|
package dev.sheldan.abstracto.assignableroles.service.management;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlace;
|
||||||
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost;
|
import dev.sheldan.abstracto.assignableroles.models.database.AssignableRolePlacePost;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -7,4 +8,5 @@ import java.util.Optional;
|
|||||||
public interface AssignableRolePlacePostManagementService {
|
public interface AssignableRolePlacePostManagementService {
|
||||||
Optional<AssignableRolePlacePost> findByMessageIdOptional(Long messageId);
|
Optional<AssignableRolePlacePost> findByMessageIdOptional(Long messageId);
|
||||||
AssignableRolePlacePost findByMessageId(Long messageId);
|
AssignableRolePlacePost findByMessageId(Long messageId);
|
||||||
|
AssignableRolePlacePost createAssignableRolePlacePost(AssignableRolePlace updatedPlace, Long messageId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public class UserExperienceManagementServiceBean implements UserExperienceManage
|
|||||||
.builder()
|
.builder()
|
||||||
.experience(0L)
|
.experience(0L)
|
||||||
.messageCount(0L)
|
.messageCount(0L)
|
||||||
|
.server(aUserInAServer.getServerReference())
|
||||||
.experienceGainDisabled(false)
|
.experienceGainDisabled(false)
|
||||||
.user(aUserInAServer)
|
.user(aUserInAServer)
|
||||||
.id(aUserInAServer.getUserInServerId())
|
.id(aUserInAServer.getUserInServerId())
|
||||||
|
|||||||
@@ -28,9 +28,13 @@
|
|||||||
<column name="level_id" type="INTEGER">
|
<column name="level_id" type="INTEGER">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="level_id" baseTableName="user_experience" constraintName="fk_user_experience_level" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="level" referencedTableName="experience_level" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="level_id" baseTableName="user_experience" constraintName="fk_user_experience_level" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="level" referencedTableName="experience_level" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="user_experience" constraintName="fk_user_experience_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="experience_role" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="user_experience" constraintName="fk_user_experience_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="experience_role" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="user_experience" constraintName="fk_user_experience_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS user_experience_update_trigger ON user_experience;
|
DROP TRIGGER IF EXISTS user_experience_update_trigger ON user_experience;
|
||||||
CREATE TRIGGER user_experience_update_trigger BEFORE UPDATE ON user_experience FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
CREATE TRIGGER user_experience_update_trigger BEFORE UPDATE ON user_experience FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.experience.models.database;
|
package dev.sheldan.abstracto.experience.models.database;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
@@ -36,6 +37,10 @@ public class AUserExperience implements Serializable {
|
|||||||
@PrimaryKeyJoinColumn
|
@PrimaryKeyJoinColumn
|
||||||
private AUserInAServer user;
|
private AUserInAServer user;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
|
private AServer server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The total amount of experience the user has in the guild
|
* The total amount of experience the user has in the guild
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class AllowedInviteLink {
|
|||||||
@Column(name = "code")
|
@Column(name = "code")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class FilteredInviteLink {
|
|||||||
@Column(name = "code")
|
@Column(name = "code")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
|
|||||||
@@ -40,14 +40,14 @@ public class Mute implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* The {@link AUserInAServer} which was muted
|
* The {@link AUserInAServer} which was muted
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "muted_user_in_server_id", nullable = false)
|
@JoinColumn(name = "muted_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer mutedUser;
|
private AUserInAServer mutedUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link AUserInAServer} which casted the mute
|
* The {@link AUserInAServer} which casted the mute
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "muting_user_in_server_id", nullable = false)
|
@JoinColumn(name = "muting_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer mutingUser;
|
private AUserInAServer mutingUser;
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ public class Mute implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* The channel in which this mute was cast
|
* The channel in which this mute was cast
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "mutingChannel", nullable = false)
|
@JoinColumn(name = "mutingChannel", nullable = false)
|
||||||
private AChannel mutingChannel;
|
private AChannel mutingChannel;
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class UserNote implements Serializable {
|
|||||||
@JoinColumn(name = "server_id", referencedColumnName = "id", nullable = false)
|
@JoinColumn(name = "server_id", referencedColumnName = "id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "user_in_server_id", nullable = false)
|
@JoinColumn(name = "user_in_server_id", nullable = false)
|
||||||
private AUserInAServer user;
|
private AUserInAServer user;
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class Warning implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "warned_user_in_server_id", nullable = false)
|
@JoinColumn(name = "warned_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer warnedUser;
|
private AUserInAServer warnedUser;
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ public class Warning implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "warning_user_in_server_id", nullable = false)
|
@JoinColumn(name = "warning_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer warningUser;
|
private AUserInAServer warningUser;
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public class ModMailMessageManagementServiceBean implements ModMailMessageManage
|
|||||||
.author(author)
|
.author(author)
|
||||||
.messageId(userPostedMessage.getIdLong())
|
.messageId(userPostedMessage.getIdLong())
|
||||||
.createdMessageInDM(dmId)
|
.createdMessageInDM(dmId)
|
||||||
|
.server(modMailThread.getServer())
|
||||||
.createdMessageInChannel(channelMessageId)
|
.createdMessageInChannel(channelMessageId)
|
||||||
.dmChannel(dmChannel)
|
.dmChannel(dmChannel)
|
||||||
.threadReference(modMailThread)
|
.threadReference(modMailThread)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ public class ModMailSubscriberManagementServiceBean implements ModMailSubscriber
|
|||||||
|
|
||||||
ModMailThreadSubscriber subscriber = ModMailThreadSubscriber
|
ModMailThreadSubscriber subscriber = ModMailThreadSubscriber
|
||||||
.builder()
|
.builder()
|
||||||
|
.server(modMailThread.getServer())
|
||||||
.subscriber(aUserInAServer)
|
.subscriber(aUserInAServer)
|
||||||
.threadReference(modMailThread)
|
.threadReference(modMailThread)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -11,8 +11,15 @@
|
|||||||
<column name="id" type="BIGINT">
|
<column name="id" type="BIGINT">
|
||||||
<constraints nullable="false" primaryKey="true" primaryKeyName="mod_mail_message_pkey"/>
|
<constraints nullable="false" primaryKey="true" primaryKeyName="mod_mail_message_pkey"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="created_message_in_dm" type="BIGINT" />
|
<column name="created_message_in_dm" type="BIGINT" >
|
||||||
<column name="created_message_in_channel" type="BIGINT" />
|
<constraints nullable="true"/>
|
||||||
|
</column>
|
||||||
|
<column name="created_message_in_channel" type="BIGINT" >
|
||||||
|
<constraints nullable="true"/>
|
||||||
|
</column>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
<column name="anonymous" type="BOOLEAN">
|
<column name="anonymous" type="BOOLEAN">
|
||||||
<constraints nullable="true"/>
|
<constraints nullable="true"/>
|
||||||
</column>
|
</column>
|
||||||
@@ -33,6 +40,7 @@
|
|||||||
<createIndex indexName="idx_mod_mail_message_thread" tableName="mod_mail_message">
|
<createIndex indexName="idx_mod_mail_message_thread" tableName="mod_mail_message">
|
||||||
<column name="thread_id"/>
|
<column name="thread_id"/>
|
||||||
</createIndex>
|
</createIndex>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="mod_mail_message" constraintName="fk_mod_mail_message_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="thread_id" baseTableName="mod_mail_message" constraintName="fk_mod_mail_message_thread" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="mod_mail_thread" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="thread_id" baseTableName="mod_mail_message" constraintName="fk_mod_mail_message_thread" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="mod_mail_thread" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="author_user_in_server_id" baseTableName="mod_mail_message" constraintName="fk_mod_mail_message_author" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="author_user_in_server_id" baseTableName="mod_mail_message" constraintName="fk_mod_mail_message_author" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
|
|||||||
@@ -21,9 +21,13 @@
|
|||||||
<column name="mod_mail_thread_id" type="BIGINT">
|
<column name="mod_mail_thread_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="user_in_server_id" baseTableName="mod_mail_subscriber" constraintName="fk_mod_mail_thread_subscriber_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="user_in_server_id" baseTableName="mod_mail_subscriber" constraintName="fk_mod_mail_thread_subscriber_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="mod_mail_thread_id" baseTableName="mod_mail_subscriber" constraintName="fk_mod_mail_thread_thread" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="mod_mail_thread" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="mod_mail_thread_id" baseTableName="mod_mail_subscriber" constraintName="fk_mod_mail_thread_thread" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="mod_mail_thread" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="mod_mail_subscriber" constraintName="fk_mod_mail_subscriber_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS mod_mail_subscriber_update_trigger ON mod_mail_subscriber;
|
DROP TRIGGER IF EXISTS mod_mail_subscriber_update_trigger ON mod_mail_subscriber;
|
||||||
CREATE TRIGGER mod_mail_subscriber_update_trigger BEFORE UPDATE ON mod_mail_subscriber FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
CREATE TRIGGER mod_mail_subscriber_update_trigger BEFORE UPDATE ON mod_mail_subscriber FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.modmail.models.database;
|
package dev.sheldan.abstracto.modmail.models.database;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
@@ -42,6 +43,10 @@ public class ModMailMessage implements Serializable {
|
|||||||
@Column(name = "created_message_in_channel")
|
@Column(name = "created_message_in_channel")
|
||||||
private Long createdMessageInChannel;
|
private Long createdMessageInChannel;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
|
private AServer server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link AUserInAServer} which authored this message
|
* The {@link AUserInAServer} which authored this message
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.modmail.models.database;
|
package dev.sheldan.abstracto.modmail.models.database;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
@@ -35,6 +36,10 @@ public class ModMailThreadSubscriber {
|
|||||||
@JoinColumn(name = "user_in_server_id", nullable = false)
|
@JoinColumn(name = "user_in_server_id", nullable = false)
|
||||||
private AUserInAServer subscriber;
|
private AUserInAServer subscriber;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
|
private AServer server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The thread for which the member is subscribed to
|
* The thread for which the member is subscribed to
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public class StarboardPostReactorManagementServiceBean implements StarboardPostR
|
|||||||
.builder()
|
.builder()
|
||||||
.starboardPost(post)
|
.starboardPost(post)
|
||||||
.reactor(user)
|
.reactor(user)
|
||||||
|
.server(user.getServerReference())
|
||||||
.build();
|
.build();
|
||||||
log.info("Persisting the reactor {} for starboard post {} in server {}.", user.getUserReference().getId(), post.getId(), user.getServerReference().getId());
|
log.info("Persisting the reactor {} for starboard post {} in server {}.", user.getUserReference().getId(), post.getId(), user.getServerReference().getId());
|
||||||
repository.save(reactor);
|
repository.save(reactor);
|
||||||
|
|||||||
@@ -27,21 +27,21 @@
|
|||||||
<column name="embedded_user_in_server_id" type="BIGINT">
|
<column name="embedded_user_in_server_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="embedding_channel" type="BIGINT">
|
<column name="embedding_channel_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="embedding_server" type="BIGINT">
|
<column name="embedding_server_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="embedding_user_in_server_id" type="BIGINT">
|
<column name="embedding_user_in_server_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="embedding_channel" baseTableName="embedded_message" constraintName="fk_embed_channel_channel" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="embedding_channel_id" baseTableName="embedded_message" constraintName="fk_embed_channel_channel" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="embedded_channel_id" baseTableName="embedded_message" constraintName="fk_embed_embedded_channel_id_channel" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="embedded_channel_id" baseTableName="embedded_message" constraintName="fk_embed_embedded_channel_id_channel" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="embedding_user_in_server_id" baseTableName="embedded_message" constraintName="fk_embedded_user_in_server_id_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="embedding_user_in_server_id" baseTableName="embedded_message" constraintName="fk_embedded_user_in_server_id_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="embedded_user_in_server_id" baseTableName="embedded_message" constraintName="fk_embedding_user_in_server_id_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="embedded_user_in_server_id" baseTableName="embedded_message" constraintName="fk_embedding_user_in_server_id_user" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="embedding_server" baseTableName="embedded_message" constraintName="fk_embedding_server_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="embedding_server_id" baseTableName="embedded_message" constraintName="fk_embedding_server_id_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="embedded_server_id" baseTableName="embedded_message" constraintName="fk_embed_embedded_server_id_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="embedded_server_id" baseTableName="embedded_message" constraintName="fk_embed_embedded_server_id_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS embedded_message_update_trigger ON embedded_message;
|
DROP TRIGGER IF EXISTS embedded_message_update_trigger ON embedded_message;
|
||||||
|
|||||||
@@ -21,9 +21,13 @@
|
|||||||
<column name="post_id" type="BIGINT">
|
<column name="post_id" type="BIGINT">
|
||||||
<constraints nullable="true"/>
|
<constraints nullable="true"/>
|
||||||
</column>
|
</column>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="reactor_user_in_server_id" baseTableName="starboard_post_reaction" constraintName="fk_starboard_post_reaction_reactor" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="reactor_user_in_server_id" baseTableName="starboard_post_reaction" constraintName="fk_starboard_post_reaction_reactor" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="user_in_server_id" referencedTableName="user_in_server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="post_id" baseTableName="starboard_post_reaction" constraintName="fk_starboard_post_reaction_post" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="starboard_post" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="post_id" baseTableName="starboard_post_reaction" constraintName="fk_starboard_post_reaction_post" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="starboard_post" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="starboard_post_reaction" constraintName="fk_starboard_post_reaction_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS starboard_post_reaction_update_trigger ON starboard_post_reaction;
|
DROP TRIGGER IF EXISTS starboard_post_reaction_update_trigger ON starboard_post_reaction;
|
||||||
CREATE TRIGGER starboard_post_reaction_update_trigger BEFORE UPDATE ON starboard_post_reaction FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
CREATE TRIGGER starboard_post_reaction_update_trigger BEFORE UPDATE ON starboard_post_reaction FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||||
|
|||||||
@@ -23,22 +23,22 @@ import java.time.Instant;
|
|||||||
public class EmbeddedMessage implements Serializable {
|
public class EmbeddedMessage implements Serializable {
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "embedded_user_in_server_id", nullable = false)
|
@JoinColumn(name = "embedded_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer embeddedUser;
|
private AUserInAServer embeddedUser;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "embedding_user_in_server_id", nullable = false)
|
@JoinColumn(name = "embedding_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer embeddingUser;
|
private AUserInAServer embeddingUser;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "embedded_server_id", nullable = false)
|
@JoinColumn(name = "embedded_server_id", nullable = false)
|
||||||
private AServer embeddedServer;
|
private AServer embeddedServer;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "embedded_channel_id", nullable = false)
|
@JoinColumn(name = "embedded_channel_id", nullable = false)
|
||||||
private AChannel embeddedChannel;
|
private AChannel embeddedChannel;
|
||||||
|
|
||||||
@@ -46,13 +46,13 @@ public class EmbeddedMessage implements Serializable {
|
|||||||
private Long embeddedMessageId;
|
private Long embeddedMessageId;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "embedding_server_id", nullable = false)
|
@JoinColumn(name = "embedding_server_id", nullable = false)
|
||||||
private AServer embeddingServer;
|
private AServer embeddingServer;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "embeddingChannel", nullable = false)
|
@JoinColumn(name = "embedding_channel_id", nullable = false)
|
||||||
private AChannel embeddingChannel;
|
private AChannel embeddingChannel;
|
||||||
|
|
||||||
@Column(name = "embedding_message_id")
|
@Column(name = "embedding_message_id")
|
||||||
|
|||||||
@@ -24,17 +24,17 @@ import java.util.List;
|
|||||||
public class PostedImage {
|
public class PostedImage {
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "author_user_in_server_id", nullable = false)
|
@JoinColumn(name = "author_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer poster;
|
private AUserInAServer poster;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "posted_channel_id", nullable = false)
|
@JoinColumn(name = "posted_channel_id", nullable = false)
|
||||||
private AChannel postedChannel;
|
private AChannel postedChannel;
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class Reminder implements Serializable {
|
|||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "user_in_server_id", nullable = false)
|
@JoinColumn(name = "user_in_server_id", nullable = false)
|
||||||
private AUserInAServer remindedUser;
|
private AUserInAServer remindedUser;
|
||||||
|
|
||||||
@@ -38,12 +38,12 @@ public class Reminder implements Serializable {
|
|||||||
private Long messageId;
|
private Long messageId;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "channel_id", nullable = false)
|
@JoinColumn(name = "channel_id", nullable = false)
|
||||||
private AChannel channel;
|
private AChannel channel;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ public class Repost {
|
|||||||
private RepostIdentifier repostId;
|
private RepostIdentifier repostId;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@MapsId("userInServerId")
|
@MapsId("userInServerId")
|
||||||
@JoinColumn(name = "user_in_server_id", referencedColumnName = "user_in_server_id", nullable = false)
|
@JoinColumn(name = "user_in_server_id", referencedColumnName = "user_in_server_id", nullable = false)
|
||||||
private AUserInAServer poster;
|
private AUserInAServer poster;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
|
|||||||
@@ -38,16 +38,16 @@ public class StarboardPost implements Serializable {
|
|||||||
@Column(name = "post_message_id")
|
@Column(name = "post_message_id")
|
||||||
private Long postMessageId;
|
private Long postMessageId;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "channel_id", nullable = false)
|
@JoinColumn(name = "channel_id", nullable = false)
|
||||||
private AChannel starboardChannel;
|
private AChannel starboardChannel;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "source_channel_id", nullable = false)
|
@JoinColumn(name = "source_channel_id", nullable = false)
|
||||||
private AChannel sourceChanel;
|
private AChannel sourceChanel;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.utility.models.database;
|
package dev.sheldan.abstracto.utility.models.database;
|
||||||
|
|
||||||
|
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
@@ -25,15 +26,18 @@ public class StarboardPostReaction implements Serializable {
|
|||||||
@Column(name = "id")
|
@Column(name = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "reactor_user_in_server_id", nullable = false)
|
@JoinColumn(name = "reactor_user_in_server_id", nullable = false)
|
||||||
private AUserInAServer reactor;
|
private AUserInAServer reactor;
|
||||||
|
|
||||||
@OneToOne
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "post_id")
|
@JoinColumn(name = "post_id")
|
||||||
private StarboardPost starboardPost;
|
private StarboardPost starboardPost;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
|
private AServer server;
|
||||||
|
|
||||||
@Column(name = "created")
|
@Column(name = "created")
|
||||||
private Instant created;
|
private Instant created;
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class Suggestion implements Serializable {
|
|||||||
private ServerSpecificId suggestionId;
|
private ServerSpecificId suggestionId;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "suggester_user_in_server_id")
|
@JoinColumn(name = "suggester_user_in_server_id")
|
||||||
private AUserInAServer suggester;
|
private AUserInAServer suggester;
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ public class Suggestion implements Serializable {
|
|||||||
private Long messageId;
|
private Long messageId;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ManyToOne
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "channel_id")
|
@JoinColumn(name = "channel_id")
|
||||||
private AChannel channel;
|
private AChannel channel;
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,9 @@
|
|||||||
<column name="enabled" type="BOOLEAN"/>
|
<column name="enabled" type="BOOLEAN"/>
|
||||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||||
|
<column name="server_id" type="BIGINT">
|
||||||
|
<constraints nullable="false"/>
|
||||||
|
</column>
|
||||||
<column name="command_id" type="BIGINT">
|
<column name="command_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
@@ -71,6 +74,7 @@
|
|||||||
</column>
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="group_id" baseTableName="channel_group_command" constraintName="fk_channel_group_command_channel_group" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel_group" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="group_id" baseTableName="channel_group_command" constraintName="fk_channel_group_command_channel_group" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="channel_group" validate="true"/>
|
||||||
|
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="channel_group_command" constraintName="fk_channel_group_command_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="command_id" baseTableName="channel_group_command" constraintName="fk_channel_group_command_command" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="command" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="command_id" baseTableName="channel_group_command" constraintName="fk_channel_group_command_command" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="command" validate="true"/>
|
||||||
<sql>
|
<sql>
|
||||||
DROP TRIGGER IF EXISTS channel_group_command_update_trigger ON channel_group_command;
|
DROP TRIGGER IF EXISTS channel_group_command_update_trigger ON channel_group_command;
|
||||||
|
|||||||
@@ -66,54 +66,30 @@
|
|||||||
CREATE TRIGGER command_in_server_insert_trigger BEFORE INSERT ON command_in_server FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
|
CREATE TRIGGER command_in_server_insert_trigger BEFORE INSERT ON command_in_server FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
|
||||||
</sql>
|
</sql>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
<changeSet author="Sheldan" id="command_in_server_immune_roles-table">
|
<changeSet author="Sheldan" id="command_in_server_immune_role-table">
|
||||||
<createTable tableName="command_in_server_immune_roles">
|
<createTable tableName="command_in_server_immune_role">
|
||||||
<column name="command_in_server_command_in_server_id" type="BIGINT">
|
<column name="command_in_server_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="immune_roles_id" type="BIGINT">
|
<column name="role_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="command_in_server_command_in_server_id" baseTableName="command_in_server_immune_roles" constraintName="fk_command_immune_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="command_in_server_id" referencedTableName="command_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="command_in_server_id" baseTableName="command_in_server_immune_role" constraintName="fk_command_immune_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="command_in_server_id" referencedTableName="command_in_server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="immune_roles_id" baseTableName="command_in_server_immune_roles" constraintName="fk_immune_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="command_in_server_immune_role" constraintName="fk_immune_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||||
|
|
||||||
</changeSet>
|
</changeSet>
|
||||||
<changeSet author="Sheldan" id="command_in_server_allowed_roles-table">
|
<changeSet author="Sheldan" id="command_in_server_allowed_role-table">
|
||||||
<createTable tableName="command_in_server_allowed_roles">
|
<createTable tableName="command_in_server_allowed_role">
|
||||||
<column name="command_in_server_command_in_server_id" type="BIGINT">
|
<column name="command_in_server_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
<column name="allowed_roles_id" type="BIGINT">
|
<column name="role_id" type="BIGINT">
|
||||||
<constraints nullable="false"/>
|
<constraints nullable="false"/>
|
||||||
</column>
|
</column>
|
||||||
</createTable>
|
</createTable>
|
||||||
<addForeignKeyConstraint baseColumnNames="command_in_server_command_in_server_id" baseTableName="command_in_server_allowed_roles" constraintName="fk_command_allowed_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="command_in_server_id" referencedTableName="command_in_server" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="command_in_server_id" baseTableName="command_in_server_allowed_role" constraintName="fk_command_allowed_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="command_in_server_id" referencedTableName="command_in_server" validate="true"/>
|
||||||
<addForeignKeyConstraint baseColumnNames="allowed_roles_id" baseTableName="command_in_server_allowed_roles" constraintName="fk_role_allowed_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="command_in_server_allowed_role" constraintName="fk_role_allowed_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||||
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command-fk_command_feature">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command_in_server-command_in_server_immune_roles">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command_in_server-command_in_server_allowed_roles">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command_in_server_immune_roles-command_in_server_allowed_roles">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command-fk_command_module">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command_in_server-fk_command_command">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command_in_server_allowed_roles-fk_immune_role_role">
|
|
||||||
</changeSet>
|
|
||||||
<changeSet author="Sheldan" id="command_in_server-fk_command_server">
|
|
||||||
</changeSet>
|
|
||||||
|
|
||||||
<changeSet author="Sheldan" id="command_triggers">
|
|
||||||
|
|
||||||
</changeSet>
|
|
||||||
|
|
||||||
<changeSet author="Sheldan" id="command_in_server_triggers">
|
|
||||||
|
|
||||||
</changeSet>
|
</changeSet>
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.sheldan.abstracto.core.command.models.database;
|
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 dev.sheldan.abstracto.core.models.database.AFeature;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
@@ -7,6 +8,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
|
|||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "command")
|
@Table(name = "command")
|
||||||
@@ -14,6 +16,7 @@ import java.time.Instant;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
|
@Setter
|
||||||
@Cacheable
|
@Cacheable
|
||||||
@EqualsAndHashCode
|
@EqualsAndHashCode
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
@@ -23,17 +26,17 @@ public class ACommand implements Serializable {
|
|||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
@Column(name = "name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@JoinColumn(name = "module_id", nullable = false)
|
@JoinColumn(name = "module_id", nullable = false)
|
||||||
private AModule module;
|
private AModule module;
|
||||||
|
|
||||||
@Getter
|
@OneToMany(mappedBy = "command", fetch = FetchType.LAZY)
|
||||||
@Setter
|
private List<AChannelGroupCommand> channelGroupCommands;
|
||||||
@ManyToOne
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "feature_id", nullable = false)
|
@JoinColumn(name = "feature_id", nullable = false)
|
||||||
private AFeature feature;
|
private AFeature feature;
|
||||||
|
|
||||||
|
|||||||
@@ -34,15 +34,21 @@ public class ACommandInAServer implements Serializable {
|
|||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer serverReference;
|
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
|
@Getter
|
||||||
@JoinColumn(name = "allowed_role_id")
|
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<ARole> allowedRoles;
|
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
|
@Getter
|
||||||
@JoinColumn(name = "immune_role_id")
|
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<ARole> immuneRoles;
|
private List<ARole> immuneRoles;
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import java.util.List;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
|
@Setter
|
||||||
@EqualsAndHashCode
|
@EqualsAndHashCode
|
||||||
@Cacheable
|
@Cacheable
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
@@ -21,22 +22,23 @@ public class AChannelGroup implements Serializable {
|
|||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Column(name = "group_name")
|
@Column(name = "group_name")
|
||||||
@Setter
|
|
||||||
private String groupName;
|
private String groupName;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Setter
|
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Setter
|
|
||||||
@JoinColumn(name = "group_type_id")
|
@JoinColumn(name = "group_type_id")
|
||||||
private ChannelGroupType channelGroupType;
|
private ChannelGroupType channelGroupType;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "group", fetch = FetchType.LAZY)
|
||||||
|
private List<AChannelGroupCommand> channelGroupCommands;
|
||||||
|
|
||||||
@Column(name = "created")
|
@Column(name = "created")
|
||||||
private Instant created;
|
private Instant created;
|
||||||
|
|
||||||
|
|||||||
@@ -24,12 +24,16 @@ public class AChannelGroupCommand implements Serializable {
|
|||||||
@Column(name = "command_in_group_id")
|
@Column(name = "command_in_group_id")
|
||||||
private Long commandInGroupId;
|
private Long commandInGroupId;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "command_id", nullable = false)
|
@JoinColumn(name = "command_id", nullable = false)
|
||||||
@Setter
|
@Setter
|
||||||
private ACommand command;
|
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)
|
@JoinColumn(name = "group_id", nullable = false)
|
||||||
@Setter
|
@Setter
|
||||||
private AChannelGroup group;
|
private AChannelGroup group;
|
||||||
|
|||||||
@@ -13,34 +13,31 @@ import java.time.Instant;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
|
@Setter
|
||||||
@EqualsAndHashCode
|
@EqualsAndHashCode
|
||||||
@Cacheable
|
@Cacheable
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class AConfig implements Serializable {
|
public class AConfig implements Serializable {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
|
@Column(name = "id")
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@Column
|
@Column(name = "name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Column
|
@Column(name = "string_value")
|
||||||
@Setter
|
|
||||||
private String stringValue;
|
private String stringValue;
|
||||||
|
|
||||||
@Column
|
@Column(name = "double_value")
|
||||||
@Setter
|
|
||||||
private Double doubleValue;
|
private Double doubleValue;
|
||||||
|
|
||||||
@Column
|
@Column(name = "long_value")
|
||||||
@Setter
|
|
||||||
private Long longValue;
|
private Long longValue;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.LAZY)
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@Column(name = "created")
|
@Column(name = "created")
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import java.util.List;
|
|||||||
@Entity
|
@Entity
|
||||||
@Table(name="feature_flag")
|
@Table(name="feature_flag")
|
||||||
@Builder
|
@Builder
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode
|
@EqualsAndHashCode
|
||||||
@@ -20,30 +22,21 @@ public class AFeatureFlag implements Serializable {
|
|||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@Getter
|
|
||||||
@Column(name = "id")
|
@Column(name = "id")
|
||||||
public Long id;
|
public Long id;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@Getter
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@Setter
|
|
||||||
@OneToOne
|
|
||||||
@JoinColumn(name = "feature_id", nullable = false)
|
@JoinColumn(name = "feature_id", nullable = false)
|
||||||
private AFeature feature;
|
private AFeature feature;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@OneToMany(fetch = FetchType.LAZY, mappedBy = "featureFlag")
|
@OneToMany(fetch = FetchType.LAZY, mappedBy = "featureFlag")
|
||||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<AFeatureMode> modes;
|
private List<AFeatureMode> modes;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Column(name = "enabled")
|
@Column(name = "enabled")
|
||||||
private boolean enabled;
|
private boolean enabled;
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import java.time.Instant;
|
|||||||
@Entity
|
@Entity
|
||||||
@Table(name="feature_mode")
|
@Table(name="feature_mode")
|
||||||
@Builder
|
@Builder
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode
|
@EqualsAndHashCode
|
||||||
@@ -18,31 +20,22 @@ import java.time.Instant;
|
|||||||
public class AFeatureMode implements Serializable {
|
public class AFeatureMode implements Serializable {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@Getter
|
|
||||||
@Column(name = "id")
|
@Column(name = "id")
|
||||||
public Long id;
|
public Long id;
|
||||||
|
|
||||||
@Getter
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Setter
|
|
||||||
@ManyToOne
|
|
||||||
@JoinColumn(name = "feature_flag_id", nullable = false)
|
@JoinColumn(name = "feature_flag_id", nullable = false)
|
||||||
private AFeatureFlag featureFlag;
|
private AFeatureFlag featureFlag;
|
||||||
|
|
||||||
@Getter
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Setter
|
|
||||||
@ManyToOne
|
|
||||||
@JoinColumn(name = "feature_mode_id", nullable = false)
|
@JoinColumn(name = "feature_mode_id", nullable = false)
|
||||||
private DefaultFeatureMode featureMode;
|
private DefaultFeatureMode featureMode;
|
||||||
|
|
||||||
@Getter
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@Setter
|
|
||||||
@OneToOne
|
|
||||||
@JoinColumn(name = "server_id", nullable = false)
|
@JoinColumn(name = "server_id", nullable = false)
|
||||||
private AServer server;
|
private AServer server;
|
||||||
|
|
||||||
@Column(name = "enabled")
|
@Column(name = "enabled")
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
private Boolean enabled;
|
private Boolean enabled;
|
||||||
|
|
||||||
@Column(name = "created")
|
@Column(name = "created")
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class DefaultFeatureFlag implements Serializable {
|
|||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@OneToOne
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "feature_id", nullable = false)
|
@JoinColumn(name = "feature_id", nullable = false)
|
||||||
private AFeature feature;
|
private AFeature feature;
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class DefaultFeatureMode implements Serializable {
|
|||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@OneToOne
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "feature_id", nullable = false)
|
@JoinColumn(name = "feature_id", nullable = false)
|
||||||
private AFeature feature;
|
private AFeature feature;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user