mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-05 09:00:24 +00:00
replaced a bunch of places where the database loaded objects were referenced across threads, this might have lead to problems when lazy loading them
fixed starboard post template fixed starboard post deletion
This commit is contained in:
@@ -54,8 +54,8 @@ public class StarboardPost {
|
||||
@Getter
|
||||
@OneToMany(fetch = FetchType.LAZY,
|
||||
orphanRemoval = true,
|
||||
cascade = {CascadeType.PERSIST, CascadeType.MERGE})
|
||||
@JoinColumn(name="postId")
|
||||
cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE},
|
||||
mappedBy = "starboardPost")
|
||||
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||
private List<StarboardPostReaction> reactions;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.utility.models.database;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AUser;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
|
||||
@@ -24,10 +24,11 @@ public class StarboardPostReaction {
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "reactorId", nullable = false)
|
||||
private AUser reactor;
|
||||
private AUserInAServer reactor;
|
||||
|
||||
@OneToOne
|
||||
@JoinColumn(name = "postId", nullable = false)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "post_id")
|
||||
private StarboardPost starboardPost;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package dev.sheldan.abstracto.utility.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.models.database.AUser;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.utility.models.database.StarboardPost;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsModel;
|
||||
@@ -9,8 +8,8 @@ import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStat
|
||||
import java.util.List;
|
||||
|
||||
public interface StarboardService {
|
||||
void createStarboardPost(CachedMessage message, List<AUser> userExceptAuthor, AUserInAServer userReacting, AUserInAServer starredUser);
|
||||
void updateStarboardPost(StarboardPost post, CachedMessage message, List<AUser> userExceptAuthor);
|
||||
void removeStarboardPost(StarboardPost message);
|
||||
void createStarboardPost(CachedMessage message, List<AUserInAServer> userExceptAuthor, AUserInAServer userReacting, AUserInAServer starredUser);
|
||||
void updateStarboardPost(StarboardPost post, CachedMessage message, List<AUserInAServer> userExceptAuthor);
|
||||
void deleteStarboardMessagePost(StarboardPost message);
|
||||
StarStatsModel retrieveStarStats(Long serverId);
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package dev.sheldan.abstracto.utility.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AUser;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.utility.models.database.StarboardPost;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface StarboardPostReactorManagementService {
|
||||
void addReactor(StarboardPost post, AUser user);
|
||||
void removeReactor(StarboardPost post, AUser user);
|
||||
void addReactor(StarboardPost post, AUserInAServer user);
|
||||
void removeReactor(StarboardPost post, AUserInAServer user);
|
||||
void removeReactors(StarboardPost post);
|
||||
Integer getStarCount(Long serverId);
|
||||
List<StarStatsUser> retrieveTopStarGiver(Long serverId, Integer count);
|
||||
|
||||
Reference in New Issue
Block a user