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,