mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-24 13:44:33 +00:00
fixed initial setup for mod mail category
fixed setup for locking added exception message in case the modmail post target is not defined
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.service.LockService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.event.ContextRefreshedEvent;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Component
|
||||
public class LockStartupListener {
|
||||
|
||||
@Autowired
|
||||
private LockService lockService;
|
||||
|
||||
@EventListener
|
||||
@Transactional
|
||||
public void handleContextRefreshEvent(ContextRefreshedEvent ctxStartEvt) {
|
||||
lockService.setupLocks();
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,5 @@ import javax.persistence.*;
|
||||
public class ALock {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.models.TableLocks;
|
||||
import dev.sheldan.abstracto.core.model.database.ALock;
|
||||
import dev.sheldan.abstracto.core.repository.LockRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -16,4 +17,17 @@ public class LockServiceBean implements LockService {
|
||||
int ordinal = toLock.ordinal();
|
||||
lockRepository.findArticleForRead((long) ordinal);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setupLocks() {
|
||||
for (TableLocks lo :TableLocks.values()) {
|
||||
if(!lockRepository.existsById((long)lo.ordinal())) {
|
||||
ALock build = ALock
|
||||
.builder()
|
||||
.id((long) lo.ordinal())
|
||||
.build();
|
||||
lockRepository.save(build);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.service;
|
||||
import dev.sheldan.abstracto.core.config.DynamicKeyLoader;
|
||||
import dev.sheldan.abstracto.core.exception.ChannelException;
|
||||
import dev.sheldan.abstracto.core.exception.GuildException;
|
||||
import dev.sheldan.abstracto.core.exception.PostTargetException;
|
||||
import dev.sheldan.abstracto.core.service.management.PostTargetManagement;
|
||||
import dev.sheldan.abstracto.core.models.database.PostTarget;
|
||||
import dev.sheldan.abstracto.templating.model.MessageToSend;
|
||||
@@ -70,7 +71,7 @@ public class PostTargetServiceBean implements PostTargetService {
|
||||
return postTarget;
|
||||
} else {
|
||||
log.error("PostTarget {} in server {} was not found!", postTargetName, serverId);
|
||||
throw new ChannelException(String.format("Incorrect post target configuration: Post target %s was not found.", postTargetName));
|
||||
throw new PostTargetException(String.format("Incorrect post target configuration: Post target %s was not found.", postTargetName));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user