kaori пре 4 година
родитељ
комит
1fbe1320e2
1 измењених фајлова са 0 додато и 243 уклоњено
  1. 0 243
      src/server/models/config.js

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

@@ -1,243 +0,0 @@
-const mongoose = require('mongoose');
-const uniqueValidator = require('mongoose-unique-validator');
-
-module.exports = function(crowi) {
-
-  const configSchema = new mongoose.Schema({
-    ns: { type: String, required: true },
-    key: { type: String, required: true },
-    value: { type: String, required: true },
-  });
-  // define unique compound index
-  configSchema.index({ ns: 1, key: 1 }, { unique: true });
-  configSchema.plugin(uniqueValidator);
-
-  /**
-   * default values when GROWI is cleanly installed
-   */
-  function getConfigsForInstalling() {
-    // eslint-disable-next-line no-use-before-define
-    const config = getDefaultCrowiConfigs();
-
-    // overwrite
-    config['app:installed'] = true;
-    config['app:fileUpload'] = true;
-    config['customize:isSavedStatesOfTabChanges'] = false;
-
-    return config;
-  }
-
-  /**
-   * default values when migrated from Official Crowi
-   */
-  function getDefaultCrowiConfigs() {
-    /* eslint-disable key-spacing */
-    return {
-      'app:installed'     : false,
-      'app:confidential'  : undefined,
-
-      'app:fileUpload'    : false,
-      'app:globalLang'    : 'en_US',
-
-      'security:restrictGuestMode'      : 'Deny',
-
-      'security:registrationMode'      : 'Open',
-      'security:registrationWhiteList' : [],
-
-      'security:list-policy:hideRestrictedByOwner' : false,
-      'security:list-policy:hideRestrictedByGroup' : false,
-      'security:pageCompleteDeletionAuthority' : undefined,
-
-      'security:passport-local:isEnabled' : true,
-      'security:passport-local:isPasswordResetEnabled'  : true,
-      'security:passport-ldap:isEnabled' : false,
-      'security:passport-ldap:serverUrl' : undefined,
-      'security:passport-ldap:isUserBind' : undefined,
-      'security:passport-ldap:bindDN' : undefined,
-      'security:passport-ldap:bindDNPassword' : undefined,
-      'security:passport-ldap:searchFilter' : undefined,
-      'security:passport-ldap:attrMapUsername' : undefined,
-      'security:passport-ldap:attrMapName' : undefined,
-      'security:passport-ldap:attrMapMail' : undefined,
-      'security:passport-ldap:groupSearchBase' : undefined,
-      'security:passport-ldap:groupSearchFilter' : undefined,
-      'security:passport-ldap:groupDnProperty' : undefined,
-      'security:passport-ldap:isSameUsernameTreatedAsIdenticalUser': false,
-      'security:passport-saml:isEnabled' : false,
-      'security:passport-saml:isSameEmailTreatedAsIdenticalUser': false,
-
-      'security:passport-google:isEnabled' : false,
-      'security:passport-google:clientId': undefined,
-      'security:passport-google:clientSecret': undefined,
-      'security:passport-google:isSameUsernameTreatedAsIdenticalUser': false,
-
-      'security:passport-github:isEnabled' : false,
-      'security:passport-github:clientId': undefined,
-      'security:passport-github:clientSecret': undefined,
-      'security:passport-github:isSameUsernameTreatedAsIdenticalUser': false,
-
-      'security:passport-twitter:isEnabled' : false,
-      'security:passport-twitter:consumerKey': undefined,
-      'security:passport-twitter:consumerSecret': undefined,
-      'security:passport-twitter:isSameUsernameTreatedAsIdenticalUser': false,
-
-      'security:passport-oidc:isEnabled' : false,
-
-      'security:passport-basic:isEnabled' : false,
-      'security:passport-basic:isSameUsernameTreatedAsIdenticalUser': false,
-
-      'aws:s3Bucket'          : 'growi',
-      'aws:s3Region'          : 'ap-northeast-1',
-      'aws:s3AccessKeyId'     : undefined,
-      'aws:s3SecretAccessKey' : undefined,
-      'aws:s3CustomEndpoint'  : undefined,
-
-      'mail:from'         : undefined,
-      'mail:smtpHost'     : undefined,
-      'mail:smtpPort'     : undefined,
-      'mail:smtpUser'     : undefined,
-      'mail:smtpPassword' : undefined,
-
-      'plugin:isEnabledPlugins' : true,
-
-      'customize:css' : undefined,
-      'customize:script' : undefined,
-      'customize:header' : undefined,
-      'customize:title' : undefined,
-      'customize:highlightJsStyle' : 'github',
-      'customize:highlightJsStyleBorder' : false,
-      'customize:theme' : 'default',
-      'customize:isContainerFluid' : false,
-      'customize:isEnabledTimeline' : true,
-      'customize:isSavedStatesOfTabChanges' : true,
-      'customize:isEnabledAttachTitleHeader' : false,
-      'customize:showPageLimitationS' : 20,
-      'customize:showPageLimitationM' : 10,
-      'customize:showPageLimitationL' : 50,
-      'customize:showPageLimitationXL' : 20,
-      'customize:isEnabledStaleNotification': false,
-      'customize:isAllReplyShown': false,
-
-      'notification:owner-page:isEnabled': false,
-      'notification:group-page:isEnabled': false,
-
-      'importer:esa:team_name': undefined,
-      'importer:esa:access_token': undefined,
-      'importer:qiita:team_name': undefined,
-      'importer:qiita:access_token': undefined,
-    };
-    /* eslint-enable key-spacing */
-  }
-
-  function getDefaultMarkdownConfigs() {
-    return {
-      'markdown:xss:isEnabledPrevention': true,
-      'markdown:xss:option': 2,
-      'markdown:xss:tagWhiteList': [],
-      'markdown:xss:attrWhiteList': [],
-      'markdown:isEnabledLinebreaks': false,
-      'markdown:isEnabledLinebreaksInComments': true,
-      'markdown:adminPreferredIndentSize': 4,
-      'markdown:isIndentSizeForced': false,
-      'markdown:presentation:pageBreakSeparator': 1,
-      'markdown:presentation:pageBreakCustomSeparator': undefined,
-    };
-  }
-
-  function getDefaultNotificationConfigs() {
-    return {
-      'slack:isIncomingWebhookPrioritized': false,
-      'slack:incomingWebhookUrl': undefined,
-      'slack:token': undefined,
-    };
-  }
-
-  /**
-   * It is deprecated to use this for anything other than AppService#isDBInitialized.
-   */
-  configSchema.statics.getConfigsObjectForInstalling = function() {
-    return getConfigsForInstalling();
-  };
-
-  /**
-   * It is deprecated to use this for anything other than ConfigLoader#load.
-   */
-  configSchema.statics.getDefaultCrowiConfigsObject = function() {
-    return getDefaultCrowiConfigs();
-  };
-
-  /**
-   * It is deprecated to use this for anything other than ConfigLoader#load.
-   */
-  configSchema.statics.getDefaultMarkdownConfigsObject = function() {
-    return getDefaultMarkdownConfigs();
-  };
-
-  /**
-   * It is deprecated to use this for anything other than ConfigLoader#load.
-   */
-  configSchema.statics.getDefaultNotificationConfigsObject = function() {
-    return getDefaultNotificationConfigs();
-  };
-
-  configSchema.statics.getLocalconfig = function() {
-    const env = process.env;
-
-    const localConfig = {
-      crowi: {
-        title: crowi.appService.getAppTitle(),
-        url: crowi.appService.getSiteUrl(),
-        confidential: crowi.appService.getAppConfidential(),
-      },
-      upload: {
-        image: crowi.fileUploadService.getIsUploadable(),
-        file: crowi.fileUploadService.getFileUploadEnabled(),
-      },
-      registrationWhiteList: crowi.configManager.getConfig('crowi', 'security:registrationWhiteList'),
-      themeType: crowi.configManager.getConfig('crowi', 'customize:theme'),
-      isEnabledLinebreaks: crowi.configManager.getConfig('markdown', 'markdown:isEnabledLinebreaks'),
-      isEnabledLinebreaksInComments: crowi.configManager.getConfig('markdown', 'markdown:isEnabledLinebreaksInComments'),
-      adminPreferredIndentSize: crowi.configManager.getConfig('markdown', 'markdown:adminPreferredIndentSize'),
-      isIndentSizeForced: crowi.configManager.getConfig('markdown', 'markdown:isIndentSizeForced'),
-      pageBreakSeparator: crowi.configManager.getConfig('markdown', 'markdown:presentation:pageBreakSeparator'),
-      pageBreakCustomSeparator: crowi.configManager.getConfig('markdown', 'markdown:presentation:pageBreakCustomSeparator'),
-      isEnabledXssPrevention: crowi.configManager.getConfig('markdown', 'markdown:xss:isEnabledPrevention'),
-      isEnabledTimeline: crowi.configManager.getConfig('crowi', 'customize:isEnabledTimeline'),
-      isAllReplyShown: crowi.configManager.getConfig('crowi', 'customize:isAllReplyShown'),
-      xssOption: crowi.configManager.getConfig('markdown', 'markdown:xss:option'),
-      tagWhiteList: crowi.xssService.getTagWhiteList(),
-      attrWhiteList: crowi.xssService.getAttrWhiteList(),
-      highlightJsStyle: crowi.configManager.getConfig('crowi', 'customize:highlightJsStyle'),
-      highlightJsStyleBorder: crowi.configManager.getConfig('crowi', 'customize:highlightJsStyleBorder'),
-      customizeTitle: crowi.configManager.getConfig('crowi', 'customize:title'),
-      customizeHeader: crowi.configManager.getConfig('crowi', 'customize:header'),
-      customizeCss: crowi.configManager.getConfig('crowi', 'customize:css'),
-      isSavedStatesOfTabChanges: crowi.configManager.getConfig('crowi', 'customize:isSavedStatesOfTabChanges'),
-      isEnabledAttachTitleHeader: crowi.configManager.getConfig('crowi', 'customize:isEnabledAttachTitleHeader'),
-      customizeScript: crowi.configManager.getConfig('crowi', 'customize:script'),
-      hasSlackConfig: crowi.slackNotificationService.hasSlackConfig(),
-      env: {
-        PLANTUML_URI: env.PLANTUML_URI || null,
-        BLOCKDIAG_URI: env.BLOCKDIAG_URI || null,
-        DRAWIO_URI: env.DRAWIO_URI || null,
-        HACKMD_URI: env.HACKMD_URI || null,
-        MATHJAX: env.MATHJAX || null,
-        NO_CDN: env.NO_CDN || null,
-        GROWI_CLOUD_URI: env.GROWI_CLOUD_URI || null,
-        GROWI_APP_ID_FOR_GROWI_CLOUD: env.GROWI_APP_ID_FOR_GROWI_CLOUD || null,
-      },
-      isEnabledStaleNotification: crowi.configManager.getConfig('crowi', 'customize:isEnabledStaleNotification'),
-      isAclEnabled: crowi.aclService.isAclEnabled(),
-      isSearchServiceConfigured: crowi.searchService.isConfigured,
-      isSearchServiceReachable: crowi.searchService.isReachable,
-      isMailerSetup: crowi.mailService.isMailerSetup,
-      globalLang: crowi.configManager.getConfig('crowi', 'app:globalLang'),
-    };
-
-    return localConfig;
-  };
-
-  const Config = mongoose.model('Config', configSchema);
-
-  return Config;
-};