mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-18 04:50:38 +00:00
[AB-137] fixing occurrences for templates in cases entities do not exist anymore
fixing feature mode retrieval to adapt to lowercase fixing disable exp role creation and retrieval removing ansible code
This commit is contained in:
@@ -19,6 +19,7 @@ import dev.sheldan.abstracto.experience.models.database.ADisabledExpRole;
|
||||
import dev.sheldan.abstracto.experience.models.templates.DisabledExperienceRolesModel;
|
||||
import dev.sheldan.abstracto.experience.service.management.DisabledExpRoleManagementService;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.entities.Role;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -51,10 +52,14 @@ public class ListDisabledExperienceRoles extends AbstractConditionableCommand {
|
||||
List<ADisabledExpRole> disabledRolesForServer = disabledExpRoleManagementService.getDisabledRolesForServer(server);
|
||||
DisabledExperienceRolesModel disabledExperienceRolesModel = (DisabledExperienceRolesModel) ContextConverter.fromCommandContext(commandContext, DisabledExperienceRolesModel.class);
|
||||
disabledRolesForServer.forEach(aDisabledExpRole -> {
|
||||
Role jdaRole = null;
|
||||
if(!aDisabledExpRole.getRole().getDeleted()) {
|
||||
jdaRole = roleService.getRoleFromGuild(aDisabledExpRole.getRole());
|
||||
}
|
||||
FullRole role = FullRole
|
||||
.builder()
|
||||
.role(aDisabledExpRole.getRole())
|
||||
.serverRole(roleService.getRoleFromGuild(aDisabledExpRole.getRole()))
|
||||
.serverRole(jdaRole)
|
||||
.build();
|
||||
disabledExperienceRolesModel.getRoles().add(role);
|
||||
});
|
||||
|
||||
@@ -4,11 +4,14 @@ import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.core.service.MemberService;
|
||||
import dev.sheldan.abstracto.experience.models.LeaderBoard;
|
||||
import dev.sheldan.abstracto.experience.models.LeaderBoardEntry;
|
||||
import dev.sheldan.abstracto.experience.models.database.AUserExperience;
|
||||
import dev.sheldan.abstracto.experience.models.templates.LeaderBoardEntryModel;
|
||||
import dev.sheldan.abstracto.experience.service.management.UserExperienceManagementService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -24,6 +27,12 @@ public class LeaderBoardModelConverter {
|
||||
@Autowired
|
||||
private MemberService memberService;
|
||||
|
||||
@Autowired
|
||||
private UserExperienceManagementService userExperienceManagementService;
|
||||
|
||||
@Autowired
|
||||
private LeaderBoardModelConverter self;
|
||||
|
||||
/**
|
||||
* Converts the complete {@link LeaderBoard leaderBoard} into a list of {@link LeaderBoardEntryModel leaderbaordEntryModels} which contain additional
|
||||
* information available for rendering the leader board ({@link Member member} reference and more)
|
||||
@@ -50,13 +59,21 @@ public class LeaderBoardModelConverter {
|
||||
*/
|
||||
public CompletableFuture<LeaderBoardEntryModel> fromLeaderBoardEntry(LeaderBoardEntry leaderBoardEntry) {
|
||||
AUserInAServer entryUser = leaderBoardEntry.getExperience().getUser();
|
||||
return memberService.getMemberInServerAsync(entryUser.getServerReference().getId(), entryUser.getUserReference().getId()).thenApply(member ->
|
||||
LeaderBoardEntryModel
|
||||
.builder()
|
||||
.experience(leaderBoardEntry.getExperience())
|
||||
.member(member).rank(leaderBoardEntry.getRank())
|
||||
.rank(leaderBoardEntry.getRank())
|
||||
.build()
|
||||
);
|
||||
Long userInServerId = leaderBoardEntry.getExperience().getUser().getUserInServerId();
|
||||
Integer rank = leaderBoardEntry.getRank();
|
||||
return memberService.getMemberInServerAsync(entryUser.getServerReference().getId(), entryUser.getUserReference().getId())
|
||||
.thenApply(member -> self.buildLeaderBoardModel(userInServerId, member, rank))
|
||||
.exceptionally(throwable -> self.buildLeaderBoardModel(userInServerId, null, rank));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public LeaderBoardEntryModel buildLeaderBoardModel(Long userInServerId, Member member, Integer rank) {
|
||||
AUserExperience experience = userExperienceManagementService.findByUserInServerId(userInServerId);
|
||||
return LeaderBoardEntryModel
|
||||
.builder()
|
||||
.experience(experience)
|
||||
.member(member)
|
||||
.rank(rank)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class DisabledExpRoleManagementServiceBean implements DisabledExpRoleMana
|
||||
public ADisabledExpRole setRoleToBeDisabledForExp(ARole role) {
|
||||
ADisabledExpRole newRole = ADisabledExpRole
|
||||
.builder()
|
||||
.id(role.getId())
|
||||
.role(role)
|
||||
.build();
|
||||
log.info("Adding disabled exp role {} for server {}.", role.getId(), role.getServer().getId());
|
||||
@@ -39,7 +40,7 @@ public class DisabledExpRoleManagementServiceBean implements DisabledExpRoleMana
|
||||
|
||||
@Override
|
||||
public boolean isExperienceDisabledForRole(ARole role) {
|
||||
return disabledExpRoleRepository.existsByRole(role);
|
||||
return disabledExpRoleRepository.existsById(role.getId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user