From 6ae9143c22ba61a9a8ae6f15e161db694eff4802 Mon Sep 17 00:00:00 2001 From: Tomas Bures Date: Fri, 26 Jul 2019 20:35:49 +0530 Subject: [PATCH] Added abstraction layer around config. `roles` in config renamed to `defaultRoles`. These are used if no `roles` are provided in production.yaml --- client/src/Home.js | 4 ++-- server/app-builder.js | 2 +- server/config/default.yaml | 2 +- server/index.js | 2 +- server/lib/builtin-zone-mta.js | 2 +- server/lib/client-helpers.js | 2 +- server/lib/config.js | 9 +++++++++ server/lib/dbcheck.js | 2 +- server/lib/knex.js | 2 +- server/lib/log.js | 2 +- server/lib/mailers.js | 2 +- server/lib/message-sender.js | 2 +- server/lib/passport.js | 2 +- server/lib/privilege-helpers.js | 2 +- server/lib/translate.js | 2 +- server/lib/urls.js | 2 +- server/models/shares.js | 2 +- server/models/subscriptions.js | 2 +- server/models/users.js | 2 +- server/routes/api.js | 2 +- server/routes/links.js | 2 +- server/routes/sandboxed-mosaico.js | 2 +- server/routes/subscription.js | 2 +- server/services/executor.js | 2 +- server/services/feedcheck.js | 2 +- server/services/gdpr-cleanup.js | 2 +- server/services/importer.js | 2 +- server/services/postfix-bounce-server.js | 2 +- server/services/sender-master.js | 2 +- server/services/sender-worker.js | 2 +- server/services/test-server.js | 2 +- server/services/verp-server.js | 2 +- server/test/e2e/lib/config.js | 2 +- 33 files changed, 42 insertions(+), 33 deletions(-) create mode 100644 server/lib/config.js diff --git a/client/src/Home.js b/client/src/Home.js index 386e884e..f7c6b7db 100644 --- a/client/src/Home.js +++ b/client/src/Home.js @@ -19,8 +19,8 @@ export default class List extends Component { return (
-

{t('welcomeToMailtrain')}

-
TODO: some dashboard
+

{t('Mailtrain 2 beta')}

+
{t('Build') + ' 2019-07-26-1703'}
); } diff --git a/server/app-builder.js b/server/app-builder.js index 42105d55..bdadbea4 100644 --- a/server/app-builder.js +++ b/server/app-builder.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./lib/config'); const log = require('./lib/log'); const express = require('express'); diff --git a/server/config/default.yaml b/server/config/default.yaml index ce7bb86c..b7997c92 100644 --- a/server/config/default.yaml +++ b/server/config/default.yaml @@ -257,7 +257,7 @@ seleniumWebDriver: browser: phantomjs -roles: +defaultRoles: global: master: name: Global Master diff --git a/server/index.js b/server/index.js index 8ec45b4d..2fb88cc6 100644 --- a/server/index.js +++ b/server/index.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./lib/config'); const log = require('./lib/log'); const appBuilder = require('./app-builder'); const translate = require('./lib/translate'); diff --git a/server/lib/builtin-zone-mta.js b/server/lib/builtin-zone-mta.js index 1e820f0c..e25da829 100644 --- a/server/lib/builtin-zone-mta.js +++ b/server/lib/builtin-zone-mta.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const fork = require('./fork').fork; const log = require('./log'); const path = require('path'); diff --git a/server/lib/client-helpers.js b/server/lib/client-helpers.js index 4bf6a766..c00a9389 100644 --- a/server/lib/client-helpers.js +++ b/server/lib/client-helpers.js @@ -1,7 +1,7 @@ 'use strict'; const passport = require('./passport'); -const config = require('config'); +const config = require('./config'); const forms = require('../models/forms'); const shares = require('../models/shares'); const urls = require('./urls'); diff --git a/server/lib/config.js b/server/lib/config.js new file mode 100644 index 00000000..d7840072 --- /dev/null +++ b/server/lib/config.js @@ -0,0 +1,9 @@ +"use strict"; + +const config = require('config'); + +if (!config.roles) { + config.roles = config.defaultRoles; +} + +module.exports = config; \ No newline at end of file diff --git a/server/lib/dbcheck.js b/server/lib/dbcheck.js index 7051f79f..7efb66fa 100644 --- a/server/lib/dbcheck.js +++ b/server/lib/dbcheck.js @@ -4,7 +4,7 @@ This module handles Mailtrain database initialization and upgrades */ -const config = require('config'); +const config = require('./config'); const mysql = require('mysql'); const log = require('./log'); const fs = require('fs'); diff --git a/server/lib/knex.js b/server/lib/knex.js index 578fd2bd..43cc7194 100644 --- a/server/lib/knex.js +++ b/server/lib/knex.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const path = require('path'); const knexConstructor = require('knex'); diff --git a/server/lib/log.js b/server/lib/log.js index f8429067..845bab77 100644 --- a/server/lib/log.js +++ b/server/lib/log.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const log = require('npmlog'); log.level = config.log.level; diff --git a/server/lib/mailers.js b/server/lib/mailers.js index 74a61d34..8c0100a9 100644 --- a/server/lib/mailers.js +++ b/server/lib/mailers.js @@ -1,7 +1,7 @@ 'use strict'; const log = require('./log'); -const config = require('config'); +const config = require('./config'); const nodemailer = require('nodemailer'); const aws = require('aws-sdk'); diff --git a/server/lib/message-sender.js b/server/lib/message-sender.js index 1abae445..ec90eefd 100644 --- a/server/lib/message-sender.js +++ b/server/lib/message-sender.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const log = require('./log'); const mailers = require('./mailers'); const knex = require('./knex'); diff --git a/server/lib/passport.js b/server/lib/passport.js index d8e10122..8b1eaae5 100644 --- a/server/lib/passport.js +++ b/server/lib/passport.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const log = require('./log'); const util = require('util'); diff --git a/server/lib/privilege-helpers.js b/server/lib/privilege-helpers.js index 67d52be9..3b27e459 100644 --- a/server/lib/privilege-helpers.js +++ b/server/lib/privilege-helpers.js @@ -1,7 +1,7 @@ 'use strict'; const log = require('./log'); -const config = require('config'); +const config = require('./config'); const fs = require('fs-extra-promise'); diff --git a/server/lib/translate.js b/server/lib/translate.js index 0189d983..ba272355 100644 --- a/server/lib/translate.js +++ b/server/lib/translate.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const i18n = require("i18next"); const fs = require('fs'); const path = require('path'); diff --git a/server/lib/urls.js b/server/lib/urls.js index b3c5ee22..4e6f7077 100644 --- a/server/lib/urls.js +++ b/server/lib/urls.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('./config'); const urllib = require('url'); const {anonymousRestrictedAccessToken} = require('../../shared/urls'); const {getLangCodeFromExpressLocale} = require('./translate'); diff --git a/server/models/shares.js b/server/models/shares.js index 976129bd..61bf82d1 100644 --- a/server/models/shares.js +++ b/server/models/shares.js @@ -1,7 +1,7 @@ 'use strict'; const knex = require('../lib/knex'); -const config = require('config'); +const config = require('../lib/config'); const { enforce, castToInteger } = require('../lib/helpers'); const dtHelpers = require('../lib/dt-helpers'); const entitySettings = require('../lib/entity-settings'); diff --git a/server/models/subscriptions.js b/server/models/subscriptions.js index ca9343ad..e2266080 100644 --- a/server/models/subscriptions.js +++ b/server/models/subscriptions.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const knex = require('../lib/knex'); const hasher = require('node-object-hash')(); const shortid = require('shortid'); diff --git a/server/models/users.js b/server/models/users.js index 5ffea2f8..6ff8626e 100644 --- a/server/models/users.js +++ b/server/models/users.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const knex = require('../lib/knex'); const hasher = require('node-object-hash')(); const { enforce, filterObject } = require('../lib/helpers'); diff --git a/server/routes/api.js b/server/routes/api.js index 4d2b5116..52d1c800 100644 --- a/server/routes/api.js +++ b/server/routes/api.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const lists = require('../models/lists'); const tools = require('../lib/tools'); const blacklist = require('../models/blacklist'); diff --git a/server/routes/links.js b/server/routes/links.js index 3cd43528..897fc2c6 100644 --- a/server/routes/links.js +++ b/server/routes/links.js @@ -1,7 +1,7 @@ 'use strict'; const log = require('../lib/log'); -const config = require('config'); +const config = require('../lib/config'); const router = require('../lib/router-async').create(); const links = require('../models/links'); const interoperableErrors = require('../../shared/interoperable-errors'); diff --git a/server/routes/sandboxed-mosaico.js b/server/routes/sandboxed-mosaico.js index 001a3129..98f4854b 100644 --- a/server/routes/sandboxed-mosaico.js +++ b/server/routes/sandboxed-mosaico.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const path = require('path'); const express = require('express'); const routerFactory = require('../lib/router-async'); diff --git a/server/routes/subscription.js b/server/routes/subscription.js index f3ee9290..36b2d1f8 100644 --- a/server/routes/subscription.js +++ b/server/routes/subscription.js @@ -1,7 +1,7 @@ 'use strict'; const log = require('../lib/log'); -const config = require('config'); +const config = require('../lib/config'); const router = require('../lib/router-async').create(); const confirmations = require('../models/confirmations'); const subscriptions = require('../models/subscriptions'); diff --git a/server/services/executor.js b/server/services/executor.js index f772d0d5..19b74a7a 100644 --- a/server/services/executor.js +++ b/server/services/executor.js @@ -4,7 +4,7 @@ that can chroot. */ -const config = require('config'); +const config = require('../lib/config'); const reportHelpers = require('../lib/report-helpers'); const fork = require('../lib/fork').fork; const path = require('path'); diff --git a/server/services/feedcheck.js b/server/services/feedcheck.js index e42d6e49..d97284b0 100644 --- a/server/services/feedcheck.js +++ b/server/services/feedcheck.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const log = require('../lib/log'); const knex = require('../lib/knex'); const feedparser = require('feedparser-promised'); diff --git a/server/services/gdpr-cleanup.js b/server/services/gdpr-cleanup.js index 9c532ca6..5f9bc68b 100644 --- a/server/services/gdpr-cleanup.js +++ b/server/services/gdpr-cleanup.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const log = require('../lib/log'); const knex = require('../lib/knex'); const subscriptions = require('../models/subscriptions'); diff --git a/server/services/importer.js b/server/services/importer.js index 48aa8a8c..049ed8e6 100644 --- a/server/services/importer.js +++ b/server/services/importer.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const knex = require('../lib/knex'); const path = require('path'); const log = require('../lib/log'); diff --git a/server/services/postfix-bounce-server.js b/server/services/postfix-bounce-server.js index 4862ea91..1123cfe5 100644 --- a/server/services/postfix-bounce-server.js +++ b/server/services/postfix-bounce-server.js @@ -1,7 +1,7 @@ 'use strict'; const log = require('../lib/log'); -const config = require('config'); +const config = require('../lib/config'); const net = require('net'); const campaigns = require('../models/campaigns'); const contextHelpers = require('../lib/context-helpers'); diff --git a/server/services/sender-master.js b/server/services/sender-master.js index d2e93ab5..db7c8b84 100644 --- a/server/services/sender-master.js +++ b/server/services/sender-master.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const fork = require('../lib/fork').fork; const log = require('../lib/log'); const path = require('path'); diff --git a/server/services/sender-worker.js b/server/services/sender-worker.js index 3510e61f..f0667ee6 100644 --- a/server/services/sender-worker.js +++ b/server/services/sender-worker.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../lib/config'); const log = require('../lib/log'); const mailers = require('../lib/mailers'); const messageSender = require('../lib/message-sender'); diff --git a/server/services/test-server.js b/server/services/test-server.js index 37529120..7cc208d6 100644 --- a/server/services/test-server.js +++ b/server/services/test-server.js @@ -1,7 +1,7 @@ 'use strict'; const log = require('../lib/log'); -const config = require('config'); +const config = require('../lib/config'); const crypto = require('crypto'); const humanize = require('humanize'); const http = require('http'); diff --git a/server/services/verp-server.js b/server/services/verp-server.js index c345786b..847e81b2 100644 --- a/server/services/verp-server.js +++ b/server/services/verp-server.js @@ -2,7 +2,7 @@ const { nodeifyFunction, nodeifyPromise } = require('../lib/nodeify'); const log = require('../lib/log'); -const config = require('config'); +const config = require('../lib/config'); const {MailerError} = require('../lib/mailers'); const campaigns = require('../models/campaigns'); const contextHelpers = require('../lib/context-helpers'); diff --git a/server/test/e2e/lib/config.js b/server/test/e2e/lib/config.js index 20ebc884..410ab99f 100644 --- a/server/test/e2e/lib/config.js +++ b/server/test/e2e/lib/config.js @@ -1,6 +1,6 @@ 'use strict'; -const config = require('config'); +const config = require('../../../lib/config'); module.exports = { app: config,