Просмотр исходного кода

abolish req.config, Config.getConfig

mizozobu 6 лет назад
Родитель
Сommit
02b82c8695

+ 0 - 2
src/server/crowi/express-init.js

@@ -65,12 +65,10 @@ module.exports = function(crowi, app) {
     const Config = crowi.model('Config');
     const Config = crowi.model('Config');
     app.set('tzoffset', tzoffset);
     app.set('tzoffset', tzoffset);
 
 
-    // req.config = config;
     req.csrfToken = null;
     req.csrfToken = null;
 
 
     res.locals.req = req;
     res.locals.req = req;
     res.locals.baseUrl = crowi.appService.getSiteUrl();
     res.locals.baseUrl = crowi.appService.getSiteUrl();
-    // res.locals.config = config;
     res.locals.env = env;
     res.locals.env = env;
     res.locals.now = now;
     res.locals.now = now;
     res.locals.tzoffset = tzoffset;
     res.locals.tzoffset = tzoffset;

+ 0 - 17
src/server/models/config.js

@@ -226,27 +226,10 @@ module.exports = function(crowi) {
     return Number(env);
     return Number(env);
   };
   };
 
 
-  /*
-  configSchema.statics.isInstalled = function(config)
-  {
-    if (!config.crowi) {
-      return false;
-    }
-
-    if (config.crowi['app:installed']
-       && config.crowi['app:installed'] !== '0.0.0') {
-      return true;
-    }
-
-    return false;
-  }
-  */
-
   const Config = mongoose.model('Config', configSchema);
   const Config = mongoose.model('Config', configSchema);
   Config.SECURITY_REGISTRATION_MODE_OPEN = SECURITY_REGISTRATION_MODE_OPEN;
   Config.SECURITY_REGISTRATION_MODE_OPEN = SECURITY_REGISTRATION_MODE_OPEN;
   Config.SECURITY_REGISTRATION_MODE_RESTRICTED = SECURITY_REGISTRATION_MODE_RESTRICTED;
   Config.SECURITY_REGISTRATION_MODE_RESTRICTED = SECURITY_REGISTRATION_MODE_RESTRICTED;
   Config.SECURITY_REGISTRATION_MODE_CLOSED = SECURITY_REGISTRATION_MODE_CLOSED;
   Config.SECURITY_REGISTRATION_MODE_CLOSED = SECURITY_REGISTRATION_MODE_CLOSED;
 
 
-
   return Config;
   return Config;
 };
 };

+ 2 - 3
src/server/models/user.js

@@ -348,11 +348,10 @@ module.exports = function(crowi) {
   userSchema.statics.isEmailValid = function(email, callback) {
   userSchema.statics.isEmailValid = function(email, callback) {
     validateCrowi();
     validateCrowi();
 
 
-    const config = crowi.getConfig();
-    const whitelist = config.crowi['security:registrationWhiteList'];
+    const whitelist = crowi.configManager.getConfig('crowi', 'security:registrationWhiteList');
 
 
     if (Array.isArray(whitelist) && whitelist.length > 0) {
     if (Array.isArray(whitelist) && whitelist.length > 0) {
-      return config.crowi['security:registrationWhiteList'].some((allowedEmail) => {
+      return whitelist.some((allowedEmail) => {
         const re = new RegExp(`${allowedEmail}$`);
         const re = new RegExp(`${allowedEmail}$`);
         return re.test(email);
         return re.test(email);
       });
       });

+ 0 - 1
src/server/routes/admin.js

@@ -9,7 +9,6 @@ module.exports = function(crowi, app) {
   const ExternalAccount = models.ExternalAccount;
   const ExternalAccount = models.ExternalAccount;
   const UserGroup = models.UserGroup;
   const UserGroup = models.UserGroup;
   const UserGroupRelation = models.UserGroupRelation;
   const UserGroupRelation = models.UserGroupRelation;
-  const Config = models.Config;
   const GlobalNotificationSetting = models.GlobalNotificationSetting;
   const GlobalNotificationSetting = models.GlobalNotificationSetting;
   const GlobalNotificationMailSetting = models.GlobalNotificationMailSetting;
   const GlobalNotificationMailSetting = models.GlobalNotificationMailSetting;
   const GlobalNotificationSlackSetting = models.GlobalNotificationSlackSetting; // eslint-disable-line no-unused-vars
   const GlobalNotificationSlackSetting = models.GlobalNotificationSlackSetting; // eslint-disable-line no-unused-vars

+ 3 - 2
src/server/routes/login.js

@@ -12,6 +12,7 @@ module.exports = function(crowi, app) {
   const mailer = crowi.getMailer();
   const mailer = crowi.getMailer();
   const User = crowi.model('User');
   const User = crowi.model('User');
   const Config = crowi.model('Config');
   const Config = crowi.model('Config');
+  const { configManager } = crowi;
 
 
   const actions = {};
   const actions = {};
 
 
@@ -108,7 +109,7 @@ module.exports = function(crowi, app) {
     }
     }
 
 
     // config で closed ならさよなら
     // config で closed ならさよなら
-    if (config.crowi['security:registrationMode'] == Config.SECURITY_REGISTRATION_MODE_CLOSED) {
+    if (configManager.getConfig('crowi', 'security:registrationMode') == Config.SECURITY_REGISTRATION_MODE_CLOSED) {
       return res.redirect('/');
       return res.redirect('/');
     }
     }
 
 
@@ -156,7 +157,7 @@ module.exports = function(crowi, app) {
 
 
           // 作成後、承認が必要なモードなら、管理者に通知する
           // 作成後、承認が必要なモードなら、管理者に通知する
           const appTitle = Config.appTitle(config);
           const appTitle = Config.appTitle(config);
-          if (config.crowi['security:registrationMode'] === Config.SECURITY_REGISTRATION_MODE_RESTRICTED) {
+          if (configManager.getConfig('crowi', 'security:registrationMode') === Config.SECURITY_REGISTRATION_MODE_RESTRICTED) {
             // TODO send mail
             // TODO send mail
             User.findAdmins((err, admins) => {
             User.findAdmins((err, admins) => {
               async.each(
               async.each(

+ 1 - 1
src/server/service/config-manager.js

@@ -56,7 +56,7 @@ class ConfigManager {
 
 
     value = this.defaultSearch(namespace, key);
     value = this.defaultSearch(namespace, key);
 
 
-    debug(key, value);
+    logger.debug(key, value);
     return value;
     return value;
   }
   }
 
 

+ 6 - 6
src/server/service/file-uploader/aws.js

@@ -6,15 +6,15 @@ const aws = require('aws-sdk');
 
 
 module.exports = function(crowi) {
 module.exports = function(crowi) {
   const Uploader = require('./uploader');
   const Uploader = require('./uploader');
-  const lib = new Uploader(crowi.configManager);
+  const { configManager } = crowi;
+  const lib = new Uploader(configManager);
 
 
   function getAwsConfig() {
   function getAwsConfig() {
-    const config = crowi.getConfig();
     return {
     return {
-      accessKeyId: config.crowi['aws:accessKeyId'],
-      secretAccessKey: config.crowi['aws:secretAccessKey'],
-      region: config.crowi['aws:region'],
-      bucket: config.crowi['aws:bucket'],
+      accessKeyId: configManager.getConfig('crowi', 'aws:accessKeyId'),
+      secretAccessKey: configManager.getConfig('crowi', 'aws:secretAccessKey'),
+      region: configManager.getConfig('crowi', 'aws:region'),
+      bucket: configManager.getConfig('crowi', 'aws:bucket'),
     };
     };
   }
   }
 
 

+ 5 - 6
src/server/util/middlewares.js

@@ -5,7 +5,7 @@ const md5 = require('md5');
 const entities = require('entities');
 const entities = require('entities');
 
 
 module.exports = (crowi, app) => {
 module.exports = (crowi, app) => {
-  const { appService } = crowi;
+  const { configManager, appService } = crowi;
 
 
   const middlewares = {};
   const middlewares = {};
 
 
@@ -275,11 +275,10 @@ module.exports = (crowi, app) => {
 
 
   middlewares.awsEnabled = function() {
   middlewares.awsEnabled = function() {
     return function(req, res, next) {
     return function(req, res, next) {
-      const config = req.config;
-      if (config.crowi['aws:region'] !== ''
-          && config.crowi['aws:bucket'] !== ''
-          && config.crowi['aws:accessKeyId'] !== ''
-          && config.crowi['aws:secretAccessKey'] !== '') {
+      if (configManager.getConfig('crowi', 'aws:region') !== ''
+          && configManager.getConfig('crowi', 'aws:bucket') !== ''
+          && configManager.getConfig('crowi', 'aws:accessKeyId') !== ''
+          && configManager.getConfig('crowi', 'aws:secretAccessKey') !== '') {
         req.flash('globalError', 'AWS settings required to use this function. Please ask the administrator.');
         req.flash('globalError', 'AWS settings required to use this function. Please ask the administrator.');
         return res.redirect('/');
         return res.redirect('/');
       }
       }

+ 2 - 3
src/server/util/slack.js

@@ -8,7 +8,6 @@ const urljoin = require('url-join');
 /* eslint-disable no-use-before-define */
 /* eslint-disable no-use-before-define */
 
 
 module.exports = function(crowi) {
 module.exports = function(crowi) {
-  const config = crowi.getConfig();
   const Slack = require('slack-node');
   const Slack = require('slack-node');
   const { configManager } = crowi;
   const { configManager } = crowi;
 
 
@@ -17,7 +16,7 @@ module.exports = function(crowi) {
   const postWithIwh = function(messageObj) {
   const postWithIwh = function(messageObj) {
     return new Promise((resolve, reject) => {
     return new Promise((resolve, reject) => {
       const client = new Slack();
       const client = new Slack();
-      client.setWebhook(config.notification['slack:incomingWebhookUrl']);
+      client.setWebhook(configManager.getConfig('notification', 'slack:incomingWebhookUrl'));
       client.webhook(messageObj, (err, res) => {
       client.webhook(messageObj, (err, res) => {
         if (err) {
         if (err) {
           debug('Post error', err, res);
           debug('Post error', err, res);
@@ -31,7 +30,7 @@ module.exports = function(crowi) {
 
 
   const postWithWebApi = function(messageObj) {
   const postWithWebApi = function(messageObj) {
     return new Promise((resolve, reject) => {
     return new Promise((resolve, reject) => {
-      const client = new Slack(config.notification['slack:token']);
+      const client = new Slack(configManager.getConfig('notification', 'slack:token'));
       // stringify attachments
       // stringify attachments
       if (messageObj.attachments != null) {
       if (messageObj.attachments != null) {
         messageObj.attachments = JSON.stringify(messageObj.attachments);
         messageObj.attachments = JSON.stringify(messageObj.attachments);