From 40d40c22786d13bc338139ee51cadb72024591f4 Mon Sep 17 00:00:00 2001 From: bill bittner Date: Mon, 6 Nov 2017 15:18:45 -0800 Subject: [PATCH] consolidated config to one config file --- .gitignore | 3 ++- config/custom-environment-variables.json | 15 ------------ config/default-0.json | 1 - config/default.json | 23 ------------------- config/development.json | 13 ----------- config/production.json | 13 ----------- .../{slackLoggerConfig.js => slackConfig.js} | 19 +++++++-------- config/speechConfig_example.js | 23 +++++++++++++++++++ controllers/statsController.js | 4 ++-- helpers/configVarCheck.js | 10 ++++---- helpers/handlebarsHelpers.js | 4 ++-- helpers/publishHelpers.js | 6 ++--- models/index.js | 8 +++---- public/assets/js/publishFileFunctions.js | 2 +- speech.js | 8 +++---- 15 files changed, 53 insertions(+), 99 deletions(-) delete mode 100644 config/custom-environment-variables.json delete mode 100644 config/default-0.json delete mode 100644 config/default.json delete mode 100644 config/development.json delete mode 100644 config/production.json rename config/{slackLoggerConfig.js => slackConfig.js} (59%) create mode 100644 config/speechConfig_example.js diff --git a/.gitignore b/.gitignore index 761ac590..bc72ae59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules .idea -config/config.json \ No newline at end of file +config/config.json +config/speechConfig.js \ No newline at end of file diff --git a/config/custom-environment-variables.json b/config/custom-environment-variables.json deleted file mode 100644 index 78faebbf..00000000 --- a/config/custom-environment-variables.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "WalletConfig": { - "LbryClaimAddress": "LBRY_CLAIM_ADDRESS" - }, - "Database": { - "Username": "MYSQL_USERNAME", - "Password": "MYSQL_PASSWORD" - }, - "Logging": { - "SlackWebHook": "SLACK_WEB_HOOK" - }, - "Session": { - "SessionKey": "SESSION_KEY" - } -} \ No newline at end of file diff --git a/config/default-0.json b/config/default-0.json deleted file mode 100644 index 9e26dfee..00000000 --- a/config/default-0.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/config/default.json b/config/default.json deleted file mode 100644 index c5b65a20..00000000 --- a/config/default.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "WalletConfig": { - "LbryClaimAddress": null, - "DefaultChannel": null - }, - "AnalyticsConfig":{ - "GoogleId": null - }, - "Database": { - "Database": "lbry", - "Username": null, - "Password": null - }, - "Logging": { - "LogLevel": null, - "SlackWebHook": null, - "SlackErrorChannel": null, - "SlackInfoChannel": null - }, - "Session": { - "SessionKey": null - } -} \ No newline at end of file diff --git a/config/development.json b/config/development.json deleted file mode 100644 index 4beca9ff..00000000 --- a/config/development.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "WalletConfig": { - "DefaultChannel": "@speechDev" - }, - "AnalyticsConfig":{ - "GoogleId": "UA-100747990-1" - }, - "Logging": { - "LogLevel": "silly", - "SlackErrorChannel": "#staging_speech-errors", - "SlackInfoChannel": "none" - } -} \ No newline at end of file diff --git a/config/production.json b/config/production.json deleted file mode 100644 index a5bc5074..00000000 --- a/config/production.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "WalletConfig": { - "DefaultChannel": "@speech" - }, - "AnalyticsConfig":{ - "GoogleId": "UA-60403362-3" - }, - "Logging": { - "LogLevel": "verbose", - "SlackErrorChannel": "#speech-errors", - "SlackInfoChannel": "#speech-logs" - } -} diff --git a/config/slackLoggerConfig.js b/config/slackConfig.js similarity index 59% rename from config/slackLoggerConfig.js rename to config/slackConfig.js index 4bd88200..74227bbd 100644 --- a/config/slackLoggerConfig.js +++ b/config/slackConfig.js @@ -1,29 +1,26 @@ -const config = require('config'); -const SLACK_WEB_HOOK = config.get('Logging.SlackWebHook'); -const SLACK_ERROR_CHANNEL = config.get('Logging.SlackErrorChannel'); -const SLACK_INFO_CHANNEL = config.get('Logging.SlackInfoChannel'); +const config = require('./speechConfig.js'); const winstonSlackWebHook = require('winston-slack-webhook').SlackWebHook; module.exports = (winston) => { - if (SLACK_WEB_HOOK) { - // add a transport for errors to slack + if (config.logging.slackWebHook) { + // add a transport for errors to slack winston.add(winstonSlackWebHook, { name : 'slack-errors-transport', level : 'error', - webhookUrl: SLACK_WEB_HOOK, - channel : SLACK_ERROR_CHANNEL, + webhookUrl: config.logging.slackWebHook, + channel : config.logging.slackErrorChannel, username : 'spee.ch', iconEmoji : ':face_with_head_bandage:', }); winston.add(winstonSlackWebHook, { name : 'slack-info-transport', level : 'info', - webhookUrl: SLACK_WEB_HOOK, - channel : SLACK_INFO_CHANNEL, + webhookUrl: config.logging.slackWebHook, + channel : config.logging.slackInfoChannel, username : 'spee.ch', iconEmoji : ':nerd_face:', }); - // send test message + // send test message winston.error('Slack error logging is online.'); winston.info('Slack info logging is online.'); } else { diff --git a/config/speechConfig_example.js b/config/speechConfig_example.js new file mode 100644 index 00000000..d139c56c --- /dev/null +++ b/config/speechConfig_example.js @@ -0,0 +1,23 @@ +module.exports = { + wallet: { + lbryClaimAddress: null, + defaultChannel : null, + }, + analytics: { + googleId: null, + }, + sql: { + database: 'lbry', + username: null, + password: null, + }, + logging: { + logLevel : null, + slackWebHook : null, + slackErrorChannel: null, + slackInfoChannel : null, + }, + session: { + sessionKey: null, + }, +}; diff --git a/controllers/statsController.js b/controllers/statsController.js index 50dcc36d..6f3d4475 100644 --- a/controllers/statsController.js +++ b/controllers/statsController.js @@ -1,8 +1,8 @@ const logger = require('winston'); const ua = require('universal-analytics'); -const config = require('config'); +const config = require('../config/speechConfig.js'); const db = require('../models'); -const googleApiKey = config.get('AnalyticsConfig.GoogleId'); +const googleApiKey = config.analytics.googleId; module.exports = { postToStats (action, url, ipAddress, name, claimId, result) { diff --git a/helpers/configVarCheck.js b/helpers/configVarCheck.js index b4b40e51..b849245f 100644 --- a/helpers/configVarCheck.js +++ b/helpers/configVarCheck.js @@ -1,15 +1,13 @@ -const config = require('config'); +const config = require('../config/speechConfig.js'); const logger = require('winston'); -const fs = require('fs'); module.exports = function () { // get the config file - const defaultConfigFile = JSON.parse(fs.readFileSync('./config/default.json')); - for (let configCategoryKey in defaultConfigFile) { - if (defaultConfigFile.hasOwnProperty(configCategoryKey)) { + for (let configCategoryKey in config) { + if (config.hasOwnProperty(configCategoryKey)) { // get the final variables for each config category - const configVariables = config.get(configCategoryKey); + const configVariables = config[configCategoryKey]; for (let configVarKey in configVariables) { if (configVariables.hasOwnProperty(configVarKey)) { // print each variable diff --git a/helpers/handlebarsHelpers.js b/helpers/handlebarsHelpers.js index b4fb3c42..33ccb49d 100644 --- a/helpers/handlebarsHelpers.js +++ b/helpers/handlebarsHelpers.js @@ -1,10 +1,10 @@ const Handlebars = require('handlebars'); -const config = require('config'); +const config = require('../config/speechConfig.js'); module.exports = { // define any extra helpers you may need googleAnalytics () { - const googleApiKey = config.get('AnalyticsConfig.GoogleId'); + const googleApiKey = config.analytics.googleId; return new Handlebars.SafeString( `