From aa8ff9ddb59f19ea9feb80f3087e36af2a737660 Mon Sep 17 00:00:00 2001
From: Sheldan <5037282+Sheldan@users.noreply.github.com>
Date: Thu, 9 Apr 2020 23:59:47 +0200
Subject: [PATCH] added rework of model split, not completely done, a lot of
questions open (converters evaluate lazy evaluated properties (might need
addition of different convert methods), hen egg problem with channel and
server for converters, AModels still need to be exposed regardless, because
else database cannot be used in same schema (jpa needs the objects), api need
to be checked, to not convert all the time between objects for no reason)
---
.../moderation/moderation-impl/pom.xml | 6 ++
.../abstracto/moderation/commands/Ban.java | 21 +++-
.../abstracto/moderation/commands/BanId.java | 18 +++-
.../abstracto/moderation/commands/Kick.java | 11 ++-
.../abstracto/moderation/commands/Warn.java | 20 ++--
.../moderation/converter/WarnConverter.java | 30 ++++++
.../moderation/listener/JoinLogger.java | 4 -
.../moderation/listener/LeaveLogger.java | 4 -
.../moderation/models/database/Warning.java | 2 +-
.../moderation/service/BanServiceBean.java | 27 +++--
.../moderation/service/KickServiceBean.java | 12 +--
.../service/SlowModeServiceBean.java | 4 +-
.../moderation/service/WarnServiceBean.java | 61 ++++++------
.../management/WarnManagementServiceBean.java | 14 ++-
.../src/main/resources/moderation.properties | 2 +-
.../moderation/models/dto/WarnDto.java | 21 ++++
.../{BanIdLog.java => BanIdLogModel.java} | 9 +-
.../{BanLog.java => BanLogModel.java} | 11 ++-
.../template/commands/KickLogModel.java | 9 +-
.../models/template/commands/WarnLog.java | 20 ----
.../template/commands/WarnLogModel.java | 16 +++
.../models/template/commands/WarnModel.java | 21 ++++
...cation.java => WarnNotificationModel.java} | 8 +-
.../moderation/service/BanService.java | 9 +-
.../moderation/service/KickService.java | 3 +-
.../moderation/service/SlowModeService.java | 4 +-
.../moderation/service/WarnService.java | 10 +-
.../management/WarnManagementService.java | 8 --
.../utility/commands/remind/Remind.java | 4 +-
.../utility/commands/remind/Reminders.java | 4 +-
.../config/StarboardConfigListener.java | 10 +-
.../utility/converter/StarPostConverter.java | 26 +++++
.../listener/embed/MessageEmbedListener.java | 8 +-
.../MessageEmbedRemovalReactionListener.java | 22 ++---
.../listener/starboard/StarboardListener.java | 60 ++++++------
.../StarboardPostDeletedListener.java | 4 +-
.../repository/ReminderRepository.java | 2 +-
.../StarboardPostReactionRepository.java | 2 +-
.../converter/StarStatsUserConverter.java | 8 +-
.../service/MessageEmbedServiceBean.java | 60 ++++++------
.../utility/service/RemindServiceBean.java | 41 +++++---
.../utility/service/StarboardServiceBean.java | 69 +++++++------
.../service/SuggestionServiceBean.java | 20 ++--
...MessageEmbedPostManagementServiceBean.java | 31 +++---
.../ReminderManagementServiceBean.java | 32 +++---
.../StarboardPostManagementServiceBean.java | 31 +++---
...boardPostReactorManagementServiceBean.java | 25 ++---
.../SuggestionManagementServiceBean.java | 49 +++++-----
.../models/database/EmbeddedMessage.java | 6 +-
.../utility/models/database/Reminder.java | 6 +-
.../models/database/StarboardPost.java | 4 +-
.../database/StarboardPostReaction.java | 2 +-
.../utility/models/database/Suggestion.java | 6 +-
.../commands/starboard/StarStatsPost.java | 14 +--
.../commands/starboard/StarStatsUser.java | 4 +-
.../starboard/StarboardPostModel.java | 8 +-
.../utility/service/MessageEmbedService.java | 6 +-
.../utility/service/ReminderService.java | 4 +-
.../utility/service/StarboardService.java | 8 +-
.../MessageEmbedPostManagementService.java | 15 ---
.../management/ReminderManagementService.java | 15 ---
.../StarboardPostManagementService.java | 22 -----
...StarboardPostReactorManagementService.java | 16 ---
.../SuggestionManagementService.java | 15 ---
.../core/core-db-models/pom.xml | 32 ++++++
.../abstracto/core/models}/AChannel.java | 12 +--
.../abstracto/core/models}/AChannelGroup.java | 3 +-
.../core/models}/AChannelGroupCommand.java | 3 +-
.../abstracto/core/models}/AChannelType.java | 2 +-
.../abstracto/core/models}/ACommand.java | 2 +-
.../abstracto/core/models}/AConfig.java | 2 +-
.../abstracto/core/models}/AEmote.java | 2 +-
.../abstracto/core/models}/AFeatureFlag.java | 2 +-
.../abstracto/core/models}/AModule.java | 2 +-
.../sheldan/abstracto/core/models}/ARole.java | 2 +-
.../abstracto/core/models}/AServer.java | 2 +-
.../sheldan/abstracto/core/models}/AUser.java | 4 +-
.../core/models}/AUserInAServer.java | 2 +-
.../abstracto/core/models}/PostTarget.java | 4 +-
.../abstracto/core/models/SnowFlake.java | 0
.../models/converter/ChannelConverter.java | 46 +++++++++
.../converter/ChannelGroupConverter.java | 36 +++++++
.../models/converter/CommandConverter.java | 26 +++++
.../core/models/converter/EmoteConverter.java | 26 +++++
.../models/converter/ModuleConverter.java | 25 +++++
.../models/converter/PostTargetConverter.java | 30 ++++++
.../core/models/converter/RoleConverter.java | 24 +++++
.../models/converter/ServerConverter.java | 61 ++++++++++++
.../core/models/converter/UserConverter.java | 22 +++++
.../converter/UserInServerConverter.java | 42 ++++++++
.../abstracto/core/models/dto/ChannelDto.java | 15 +++
.../models/dto/ChannelGroupCommandDto.java | 16 +++
.../core/models/dto/ChannelGroupDto.java | 21 ++++
.../abstracto/core/models/dto/CommandDto.java | 15 +++
.../abstracto/core/models/dto/EmoteDto.java | 18 ++++
.../abstracto/core/models/dto/ModuleDto.java | 19 ++++
.../core/models/dto/PostTargetDto.java | 15 +++
.../abstracto/core/models/dto/RoleDto.java | 14 +++
.../abstracto/core/models/dto/ServerDto.java | 20 ++++
.../abstracto/core/models/dto/UserDto.java | 14 +++
.../core/models/dto/UserInServerDto.java | 17 ++++
.../core/models/utils/ChannelUtils.java | 16 +++
abstracto-application/core/core-impl/pom.xml | 7 ++
.../core/command/CommandReceivedHandler.java | 46 ++++++---
.../command/config/CommandConfigListener.java | 4 +-
.../ChannelGroupCommandRepository.java | 6 +-
.../command/repository/CommandRepository.java | 2 +-
.../command/repository/ModuleRepository.java | 2 +-
.../ChannelGroupCommandServiceBean.java | 21 ++--
.../command/service/CommandServiceBean.java | 29 ++++--
...nnelGroupCommandManagementServiceBean.java | 37 +++----
.../CommandManagementServiceBean.java | 41 ++++----
.../ModuleManagementServiceBean.java | 8 +-
.../abstracto/core/commands/Disable.java | 4 +-
.../abstracto/core/commands/Enable.java | 4 +-
.../commands/channels/ListChannelGroups.java | 12 +--
.../core/commands/channels/PostTarget.java | 8 +-
.../core/commands/utility/SetEmote.java | 4 +-
.../core/config/FeatureFlagListener.java | 8 +-
.../core/listener/ChannelListener.java | 28 +++---
.../core/listener/JoinListenerBean.java | 1 +
.../listener/ReactionUpdatedListener.java | 27 ++---
.../repository/ChannelGroupRepository.java | 4 +-
.../core/repository/ChannelRepository.java | 2 +-
.../core/repository/ConfigRepository.java | 2 +-
.../core/repository/EmoteRepository.java | 4 +-
.../repository/FeatureFlagRepository.java | 4 +-
.../core/repository/PostTargetRepository.java | 4 +-
.../core/repository/RoleRepository.java | 2 +-
.../core/repository/ServerRepository.java | 2 +-
.../repository/UserInServerRepository.java | 6 +-
.../core/repository/UserRepository.java | 2 +-
.../core/service/BotServiceBean.java | 4 +-
.../core/service/ChannelGroupServiceBean.java | 98 ++++++++++++-------
.../core/service/ChannelServiceBean.java | 20 +++-
.../core/service/ConfigServiceBean.java | 11 ++-
.../core/service/EmoteServiceBean.java | 27 +++--
.../core/service/FeatureFlagServiceBean.java | 4 +-
.../core/service/MessageCacheBean.java | 14 +--
.../core/service/MessageServiceBean.java | 6 +-
.../core/service/PostTargetServiceBean.java | 42 ++++----
.../core/service/StartupServiceBean.java | 46 +++++----
.../core/service/UserServiceBean.java | 27 +++++
.../ChannelGroupManagementServiceBean.java | 74 +++++++++-----
.../ChannelManagementServiceBean.java | 28 +++---
.../ConfigManagementServiceBean.java | 19 ++--
.../EmoteManagementServiceBean.java | 73 +++++++-------
.../FeatureFlagManagementServiceBean.java | 23 ++---
.../management/PostTargetManagementBean.java | 66 +++++++------
.../management/RoleManagementServiceBean.java | 5 +-
.../ServerManagementServiceBean.java | 82 +++++++++-------
.../management/UserManagementServiceBean.java | 60 ++++++------
.../core/core-interface/pom.xml | 9 +-
.../condition/CommandDisabledCondition.java | 10 +-
.../condition/FeatureEnabledCondition.java | 6 +-
...ace.java => AbstractoModuleInterface.java} | 2 +-
.../command/config/CommandConfiguration.java | 3 +-
.../core/command/config/CommandHierarchy.java | 3 +-
.../core/command/config/HelpInfo.java | 3 +-
.../core/command/config/ModuleInfo.java | 3 +-
.../core/command/config/ModuleInterface.java | 2 -
.../core/command/config/Parameter.java | 4 +-
.../core/command/config/Parameters.java | 2 +-
.../core/command/execution/CommandResult.java | 4 +-
.../service/ChannelGroupCommandService.java | 6 +-
.../core/command/service/CommandService.java | 5 +-
.../core/command/service/UserService.java | 9 ++
.../ChannelGroupCommandManagementService.java | 14 ---
.../management/CommandManagementService.java | 11 ---
.../management/ModuleManagementService.java | 10 --
.../core/converter/ChannelModelConverter.java | 15 +++
.../core/converter/ServerModelConverter.java | 12 +++
.../converter/UserInServerModelConverter.java | 37 +++++++
.../core/converter/UserModelConverter.java | 12 +++
.../exception/FeatureDisabledException.java | 7 --
.../core/listener/ReactedAddedListener.java | 4 +-
.../core/listener/ReactedRemovedListener.java | 4 +-
.../core/listener/ServerConfigListener.java | 4 +-
.../core/models/AServerAChannelAUser.java | 16 +--
.../core/models/AServerAChannelMessage.java | 8 +-
.../core/models/cache/CachedReaction.java | 8 +-
.../core/models/context/ServerContext.java | 4 +-
.../context/UserInitiatedServerContext.java | 12 +--
.../core/models/template/ChannelModel.java | 12 +++
.../models/template/ServerContextModel.java | 19 ++++
.../core/models/template/ServerModel.java | 13 +++
.../models/template/UserInServerModel.java | 15 +++
.../UserInitiatedServerContextModel.java | 16 +++
.../core/models/template/UserModel.java | 12 +++
.../commands/ChannelGroupChannelModel.java | 4 +-
.../listener/MessageEmbeddedModel.java | 10 +-
.../sheldan/abstracto/core/service/Bot.java | 4 +-
.../core/service/ChannelGroupService.java | 14 ++-
.../core/service/ChannelService.java | 7 +-
.../abstracto/core/service/ConfigService.java | 1 +
.../abstracto/core/service/EmoteService.java | 11 ++-
.../core/service/PostTargetService.java | 13 +--
.../ChannelGroupManagementService.java | 17 ----
.../management/ChannelManagementService.java | 11 ---
.../management/ConfigManagementService.java | 13 ---
.../management/EmoteManagementService.java | 26 -----
.../FeatureFlagManagementService.java | 14 ---
.../management/PostTargetManagement.java | 17 ----
.../management/RoleManagementService.java | 7 --
.../management/ServerManagementService.java | 18 ----
.../management/UserManagementService.java | 17 ----
.../core/utils/AbstractoDateUtils.java | 11 +++
.../abstracto/core/utils/ContextUtils.java | 19 ++--
.../abstracto/core/utils/EmoteUtils.java | 8 +-
.../core/utils/ContextUtilsTest.java | 67 -------------
abstracto-application/core/pom.xml | 1 +
211 files changed, 2067 insertions(+), 1297 deletions(-)
create mode 100644 abstracto-application/abstracto-modules/moderation/moderation-impl/src/main/java/dev/sheldan/abstracto/moderation/converter/WarnConverter.java
rename abstracto-application/abstracto-modules/moderation/{moderation-int => moderation-impl}/src/main/java/dev/sheldan/abstracto/moderation/models/database/Warning.java (92%)
create mode 100644 abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/dto/WarnDto.java
rename abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/template/commands/{BanIdLog.java => BanIdLogModel.java} (61%)
rename abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/template/commands/{BanLog.java => BanLogModel.java} (55%)
delete mode 100644 abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/template/commands/WarnLog.java
create mode 100644 abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/template/commands/WarnLogModel.java
create mode 100644 abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/template/commands/WarnModel.java
rename abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/models/template/commands/{WarnNotification.java => WarnNotificationModel.java} (50%)
delete mode 100644 abstracto-application/abstracto-modules/moderation/moderation-int/src/main/java/dev/sheldan/abstracto/moderation/service/management/WarnManagementService.java
create mode 100644 abstracto-application/abstracto-modules/utility/utility-impl/src/main/java/dev/sheldan/abstracto/utility/converter/StarPostConverter.java
delete mode 100644 abstracto-application/abstracto-modules/utility/utility-int/src/main/java/dev/sheldan/abstracto/utility/service/management/MessageEmbedPostManagementService.java
delete mode 100644 abstracto-application/abstracto-modules/utility/utility-int/src/main/java/dev/sheldan/abstracto/utility/service/management/ReminderManagementService.java
delete mode 100644 abstracto-application/abstracto-modules/utility/utility-int/src/main/java/dev/sheldan/abstracto/utility/service/management/StarboardPostManagementService.java
delete mode 100644 abstracto-application/abstracto-modules/utility/utility-int/src/main/java/dev/sheldan/abstracto/utility/service/management/StarboardPostReactorManagementService.java
delete mode 100644 abstracto-application/abstracto-modules/utility/utility-int/src/main/java/dev/sheldan/abstracto/utility/service/management/SuggestionManagementService.java
create mode 100644 abstracto-application/core/core-db-models/pom.xml
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AChannel.java (63%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AChannelGroup.java (90%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AChannelGroupCommand.java (83%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AChannelType.java (58%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/command/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/ACommand.java (87%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AConfig.java (91%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AEmote.java (91%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AFeatureFlag.java (91%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/command/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AModule.java (91%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/ARole.java (89%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AServer.java (96%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AUser.java (81%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/AUserInAServer.java (91%)
rename abstracto-application/core/{core-interface/src/main/java/dev/sheldan/abstracto/core/models/database => core-db-models/src/main/java/dev/sheldan/abstracto/core/models}/PostTarget.java (85%)
rename abstracto-application/core/{core-interface => core-db-models}/src/main/java/dev/sheldan/abstracto/core/models/SnowFlake.java (100%)
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/ChannelConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/ChannelGroupConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/CommandConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/EmoteConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/ModuleConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/PostTargetConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/RoleConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/ServerConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/UserConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/converter/UserInServerConverter.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/ChannelDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/ChannelGroupCommandDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/ChannelGroupDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/CommandDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/EmoteDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/ModuleDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/PostTargetDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/RoleDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/ServerDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/UserDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/dto/UserInServerDto.java
create mode 100644 abstracto-application/core/core-db-models/src/main/java/dev/sheldan/abstracto/core/models/utils/ChannelUtils.java
create mode 100644 abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/service/UserServiceBean.java
rename abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/command/config/{AbstracatoModuleInterface.java => AbstractoModuleInterface.java} (84%)
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/command/service/UserService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/command/service/management/ChannelGroupCommandManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/command/service/management/CommandManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/command/service/management/ModuleManagementService.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/converter/ChannelModelConverter.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/converter/ServerModelConverter.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/converter/UserInServerModelConverter.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/converter/UserModelConverter.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/exception/FeatureDisabledException.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/models/template/ChannelModel.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/models/template/ServerContextModel.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/models/template/ServerModel.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/models/template/UserInServerModel.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/models/template/UserInitiatedServerContextModel.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/models/template/UserModel.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/ChannelGroupManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/ChannelManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/ConfigManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/EmoteManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/FeatureFlagManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/PostTargetManagement.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/RoleManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/ServerManagementService.java
delete mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/service/management/UserManagementService.java
create mode 100644 abstracto-application/core/core-interface/src/main/java/dev/sheldan/abstracto/core/utils/AbstractoDateUtils.java
delete mode 100644 abstracto-application/core/core-interface/src/test/java/dev/sheldan/abstracto/core/utils/ContextUtilsTest.java
diff --git a/abstracto-application/abstracto-modules/moderation/moderation-impl/pom.xml b/abstracto-application/abstracto-modules/moderation/moderation-impl/pom.xml
index 3e16f121b..bfee4722e 100644
--- a/abstracto-application/abstracto-modules/moderation/moderation-impl/pom.xml
+++ b/abstracto-application/abstracto-modules/moderation/moderation-impl/pom.xml
@@ -17,6 +17,12 @@
moderation-int
${project.version}
+
+
+ dev.sheldan.abstracto.core
+ core-db-models
+ ${project.version}
+
\ No newline at end of file
diff --git a/abstracto-application/abstracto-modules/moderation/moderation-impl/src/main/java/dev/sheldan/abstracto/moderation/commands/Ban.java b/abstracto-application/abstracto-modules/moderation/moderation-impl/src/main/java/dev/sheldan/abstracto/moderation/commands/Ban.java
index 8be5e0edf..0c16bdcda 100644
--- a/abstracto-application/abstracto-modules/moderation/moderation-impl/src/main/java/dev/sheldan/abstracto/moderation/commands/Ban.java
+++ b/abstracto-application/abstracto-modules/moderation/moderation-impl/src/main/java/dev/sheldan/abstracto/moderation/commands/Ban.java
@@ -5,9 +5,12 @@ import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.*;
+import dev.sheldan.abstracto.core.command.service.UserService;
+import dev.sheldan.abstracto.core.converter.UserInServerModelConverter;
+import dev.sheldan.abstracto.core.service.PostTargetService;
import dev.sheldan.abstracto.moderation.Moderation;
import dev.sheldan.abstracto.moderation.config.ModerationFeatures;
-import dev.sheldan.abstracto.moderation.models.template.commands.BanLog;
+import dev.sheldan.abstracto.moderation.models.template.commands.BanLogModel;
import dev.sheldan.abstracto.moderation.service.BanService;
import dev.sheldan.abstracto.templating.service.TemplateService;
import lombok.extern.slf4j.Slf4j;
@@ -28,6 +31,13 @@ public class Ban extends AbstractConditionableCommand {
@Autowired
private TemplateService templateService;
+ @Autowired
+ private PostTargetService postTargetService;
+
+ @Autowired
+ private UserInServerModelConverter userConverter;
+
+
@Override
public CommandResult execute(CommandContext commandContext) {
List