From b8d138bb0c6039ee7f04515d6cfdbe1b28d0473a Mon Sep 17 00:00:00 2001 From: Taken Date: Fri, 29 Dec 2023 00:09:22 +0100 Subject: [PATCH] Added new init function --- src/interfaces/Config.ts | 18 +++++++++--------- src/utils/Autodeploy.ts | 8 ++++---- src/utils/Client.ts | 4 ++-- src/utils/Config.ts | 18 +++++++++--------- src/utils/Illegitimate.ts | 6 +++--- src/utils/Init.ts | 25 ++++++++++--------------- src/utils/Redis.ts | 2 +- 7 files changed, 38 insertions(+), 43 deletions(-) diff --git a/src/interfaces/Config.ts b/src/interfaces/Config.ts index ae5aabc..fc43d3c 100644 --- a/src/interfaces/Config.ts +++ b/src/interfaces/Config.ts @@ -1,16 +1,16 @@ interface ProdConfig { - token: string - mongoURI: string - dev: string - hypixelapikey: string - redisURI: string + token: string | undefined + mongoURI: string | undefined + dev: string | undefined + hypixelapikey: string | undefined + redisURI: string | undefined } interface DevConfig { - devtoken: string - clientid: string - devid: string - guildid: string + devtoken: string | undefined + clientid: string | undefined + devid: string | undefined + guildid: string | undefined } export default interface Config { diff --git a/src/utils/Autodeploy.ts b/src/utils/Autodeploy.ts index 8742b72..0c152bd 100644 --- a/src/utils/Autodeploy.ts +++ b/src/utils/Autodeploy.ts @@ -31,10 +31,10 @@ async function autoDeployCommands() { } } - const rest = new REST({ version: "10" }).setToken(config.dev.devtoken) + const rest = new REST({ version: "10" }).setToken(config.dev.devtoken!) const currentCommands = (await rest.get( - Routes.applicationGuildCommands(config.dev.devid, config.dev.guildid), + Routes.applicationGuildCommands(config.dev.devid!, config.dev.guildid!), )) as RESTGetAPIApplicationGuildCommandResult[] const currentCommandsInfo = currentCommands.map(command => { @@ -94,8 +94,8 @@ async function autoDeployCommands() { const data = (await rest.put( Routes.applicationGuildCommands( - config.dev.devid, - config.dev.guildid, + config.dev.devid!, + config.dev.guildid!, ), { body: commands }, )) as RESTPutAPIApplicationGuildCommandsJSONBody[] diff --git a/src/utils/Client.ts b/src/utils/Client.ts index 1b6463d..9de589f 100644 --- a/src/utils/Client.ts +++ b/src/utils/Client.ts @@ -40,11 +40,11 @@ export class ExtendedClient extends Client { let token: string if (process.env.NODE_ENV === "dev") { console.log("Running in development mode.") - token = config.dev.devtoken + token = config.dev.devtoken! autoDeployCommands() } else { console.log("Running in production mode.") - token = config.prod.token + token = config.prod.token! } this.login(token) diff --git a/src/utils/Config.ts b/src/utils/Config.ts index 8a4cff9..e858db2 100644 --- a/src/utils/Config.ts +++ b/src/utils/Config.ts @@ -3,17 +3,17 @@ import "dotenv/config" const config: Config = { prod: { - token: process.env.TOKEN!, - mongoURI: process.env.MONGOURI!, - dev: process.env.DEV!, - hypixelapikey: process.env.HYPIXELAPIKEY!, - redisURI: process.env.REDISURI!, + token: process.env.TOKEN, + mongoURI: process.env.MONGOURI, + dev: process.env.DEV, + hypixelapikey: process.env.HYPIXELAPIKEY, + redisURI: process.env.REDISURI, }, dev: { - devtoken: process.env.DEVTOKEN!, - clientid: process.env.CLIENTID!, - devid: process.env.DEVID!, - guildid: process.env.GUILDID!, + devtoken: process.env.DEVTOKEN, + clientid: process.env.CLIENTID, + devid: process.env.DEVID, + guildid: process.env.GUILDID, }, } diff --git a/src/utils/Illegitimate.ts b/src/utils/Illegitimate.ts index 7d565b3..316a765 100644 --- a/src/utils/Illegitimate.ts +++ b/src/utils/Illegitimate.ts @@ -2,14 +2,14 @@ import { ExtendedClient as Client } from "./Client" import config from "./Config" import { redis } from "./Redis" import { connect } from "mongoose" -// import init from "./Init" +import init from "./Init" const client = new Client() export default class Illegitimate { constructor() {} async start() { - // init() + init() client.start() @@ -17,7 +17,7 @@ export default class Illegitimate { console.log("Connected to Redis") }) - connect(config.prod.mongoURI, {}).then(() => { + connect(config.prod.mongoURI!, {}).then(() => { console.log("Connected to MongoDB") }) } diff --git a/src/utils/Init.ts b/src/utils/Init.ts index 9069bfc..03b13c4 100644 --- a/src/utils/Init.ts +++ b/src/utils/Init.ts @@ -5,22 +5,17 @@ const devValues = config.dev export default function init() { if (process.env.NODE_ENV === "dev") { - Object.keys(devValues).forEach(key => { - if (!process.env[key.toUpperCase()]) { - throw new Error(`[DEV] Missing environment variable: ${key}`) - } - }) + for (const [key, value] of Object.entries(devValues)) { + if (!value) throw new Error(`No ${key} specified`) + } - Object.keys(prodValues).forEach(key => { - if (!process.env[key.toUpperCase()]) { - throw new Error(`[PROD] Missing environment variable: ${key}`) - } - }) + for (const [key, value] of Object.entries(prodValues)) { + if (!value) throw new Error(`No ${key} specified`) + } } else { - Object.keys(prodValues).forEach(key => { - if (!process.env[key]) { - throw new Error(`[PROD] Missing environment variable: ${key}`) - } - }) + for (const [key, value] of Object.entries(prodValues)) { + if (!value) throw new Error(`No ${key} specified`) + } } + } diff --git a/src/utils/Redis.ts b/src/utils/Redis.ts index 6ae0512..6d28b78 100644 --- a/src/utils/Redis.ts +++ b/src/utils/Redis.ts @@ -1,6 +1,6 @@ import { Redis } from "ioredis" import config from "./Config" -const redis = new Redis(config.prod.redisURI) +const redis = new Redis(config.prod.redisURI!) export { redis }