🎨 move database connector to manager
This commit is contained in:
parent
92b0f6baef
commit
7fd9b6fc73
45 changed files with 52 additions and 58 deletions
|
@ -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";
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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 },
|
||||
|
|
|
@ -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 },
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import userSchema from "../../database/schemas/user";
|
||||
import userSchema from "../../models/user";
|
||||
|
||||
import logger from "../../logger";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
12
src/index.ts
12
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
|
||||
|
|
|
@ -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 * * * * *",
|
||||
|
|
|
@ -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}`);
|
||||
});
|
|
@ -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;
|
Loading…
Add table
Reference in a new issue