refactor(configuration): Setup configuration and menu to be reuseable
This commit is contained in:
parent
863ae3fab2
commit
d46bbd84c5
21 changed files with 551 additions and 452 deletions
|
|
@ -1,6 +1,5 @@
|
|||
import {Container} from "../../Container/Container";
|
||||
import {PlaydateRepository} from "../../Database/Repositories/PlaydateRepository";
|
||||
import {GroupConfigurationHandler} from "../../Configuration/Groups/GroupConfigurationHandler";
|
||||
import {GroupConfigurationRepository} from "../../Database/Repositories/GroupConfigurationRepository";
|
||||
import {PlaydateModel} from "../../Database/Models/PlaydateModel";
|
||||
import {ChannelId} from "../../types/DiscordTypes";
|
||||
|
|
@ -8,6 +7,12 @@ import {DiscordClient} from "../../Discord/DiscordClient";
|
|||
import {EmbedBuilder, roleMention, time} from "discord.js";
|
||||
import {ArrayUtils} from "../../Utilities/ArrayUtils";
|
||||
import {EventConfiguration, EventType, TimedEvent} from "../EventHandler.types";
|
||||
import {ConfigurationHandler} from "../../Configuration/ConfigurationHandler";
|
||||
import {
|
||||
GroupConfigurationProvider,
|
||||
RuntimeGroupConfiguration
|
||||
} from "../../Configuration/Groups/GroupConfigurationProvider";
|
||||
import {GroupConfigurationModel} from "../../Database/Models/GroupConfigurationModel";
|
||||
|
||||
export class ReminderEvent implements TimedEvent {
|
||||
private static REMINDER_INTERVALS = [
|
||||
|
|
@ -60,13 +65,15 @@ export class ReminderEvent implements TimedEvent {
|
|||
if (!playdate.group) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
const configurationHandler = new GroupConfigurationHandler(
|
||||
this.groupConfigurationRepository,
|
||||
playdate.group
|
||||
|
||||
const groupConfig = new ConfigurationHandler<GroupConfigurationModel, RuntimeGroupConfiguration>(
|
||||
new GroupConfigurationProvider(
|
||||
Container.get<GroupConfigurationRepository>(GroupConfigurationRepository.name),
|
||||
playdate.group
|
||||
)
|
||||
);
|
||||
|
||||
const config = configurationHandler.getConfiguration();
|
||||
const config = groupConfig.getCompleteConfiguration();
|
||||
const targetChannel = config.channels?.playdateReminders;
|
||||
|
||||
if (!targetChannel) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue