diff --git a/src/commands/config/modules/audits/index.ts b/src/commands/config/modules/audits/index.ts index 0ea9a17..6d85a15 100644 --- a/src/commands/config/modules/audits/index.ts +++ b/src/commands/config/modules/audits/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import { ChannelType } from "discord-api-types/v10"; diff --git a/src/commands/config/modules/credits/index.ts b/src/commands/config/modules/credits/index.ts index 8ec5998..20df392 100644 --- a/src/commands/config/modules/credits/index.ts +++ b/src/commands/config/modules/credits/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; // Function diff --git a/src/commands/config/modules/embeds/components/getValues/index.ts b/src/commands/config/modules/embeds/components/getValues/index.ts index d511a52..38702e2 100644 --- a/src/commands/config/modules/embeds/components/getValues/index.ts +++ b/src/commands/config/modules/embeds/components/getValues/index.ts @@ -1,5 +1,5 @@ import { ColorResolvable, CommandInteraction } from "discord.js"; -import guildSchema from "../../../../../../database/schemas/guild"; +import guildSchema from "../../../../../../models/guild"; import getEmbedConfig from "../../../../../../helpers/getEmbedConfig"; export default async (interaction: CommandInteraction) => { diff --git a/src/commands/config/modules/embeds/index.ts b/src/commands/config/modules/embeds/index.ts index 94f1db8..218bb26 100644 --- a/src/commands/config/modules/embeds/index.ts +++ b/src/commands/config/modules/embeds/index.ts @@ -10,7 +10,7 @@ import { import logger from "../../../../logger"; // Models -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import getValues from "./components/getValues"; diff --git a/src/commands/config/modules/points/index.ts b/src/commands/config/modules/points/index.ts index 0693916..6683df7 100644 --- a/src/commands/config/modules/points/index.ts +++ b/src/commands/config/modules/points/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; // Function diff --git a/src/commands/config/modules/pterodactyl/index.ts b/src/commands/config/modules/pterodactyl/index.ts index 52e65b0..c73189a 100644 --- a/src/commands/config/modules/pterodactyl/index.ts +++ b/src/commands/config/modules/pterodactyl/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import apiSchema from "../../../../database/schemas/api"; +import apiSchema from "../../../../models/api"; import encryption from "../../../../handlers/encryption"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; diff --git a/src/commands/config/modules/shop/index.ts b/src/commands/config/modules/shop/index.ts index a775385..fc4f467 100644 --- a/src/commands/config/modules/shop/index.ts +++ b/src/commands/config/modules/shop/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; // Function diff --git a/src/commands/config/modules/welcome/index.ts b/src/commands/config/modules/welcome/index.ts index e6d5e9b..8405aeb 100644 --- a/src/commands/config/modules/welcome/index.ts +++ b/src/commands/config/modules/welcome/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import { ChannelType } from "discord-api-types/v10"; diff --git a/src/commands/counters/modules/view/index.ts b/src/commands/counters/modules/view/index.ts index b509dd5..6c3196f 100644 --- a/src/commands/counters/modules/view/index.ts +++ b/src/commands/counters/modules/view/index.ts @@ -4,7 +4,7 @@ import { CommandInteraction, MessageEmbed } from "discord.js"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import { ChannelType } from "discord-api-types/v10"; -import counterSchema from "../../../../database/schemas/counter"; +import counterSchema from "../../../../models/counter"; export default { metadata: { guildOnly: true, ephemeral: false }, diff --git a/src/commands/credits/modules/top/index.ts b/src/commands/credits/modules/top/index.ts index 0aaa2f8..78539c4 100644 --- a/src/commands/credits/modules/top/index.ts +++ b/src/commands/credits/modules/top/index.ts @@ -4,7 +4,7 @@ import { CommandInteraction, MessageEmbed } from "discord.js"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import logger from "../../../../logger"; -import userSchema, { IUser } from "../../../../database/schemas/user"; +import userSchema, { IUser } from "../../../../models/user"; export default { metadata: { guildOnly: true, ephemeral: false }, diff --git a/src/commands/credits/modules/work/index.ts b/src/commands/credits/modules/work/index.ts index 7f29629..ba1a08e 100644 --- a/src/commands/credits/modules/work/index.ts +++ b/src/commands/credits/modules/work/index.ts @@ -10,7 +10,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; import logger from "../../../../logger"; // Models -import timeoutSchema from "../../../../database/schemas/timeout"; +import timeoutSchema from "../../../../models/timeout"; // Helpers import fetchUser from "../../../../helpers/fetchUser"; diff --git a/src/commands/manage/modules/counters/modules/add/index.ts b/src/commands/manage/modules/counters/modules/add/index.ts index cdefbb8..5d7ea53 100644 --- a/src/commands/manage/modules/counters/modules/add/index.ts +++ b/src/commands/manage/modules/counters/modules/add/index.ts @@ -9,7 +9,7 @@ import getEmbedConfig from "../../../../../../helpers/getEmbedConfig"; import logger from "../../../../../../logger"; // Models -import counterSchema from "../../../../../../database/schemas/counter"; +import counterSchema from "../../../../../../models/counter"; // Function export default { diff --git a/src/commands/manage/modules/counters/modules/remove/index.ts b/src/commands/manage/modules/counters/modules/remove/index.ts index 295f2b0..c265f0b 100644 --- a/src/commands/manage/modules/counters/modules/remove/index.ts +++ b/src/commands/manage/modules/counters/modules/remove/index.ts @@ -8,7 +8,7 @@ import getEmbedConfig from "../../../../../../helpers/getEmbedConfig"; import logger from "../../../../../../logger"; // Models -import counterSchema from "../../../../../../database/schemas/counter"; +import counterSchema from "../../../../../../models/counter"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import { ChannelType } from "discord-api-types/v10"; diff --git a/src/commands/manage/modules/credits/modules/drop/index.ts b/src/commands/manage/modules/credits/modules/drop/index.ts index d5129ea..7141c9a 100644 --- a/src/commands/manage/modules/credits/modules/drop/index.ts +++ b/src/commands/manage/modules/credits/modules/drop/index.ts @@ -3,7 +3,7 @@ import { CommandInteraction, MessageEmbed, Permissions } from "discord.js"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import { v4 as uuidv4 } from "uuid"; import axios from "axios"; -import apiSchema from "../../../../../../database/schemas/api"; +import apiSchema from "../../../../../../models/api"; import encryption from "../../../../../../handlers/encryption"; // Configurations diff --git a/src/commands/reputation/modules/give.ts b/src/commands/reputation/modules/give.ts index c55e909..8e7d980 100644 --- a/src/commands/reputation/modules/give.ts +++ b/src/commands/reputation/modules/give.ts @@ -10,7 +10,7 @@ import { timeout } from "../../../config/reputation"; import logger from "../../../logger"; // Models -import timeoutSchema from "../../../database/schemas/timeout"; +import timeoutSchema from "../../../models/timeout"; import fetchUser from "../../../helpers/fetchUser"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; diff --git a/src/commands/shop/modules/pterodactyl.ts b/src/commands/shop/modules/pterodactyl.ts index daa698d..207774c 100644 --- a/src/commands/shop/modules/pterodactyl.ts +++ b/src/commands/shop/modules/pterodactyl.ts @@ -9,7 +9,7 @@ import encryption from "../../../handlers/encryption"; import pluralize from "../../../helpers/pluralize"; -import apiSchema from "../../../database/schemas/api"; +import apiSchema from "../../../models/api"; import fetchUser from "../../../helpers/fetchUser"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; diff --git a/src/commands/shop/modules/roles/index.ts b/src/commands/shop/modules/roles/index.ts index bdec977..7d6cb90 100644 --- a/src/commands/shop/modules/roles/index.ts +++ b/src/commands/shop/modules/roles/index.ts @@ -10,7 +10,7 @@ import getEmbedConfig from "../../../../helpers/getEmbedConfig"; // Modules import modules from "./modules"; -import guildSchema from "../../../../database/schemas/guild"; +import guildSchema from "../../../../models/guild"; export const moduleData = modules; diff --git a/src/commands/shop/modules/roles/modules/buy.ts b/src/commands/shop/modules/roles/modules/buy.ts index b92ba7a..3d8ff54 100644 --- a/src/commands/shop/modules/roles/modules/buy.ts +++ b/src/commands/shop/modules/roles/modules/buy.ts @@ -9,8 +9,8 @@ import { import getEmbedConfig from "../../../../../helpers/getEmbedConfig"; // Models -import shopRolesSchema from "../../../../../database/schemas/shopRole"; -import guildSchema from "../../../../../database/schemas/guild"; +import shopRolesSchema from "../../../../../models/shopRole"; +import guildSchema from "../../../../../models/guild"; import logger from "../../../../../logger"; diff --git a/src/commands/shop/modules/roles/modules/cancel.ts b/src/commands/shop/modules/roles/modules/cancel.ts index cf16d95..d8b4314 100644 --- a/src/commands/shop/modules/roles/modules/cancel.ts +++ b/src/commands/shop/modules/roles/modules/cancel.ts @@ -5,7 +5,7 @@ import { CommandInteraction, GuildMemberRoleManager } from "discord.js"; import getEmbedConfig from "../../../../../helpers/getEmbedConfig"; // Models -import shopRolesSchema from "../../../../../database/schemas/shopRole"; +import shopRolesSchema from "../../../../../models/shopRole"; import logger from "../../../../../logger"; diff --git a/src/events/guildMemberAdd/audits.ts b/src/events/guildMemberAdd/audits.ts index 6e140c6..5134b14 100644 --- a/src/events/guildMemberAdd/audits.ts +++ b/src/events/guildMemberAdd/audits.ts @@ -1,7 +1,7 @@ import logger from "../../logger"; import { GuildMember, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/guildMemberAdd/joinMessage.ts b/src/events/guildMemberAdd/joinMessage.ts index db0a745..4ffc3d4 100644 --- a/src/events/guildMemberAdd/joinMessage.ts +++ b/src/events/guildMemberAdd/joinMessage.ts @@ -1,6 +1,6 @@ import { GuildMember, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/guildMemberRemove/audits.ts b/src/events/guildMemberRemove/audits.ts index 9f2c343..6d1e828 100644 --- a/src/events/guildMemberRemove/audits.ts +++ b/src/events/guildMemberRemove/audits.ts @@ -1,7 +1,7 @@ import logger from "../../logger"; import { GuildMember, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/guildMemberRemove/leaveMessage.ts b/src/events/guildMemberRemove/leaveMessage.ts index 427866b..5d3a36e 100644 --- a/src/events/guildMemberRemove/leaveMessage.ts +++ b/src/events/guildMemberRemove/leaveMessage.ts @@ -1,6 +1,6 @@ import { GuildMember, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/interactionCreate/audits.ts b/src/events/interactionCreate/audits.ts index 3a311c5..3f68219 100644 --- a/src/events/interactionCreate/audits.ts +++ b/src/events/interactionCreate/audits.ts @@ -1,7 +1,7 @@ import logger from "../../logger"; import { Interaction, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/messageCreate/modules/counters/index.ts b/src/events/messageCreate/modules/counters/index.ts index 882fbc6..9dcfca5 100644 --- a/src/events/messageCreate/modules/counters/index.ts +++ b/src/events/messageCreate/modules/counters/index.ts @@ -1,7 +1,7 @@ import { Message } from "discord.js"; import logger from "../../../../logger"; -import counterSchema from "../../../../database/schemas/counter"; +import counterSchema from "../../../../models/counter"; export default { execute: async (message: Message) => { diff --git a/src/events/messageCreate/modules/credits/index.ts b/src/events/messageCreate/modules/credits/index.ts index 1058490..ce96c4a 100644 --- a/src/events/messageCreate/modules/credits/index.ts +++ b/src/events/messageCreate/modules/credits/index.ts @@ -1,5 +1,5 @@ import logger from "../../../../logger"; -import timeouts from "../../../../database/schemas/timeout"; +import timeouts from "../../../../models/timeout"; import { Message } from "discord.js"; import fetchUser from "../../../../helpers/fetchUser"; diff --git a/src/events/messageCreate/modules/points/index.ts b/src/events/messageCreate/modules/points/index.ts index 12b683a..9a8acd7 100644 --- a/src/events/messageCreate/modules/points/index.ts +++ b/src/events/messageCreate/modules/points/index.ts @@ -1,5 +1,5 @@ import logger from "../../../../logger"; -import timeouts from "../../../../database/schemas/timeout"; +import timeouts from "../../../../models/timeout"; import fetchUser from "../../../../helpers/fetchUser"; import fetchGuild from "../../../../helpers/fetchGuild"; diff --git a/src/events/messageDelete/audits.ts b/src/events/messageDelete/audits.ts index eb28000..0b8698e 100644 --- a/src/events/messageDelete/audits.ts +++ b/src/events/messageDelete/audits.ts @@ -1,7 +1,7 @@ import logger from "../../logger"; import { Message, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/messageDelete/modules/counter.ts b/src/events/messageDelete/modules/counter.ts index e488ae4..7fa9e46 100644 --- a/src/events/messageDelete/modules/counter.ts +++ b/src/events/messageDelete/modules/counter.ts @@ -2,7 +2,7 @@ import { Message } from "discord.js"; // Models -import counterSchema from "../../../database/schemas/counter"; +import counterSchema from "../../../models/counter"; import logger from "../../../logger"; export default async (message: Message) => { diff --git a/src/events/messageUpdate/audits.ts b/src/events/messageUpdate/audits.ts index 3438666..db75a84 100644 --- a/src/events/messageUpdate/audits.ts +++ b/src/events/messageUpdate/audits.ts @@ -2,7 +2,7 @@ import logger from "../../logger"; import { Message, MessageEmbed, TextChannel } from "discord.js"; -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import getEmbedConfig from "../../helpers/getEmbedConfig"; diff --git a/src/events/messageUpdate/modules/counter.ts b/src/events/messageUpdate/modules/counter.ts index 8ea7087..9a79118 100644 --- a/src/events/messageUpdate/modules/counter.ts +++ b/src/events/messageUpdate/modules/counter.ts @@ -2,7 +2,7 @@ import { Message } from "discord.js"; // Models -import counterSchema from "../../../database/schemas/counter"; +import counterSchema from "../../../models/counter"; import logger from "../../../logger"; export default async (message: Message) => { diff --git a/src/helpers/dropGuild/index.ts b/src/helpers/dropGuild/index.ts index e0d8356..0c0e2ab 100644 --- a/src/helpers/dropGuild/index.ts +++ b/src/helpers/dropGuild/index.ts @@ -1,9 +1,9 @@ -import guildSchema from "../../database/schemas/guild"; -import userSchema from "../../database/schemas/user"; -import apiSchema from "../../database/schemas/api"; -import counterSchema from "../../database/schemas/counter"; -import shopRoleSchema from "../../database/schemas/shopRole"; -import timeoutSchema from "../../database/schemas/timeout"; +import guildSchema from "../../models/guild"; +import userSchema from "../../models/user"; +import apiSchema from "../../models/api"; +import counterSchema from "../../models/counter"; +import shopRoleSchema from "../../models/shopRole"; +import timeoutSchema from "../../models/timeout"; import logger from "../../logger"; diff --git a/src/helpers/dropUser/index.ts b/src/helpers/dropUser/index.ts index 976cd6c..3093048 100644 --- a/src/helpers/dropUser/index.ts +++ b/src/helpers/dropUser/index.ts @@ -1,4 +1,4 @@ -import userSchema from "../../database/schemas/user"; +import userSchema from "../../models/user"; import logger from "../../logger"; diff --git a/src/helpers/fetchGuild/index.ts b/src/helpers/fetchGuild/index.ts index bf4aff5..a89e840 100644 --- a/src/helpers/fetchGuild/index.ts +++ b/src/helpers/fetchGuild/index.ts @@ -2,7 +2,7 @@ import { Guild } from "discord.js"; // Models -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; // Handlers import logger from "../../logger"; diff --git a/src/helpers/fetchUser/index.ts b/src/helpers/fetchUser/index.ts index 19b9f1f..3837f24 100644 --- a/src/helpers/fetchUser/index.ts +++ b/src/helpers/fetchUser/index.ts @@ -2,7 +2,7 @@ import { Guild, User } from "discord.js"; // Models -import userSchema from "../../database/schemas/user"; +import userSchema from "../../models/user"; // Handlers import logger from "../../logger"; diff --git a/src/helpers/getEmbedConfig/index.ts b/src/helpers/getEmbedConfig/index.ts index a52cbe5..22ddf29 100644 --- a/src/helpers/getEmbedConfig/index.ts +++ b/src/helpers/getEmbedConfig/index.ts @@ -1,4 +1,4 @@ -import guildSchema from "../../database/schemas/guild"; +import guildSchema from "../../models/guild"; import * as embedConfig from "../../config/embed"; import { Guild } from "discord.js"; diff --git a/src/index.ts b/src/index.ts index c6179e8..c9c82a1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,7 +4,7 @@ import { token, intents } from "./config/discord"; import { Client } from "discord.js"; // discord.js -import database from "./database"; +import * as databaseManager from "./managers/database"; import * as scheduleManager from "./managers/schedule"; import * as eventManager from "./managers/event"; import * as commandManager from "./managers/command"; @@ -16,16 +16,10 @@ const main = async () => { intents, }); - // Start database manager - await database(); - - // Start schedule manager + // Start managers + await databaseManager.start(); await scheduleManager.start(client); - - // Start command handler await commandManager.register(client); - - // Start event handler await eventManager.register(client); // Authorize with Discord's API diff --git a/src/jobs/shopRoles.ts b/src/jobs/shopRoles.ts index c059672..90b8f06 100644 --- a/src/jobs/shopRoles.ts +++ b/src/jobs/shopRoles.ts @@ -4,9 +4,9 @@ import { Client } from "discord.js"; import logger from "../logger"; // Schemas -import userSchema from "../database/schemas/user"; -import shopRoleSchema from "../database/schemas/shopRole"; -import guildSchema from "../database/schemas/guild"; +import userSchema from "../models/user"; +import shopRoleSchema from "../models/shopRole"; +import guildSchema from "../models/guild"; export const options = { schedule: "*/1 * * * * *", diff --git a/src/database/index.ts b/src/managers/database/index.ts similarity index 78% rename from src/database/index.ts rename to src/managers/database/index.ts index 9060935..c16eb73 100644 --- a/src/database/index.ts +++ b/src/managers/database/index.ts @@ -2,12 +2,12 @@ import mongoose from "mongoose"; // Dependencies -import logger from "../logger"; +import logger from "../../logger"; // Configuration -import { url } from "../config/database"; +import { url } from "../../config/database"; -export default async () => { +export const start = async () => { await mongoose.connect(url).then(async (connection) => { logger.info(`Connected to database: ${connection.connection.name}`); }); diff --git a/src/database/schemas/api.ts b/src/models/api.ts similarity index 92% rename from src/database/schemas/api.ts rename to src/models/api.ts index 5a78afd..d3690df 100644 --- a/src/database/schemas/api.ts +++ b/src/models/api.ts @@ -1,6 +1,6 @@ import { Snowflake } from "discord.js"; import { model, Schema } from "mongoose"; -import { IEncryptionData } from "../../interfaces/EncryptionData"; +import { IEncryptionData } from "../interfaces/EncryptionData"; export interface IApi { guildId: Snowflake; diff --git a/src/database/schemas/counter.ts b/src/models/counter.ts similarity index 100% rename from src/database/schemas/counter.ts rename to src/models/counter.ts diff --git a/src/database/schemas/guild.ts b/src/models/guild.ts similarity index 100% rename from src/database/schemas/guild.ts rename to src/models/guild.ts diff --git a/src/database/schemas/shopRole.ts b/src/models/shopRole.ts similarity index 100% rename from src/database/schemas/shopRole.ts rename to src/models/shopRole.ts diff --git a/src/database/schemas/timeout.ts b/src/models/timeout.ts similarity index 100% rename from src/database/schemas/timeout.ts rename to src/models/timeout.ts diff --git a/src/database/schemas/user.ts b/src/models/user.ts similarity index 100% rename from src/database/schemas/user.ts rename to src/models/user.ts