diff --git a/source/Groups/ConfigurationMenuHandler.ts b/source/Configuration/Groups/ConfigurationMenuHandler.ts similarity index 98% rename from source/Groups/ConfigurationMenuHandler.ts rename to source/Configuration/Groups/ConfigurationMenuHandler.ts index 9b0fc19..330a1e6 100644 --- a/source/Groups/ConfigurationMenuHandler.ts +++ b/source/Configuration/Groups/ConfigurationMenuHandler.ts @@ -3,7 +3,7 @@ import { FieldMenuItemContext, FieldMenuItemSaveValue, MenuItem, MenuItemType, PromptMenuItem, RowBuilderFieldMenuItemContext -} from "../Menu/MenuRenderer.types"; +} from "../../Menu/MenuRenderer.types"; import {GroupConfigurationTransformers} from "./GroupConfigurationTransformers"; import {GroupConfigurationHandler} from "./GroupConfigurationHandler"; import { @@ -16,9 +16,9 @@ import { StringSelectMenuBuilder, StringSelectMenuOptionBuilder, TextInputBuilder, TextInputStyle } from "discord.js"; -import {ChannelId} from "../types/DiscordTypes"; +import {ChannelId} from "../../types/DiscordTypes"; import {MessageActionRowComponentBuilder} from "@discordjs/builders"; -import {Prompt} from "../Menu/Modals/Prompt"; +import {Prompt} from "../../Menu/Modals/Prompt"; export class ConfigurationMenuHandler { diff --git a/source/Groups/GroupConfigurationHandler.ts b/source/Configuration/Groups/GroupConfigurationHandler.ts similarity index 91% rename from source/Groups/GroupConfigurationHandler.ts rename to source/Configuration/Groups/GroupConfigurationHandler.ts index a2f37bd..87fe58d 100644 --- a/source/Groups/GroupConfigurationHandler.ts +++ b/source/Configuration/Groups/GroupConfigurationHandler.ts @@ -1,11 +1,11 @@ import {RuntimeGroupConfiguration} from "./RuntimeGroupConfiguration"; -import {GroupConfigurationRepository} from "../Repositories/GroupConfigurationRepository"; -import {GroupModel} from "../Models/GroupModel"; +import {GroupConfigurationRepository} from "../../Database/Repositories/GroupConfigurationRepository"; +import {GroupModel} from "../../Database/Models/GroupModel"; import {GroupConfigurationResult, GroupConfigurationTransformers} from "./GroupConfigurationTransformers"; // @ts-expect-error set-path is provided import setPath from 'object-path-set'; import deepmerge from "deepmerge"; -import {Nullable} from "../types/Nullable"; +import {Nullable} from "../../types/Nullable"; // @ts-expect-error Any is fine import {isPlainObject} from "is-plain-object"; diff --git a/source/Groups/GroupConfigurationTransformers.ts b/source/Configuration/Groups/GroupConfigurationTransformers.ts similarity index 88% rename from source/Groups/GroupConfigurationTransformers.ts rename to source/Configuration/Groups/GroupConfigurationTransformers.ts index c856165..47a4380 100644 --- a/source/Groups/GroupConfigurationTransformers.ts +++ b/source/Configuration/Groups/GroupConfigurationTransformers.ts @@ -1,7 +1,7 @@ -import {ChannelId} from "../types/DiscordTypes"; -import {GroupConfigurationModel} from "../Models/GroupConfigurationModel"; -import {Nullable} from "../types/Nullable"; -import {ArrayUtils} from "../Utilities/ArrayUtils"; +import {ChannelId} from "../../types/DiscordTypes"; +import {GroupConfigurationModel} from "../../Database/Models/GroupConfigurationModel"; +import {Nullable} from "../../types/Nullable"; +import {ArrayUtils} from "../../Utilities/ArrayUtils"; export enum TransformerType { Locale, diff --git a/source/Groups/RuntimeGroupConfiguration.d.ts b/source/Configuration/Groups/RuntimeGroupConfiguration.d.ts similarity index 84% rename from source/Groups/RuntimeGroupConfiguration.d.ts rename to source/Configuration/Groups/RuntimeGroupConfiguration.d.ts index edd611f..de076a3 100644 --- a/source/Groups/RuntimeGroupConfiguration.d.ts +++ b/source/Configuration/Groups/RuntimeGroupConfiguration.d.ts @@ -1,5 +1,5 @@ -import {ChannelId} from "../types/DiscordTypes"; -import {Nullable} from "../types/Nullable"; +import {ChannelId} from "../../types/DiscordTypes"; +import {Nullable} from "../../types/Nullable"; export type RuntimeGroupConfiguration = { channels: Nullable, diff --git a/source/Container/Services.ts b/source/Container/Services.ts index 129e857..324bdbb 100644 --- a/source/Container/Services.ts +++ b/source/Container/Services.ts @@ -3,9 +3,9 @@ import {Container} from "./Container"; import {DatabaseConnection} from "../Database/DatabaseConnection"; import {configure, getLogger, Logger} from "log4js"; import path from "node:path"; -import {GroupRepository} from "../Repositories/GroupRepository"; -import {PlaydateRepository} from "../Repositories/PlaydateRepository"; -import {GroupConfigurationRepository} from "../Repositories/GroupConfigurationRepository"; +import {GroupRepository} from "../Database/Repositories/GroupRepository"; +import {PlaydateRepository} from "../Database/Repositories/PlaydateRepository"; +import {GroupConfigurationRepository} from "../Database/Repositories/GroupConfigurationRepository"; import {DiscordClient} from "../Discord/DiscordClient"; import {IconCache} from "../Icons/IconCache"; import {EventHandler} from "../Events/EventHandler"; diff --git a/source/Models/GroupConfigurationModel.ts b/source/Database/Models/GroupConfigurationModel.ts similarity index 100% rename from source/Models/GroupConfigurationModel.ts rename to source/Database/Models/GroupConfigurationModel.ts diff --git a/source/Models/GroupModel.ts b/source/Database/Models/GroupModel.ts similarity index 68% rename from source/Models/GroupModel.ts rename to source/Database/Models/GroupModel.ts index 64fc6f7..950680d 100644 --- a/source/Models/GroupModel.ts +++ b/source/Database/Models/GroupModel.ts @@ -1,5 +1,5 @@ import {Model} from "./Model"; -import {GuildMember, Role} from "../types/DiscordTypes"; +import {GuildMember, Role} from "../../types/DiscordTypes"; export interface GroupModel extends Model { name: string; diff --git a/source/Models/Model.ts b/source/Database/Models/Model.ts similarity index 100% rename from source/Models/Model.ts rename to source/Database/Models/Model.ts diff --git a/source/Models/PlaydateModel.ts b/source/Database/Models/PlaydateModel.ts similarity index 79% rename from source/Models/PlaydateModel.ts rename to source/Database/Models/PlaydateModel.ts index d8e3c2b..d535b34 100644 --- a/source/Models/PlaydateModel.ts +++ b/source/Database/Models/PlaydateModel.ts @@ -1,6 +1,6 @@ import {Model} from "./Model"; import {GroupModel} from "./GroupModel"; -import {Nullable} from "../types/Nullable"; +import {Nullable} from "../../types/Nullable"; export interface PlaydateModel extends Model { group: Nullable diff --git a/source/Repositories/GroupConfigurationRepository.ts b/source/Database/Repositories/GroupConfigurationRepository.ts similarity index 90% rename from source/Repositories/GroupConfigurationRepository.ts rename to source/Database/Repositories/GroupConfigurationRepository.ts index c8c50bc..42328df 100644 --- a/source/Repositories/GroupConfigurationRepository.ts +++ b/source/Database/Repositories/GroupConfigurationRepository.ts @@ -1,9 +1,9 @@ import {Repository} from "./Repository"; -import GroupConfiguration, {DBGroupConfiguration} from "../Database/tables/GroupConfiguration"; +import GroupConfiguration, {DBGroupConfiguration} from "../tables/GroupConfiguration"; import {GroupConfigurationModel} from "../Models/GroupConfigurationModel"; import {GroupModel} from "../Models/GroupModel"; -import {Nullable} from "../types/Nullable"; -import {DatabaseConnection} from "../Database/DatabaseConnection"; +import {Nullable} from "../../types/Nullable"; +import {DatabaseConnection} from "../DatabaseConnection"; import {GroupRepository} from "./GroupRepository"; export class GroupConfigurationRepository extends Repository { diff --git a/source/Repositories/GroupRepository.ts b/source/Database/Repositories/GroupRepository.ts similarity index 93% rename from source/Repositories/GroupRepository.ts rename to source/Database/Repositories/GroupRepository.ts index bd2db3a..9936376 100644 --- a/source/Repositories/GroupRepository.ts +++ b/source/Database/Repositories/GroupRepository.ts @@ -1,11 +1,11 @@ import {Repository} from "./Repository"; import {GroupModel} from "../Models/GroupModel"; -import Groups, {DBGroup} from "../Database/tables/Groups"; -import {DatabaseConnection} from "../Database/DatabaseConnection"; +import Groups, {DBGroup} from "../tables/Groups"; +import {DatabaseConnection} from "../DatabaseConnection"; import {GuildMember, UserFlagsBitField} from "discord.js"; -import {Nullable} from "../types/Nullable"; +import {Nullable} from "../../types/Nullable"; import {PlaydateRepository} from "./PlaydateRepository"; -import {Container} from "../Container/Container"; +import {Container} from "../../Container/Container"; export class GroupRepository extends Repository { diff --git a/source/Repositories/PlaydateRepository.ts b/source/Database/Repositories/PlaydateRepository.ts similarity index 94% rename from source/Repositories/PlaydateRepository.ts rename to source/Database/Repositories/PlaydateRepository.ts index 1e337e0..2e2bd08 100644 --- a/source/Repositories/PlaydateRepository.ts +++ b/source/Database/Repositories/PlaydateRepository.ts @@ -1,10 +1,10 @@ import {Repository} from "./Repository"; import {PlaydateModel} from "../Models/PlaydateModel"; -import Playdate, {DBPlaydate} from "../Database/tables/Playdate"; -import {DatabaseConnection} from "../Database/DatabaseConnection"; +import Playdate, {DBPlaydate} from "../tables/Playdate"; +import {DatabaseConnection} from "../DatabaseConnection"; import {GroupRepository} from "./GroupRepository"; import {GroupModel} from "../Models/GroupModel"; -import {Nullable} from "../types/Nullable"; +import {Nullable} from "../../types/Nullable"; export class PlaydateRepository extends Repository { diff --git a/source/Repositories/Repository.ts b/source/Database/Repositories/Repository.ts similarity index 88% rename from source/Repositories/Repository.ts rename to source/Database/Repositories/Repository.ts index d8c2552..dc65d87 100644 --- a/source/Repositories/Repository.ts +++ b/source/Database/Repositories/Repository.ts @@ -1,10 +1,10 @@ -import {DatabaseConnection} from "../Database/DatabaseConnection"; +import {DatabaseConnection} from "../DatabaseConnection"; import {Model} from "../Models/Model"; -import {Nullable} from "../types/Nullable"; -import {DatabaseDefinition} from "../Database/DatabaseDefinition"; -import {Container} from "../Container/Container"; -import {EventHandler} from "../Events/EventHandler"; -import {ElementCreatedEvent} from "../Events/EventClasses/ElementCreatedEvent"; +import {Nullable} from "../../types/Nullable"; +import {DatabaseDefinition} from "../DatabaseDefinition"; +import {Container} from "../../Container/Container"; +import {EventHandler} from "../../Events/EventHandler"; +import {ElementCreatedEvent} from "../../Events/EventClasses/ElementCreatedEvent"; export class Repository { diff --git a/source/Discord/CommandPartials/GroupSelection.ts b/source/Discord/CommandPartials/GroupSelection.ts index cb1fe7c..73e8e7b 100644 --- a/source/Discord/CommandPartials/GroupSelection.ts +++ b/source/Discord/CommandPartials/GroupSelection.ts @@ -4,8 +4,8 @@ import { GuildMember, SlashCommandIntegerOption, } from "discord.js"; import {Container} from "../../Container/Container"; -import {GroupRepository} from "../../Repositories/GroupRepository"; -import {GroupModel} from "../../Models/GroupModel"; +import {GroupRepository} from "../../Database/Repositories/GroupRepository"; +import {GroupModel} from "../../Database/Models/GroupModel"; import {UserError} from "../UserError"; export class GroupSelection { diff --git a/source/Discord/Commands/Groups.ts b/source/Discord/Commands/Groups.ts index ed02428..e83ab77 100644 --- a/source/Discord/Commands/Groups.ts +++ b/source/Discord/Commands/Groups.ts @@ -12,21 +12,21 @@ import { userMention } from "discord.js"; import {AutocompleteCommand, ChatInteractionCommand, Command} from "./Command"; -import {GroupModel} from "../../Models/GroupModel"; -import {GroupRepository} from "../../Repositories/GroupRepository"; +import {GroupModel} from "../../Database/Models/GroupModel"; +import {GroupRepository} from "../../Database/Repositories/GroupRepository"; import {Container} from "../../Container/Container"; import {GroupSelection} from "../CommandPartials/GroupSelection"; import {UserError} from "../UserError"; import {ArrayUtils} from "../../Utilities/ArrayUtils"; -import {GroupConfigurationRenderer} from "../../Groups/GroupConfigurationRenderer"; -import {GroupConfigurationHandler} from "../../Groups/GroupConfigurationHandler"; -import {GroupConfigurationTransformers} from "../../Groups/GroupConfigurationTransformers"; -import {GroupConfigurationRepository} from "../../Repositories/GroupConfigurationRepository"; -import {PlaydateRepository} from "../../Repositories/PlaydateRepository"; +import {GroupConfigurationRenderer} from "../../Configuration/Groups/GroupConfigurationRenderer"; +import {GroupConfigurationHandler} from "../../Configuration/Groups/GroupConfigurationHandler"; +import {GroupConfigurationTransformers} from "../../Configuration/Groups/GroupConfigurationTransformers"; +import {GroupConfigurationRepository} from "../../Database/Repositories/GroupConfigurationRepository"; +import {PlaydateRepository} from "../../Database/Repositories/PlaydateRepository"; import {Nullable} from "../../types/Nullable"; import {MenuRenderer} from "../../Menu/MenuRenderer"; import {MenuItemType} from "../../Menu/MenuRenderer.types"; -import {ConfigurationMenuHandler} from "../../Groups/ConfigurationMenuHandler"; +import {ConfigurationMenuHandler} from "../../Configuration/Groups/ConfigurationMenuHandler"; import {MenuTraversal} from "../../Menu/MenuTraversal"; export class GroupCommand implements Command, ChatInteractionCommand, AutocompleteCommand { diff --git a/source/Discord/Commands/Playdates.ts b/source/Discord/Commands/Playdates.ts index d5bf60b..826582e 100644 --- a/source/Discord/Commands/Playdates.ts +++ b/source/Discord/Commands/Playdates.ts @@ -16,15 +16,15 @@ import {AutocompleteCommand, ChatInteractionCommand, Command} from "./Command"; import {Container} from "../../Container/Container"; import {GroupSelection} from "../CommandPartials/GroupSelection"; import {UserError} from "../UserError"; -import {PlaydateModel} from "../../Models/PlaydateModel"; -import {PlaydateRepository} from "../../Repositories/PlaydateRepository"; -import {GroupModel} from "../../Models/GroupModel"; +import {PlaydateModel} from "../../Database/Models/PlaydateModel"; +import {PlaydateRepository} from "../../Database/Repositories/PlaydateRepository"; +import {GroupModel} from "../../Database/Models/GroupModel"; import * as ics from 'ics'; import ical from 'node-ical'; -import {GroupConfigurationHandler} from "../../Groups/GroupConfigurationHandler"; -import {GroupConfigurationRepository} from "../../Repositories/GroupConfigurationRepository"; +import {GroupConfigurationHandler} from "../../Configuration/Groups/GroupConfigurationHandler"; +import {GroupConfigurationRepository} from "../../Database/Repositories/GroupConfigurationRepository"; import {privateDecrypt} from "node:crypto"; -import {GroupRepository} from "../../Repositories/GroupRepository"; +import {GroupRepository} from "../../Database/Repositories/GroupRepository"; export class PlaydatesCommand implements Command, AutocompleteCommand, ChatInteractionCommand { definition(): SlashCommandBuilder { diff --git a/source/Events/DefaultEvents.ts b/source/Events/DefaultEvents.ts index 7939fc1..44e4ddb 100644 --- a/source/Events/DefaultEvents.ts +++ b/source/Events/DefaultEvents.ts @@ -3,7 +3,7 @@ import {Container} from "../Container/Container"; import {ReminderEvent} from "./Handlers/ReminderEvent"; import {ElementCreatedEvent} from "./EventClasses/ElementCreatedEvent"; import {sendCreatedNotificationEventHandler} from "./Handlers/SendCreatedNotification"; -import {PlaydateModel} from "../Models/PlaydateModel"; +import {PlaydateModel} from "../Database/Models/PlaydateModel"; import {TimedEvent} from "./EventHandler.types"; import {CleanupEvent} from "./Handlers/CleanupEvent"; import {Logger} from "log4js"; diff --git a/source/Events/EventClasses/ElementCreatedEvent.ts b/source/Events/EventClasses/ElementCreatedEvent.ts index 33e33ef..71860fb 100644 --- a/source/Events/EventClasses/ElementCreatedEvent.ts +++ b/source/Events/EventClasses/ElementCreatedEvent.ts @@ -1,4 +1,4 @@ -import {Model} from "../../Models/Model"; +import {Model} from "../../Database/Models/Model"; import {EventType, NormalEvent} from "../EventHandler.types"; export class ElementCreatedEvent implements NormalEvent { diff --git a/source/Events/Handlers/ReminderEvent.ts b/source/Events/Handlers/ReminderEvent.ts index bf17f86..4f0680f 100644 --- a/source/Events/Handlers/ReminderEvent.ts +++ b/source/Events/Handlers/ReminderEvent.ts @@ -1,8 +1,8 @@ import {Container} from "../../Container/Container"; -import {PlaydateRepository} from "../../Repositories/PlaydateRepository"; -import {GroupConfigurationHandler} from "../../Groups/GroupConfigurationHandler"; -import {GroupConfigurationRepository} from "../../Repositories/GroupConfigurationRepository"; -import {PlaydateModel} from "../../Models/PlaydateModel"; +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"; import {DiscordClient} from "../../Discord/DiscordClient"; import {EmbedBuilder, roleMention, time} from "discord.js"; diff --git a/source/Events/Handlers/SendCreatedNotification.ts b/source/Events/Handlers/SendCreatedNotification.ts index d1700e9..63771b9 100644 --- a/source/Events/Handlers/SendCreatedNotification.ts +++ b/source/Events/Handlers/SendCreatedNotification.ts @@ -1,11 +1,11 @@ import {ElementCreatedEvent} from "../EventClasses/ElementCreatedEvent"; -import {PlaydateModel} from "../../Models/PlaydateModel"; +import {PlaydateModel} from "../../Database/Models/PlaydateModel"; import PlaydateTableConfiguration from "../../Database/tables/Playdate"; import {EmbedBuilder, roleMention, time} from "discord.js"; import {ArrayUtils} from "../../Utilities/ArrayUtils"; -import {GroupConfigurationHandler} from "../../Groups/GroupConfigurationHandler"; +import {GroupConfigurationHandler} from "../../Configuration/Groups/GroupConfigurationHandler"; import {Container} from "../../Container/Container"; -import {GroupConfigurationRepository} from "../../Repositories/GroupConfigurationRepository"; +import {GroupConfigurationRepository} from "../../Database/Repositories/GroupConfigurationRepository"; import {DiscordClient} from "../../Discord/DiscordClient"; const NEW_PLAYDATE_MESSAGES = [