refactor: move all config vars into central file

This commit is contained in:
William Oldham
2025-01-20 16:37:06 +00:00
parent d7009330f0
commit 973d50006c
8 changed files with 61 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
const { GraphQLClient, gql } = require('graphql-request');
const Stripe = require('stripe');
const config = require('../config.json');
const config = require('./config');
const logger = require('./logger');
const github = new GraphQLClient('https://api.github.com/graphql', {

53
src/config.js Normal file
View File

@@ -0,0 +1,53 @@
const jsonConfig = require('../config.json');
const disableEmail = !jsonConfig.email?.from?.trim() || !jsonConfig.email?.ses?.region?.trim() || !jsonConfig.email?.ses?.key?.trim() || !jsonConfig.email?.ses?.secret?.trim();
const email = disableEmail
? false
: {
from: jsonConfig.email.from,
ses: {
region: jsonConfig.email.ses.region,
key: jsonConfig.email.ses.key,
secret: jsonConfig.email.ses.secret
}
};
module.exports = {
api_base: jsonConfig.api_base,
http: {
base_url: jsonConfig.http.base_url,
port: jsonConfig.http.port
},
github: {
graphql_token: jsonConfig.github.graphql_token
},
stripe: {
secret_key: jsonConfig.stripe.secret_key,
webhook_secret: jsonConfig.stripe.webhook_secret,
goal_cents: jsonConfig.stripe.goal_cents,
notification_emails: jsonConfig.stripe.notification_emails
},
database: {
account: {
connection_string: jsonConfig.database.account.connection_string,
options: jsonConfig.database.account.options
}
},
discord: {
bot_token: jsonConfig.discord.bot_token,
client_id: jsonConfig.discord.client_id,
client_secret: jsonConfig.discord.client_secret,
guild_id: jsonConfig.discord.guild_id,
roles: {
supporter: jsonConfig.discord.roles.supporter,
tester: jsonConfig.discord.roles.tester
}
},
discourse: {
sso: {
secret: jsonConfig.discourse.sso.secret
}
},
email
};

View File

@@ -1,5 +1,5 @@
const mongoose = require('mongoose');
const config = require('../config.json');
const config = require('./config');
const PNIDSchema = require('./schema/pnid');
const accountServerConfig = config.database.account;

View File

@@ -1,15 +1,10 @@
const nodemailer = require('nodemailer');
const aws = require('@aws-sdk/client-ses');
const config = require('../config.json');
const config = require('./config');
let disableEmail = false;
let transporter;
if (!config.email?.from?.trim() || !config.email?.ses?.region?.trim() || !config.email?.ses?.key?.trim() || !config.email?.ses?.secret?.trim()) {
disableEmail = true;
}
if (!disableEmail) {
if (config.email) {
const ses = new aws.SES({
apiVersion: '2010-12-01',
region: config.email.ses.region,

View File

@@ -10,8 +10,8 @@ const cache = require('../cache');
const util = require('../util');
const { handleStripeEvent } = require('../stripe');
const logger = require('../logger');
const config = require('../../config.json');
const editorJSON = require('../json/miieditor.json');
const config = require('../config');
const { Router } = express;

View File

@@ -9,7 +9,7 @@ const morgan = require('morgan');
const expressLocale = require('express-locale');
const cookieParser = require('cookie-parser');
// const Stripe = require('stripe');
const config = require('../config.json');
const config = require('./config');
const redirectMiddleware = require('./middleware/redirect');
const renderDataMiddleware = require('./middleware/render-data');
const database = require('./database');

View File

@@ -1,5 +1,5 @@
const Stripe = require('stripe');
const config = require('../config.json');
const config = require('./config');
const mailer = require('./mailer');
const util = require('./util');
const database = require('./database');

View File

@@ -6,7 +6,7 @@ const { marked } = require('marked');
const { REST: DiscordRest } = require('@discordjs/rest');
const { Routes: DiscordRoutes } = require('discord-api-types/v10');
const merge = require('lodash.merge');
const config = require('../config.json');
const config = require('./config');
const logger = require('./logger');
const baseLocale = require(`${__dirname}/../locales/en_US.json`);