Yuki Takei 1 год назад
Родитель
Сommit
a658d13fe0

+ 94 - 93
apps/app/src/server/routes/apiv3/app-settings.js

@@ -1,3 +1,4 @@
+import { ConfigSource } from '@growi/core/dist/interfaces';
 import { ErrorV3 } from '@growi/core/dist/models';
 import { body } from 'express-validator';
 
@@ -5,6 +6,7 @@ import { i18n } from '^/config/next-i18next.config';
 
 import { SupportedAction } from '~/interfaces/activity';
 import { accessTokenParser } from '~/server/middlewares/access-token-parser';
+import { configManager } from '~/server/service/config-manager';
 import { getTranslation } from '~/server/service/i18next';
 import loggerFactory from '~/utils/logger';
 
@@ -430,66 +432,66 @@ module.exports = (crowi) => {
    */
   router.get('/', accessTokenParser, loginRequiredStrictly, adminRequired, async(req, res) => {
     const appSettingsParams = {
-      title: crowi.configManager.getConfig('crowi', 'app:title'),
-      confidential: crowi.configManager.getConfig('crowi', 'app:confidential'),
-      globalLang: crowi.configManager.getConfig('crowi', 'app:globalLang'),
-      isEmailPublishedForNewUser: crowi.configManager.getConfig('crowi', 'customize:isEmailPublishedForNewUser'),
-      fileUpload: crowi.configManager.getConfig('crowi', 'app:fileUpload'),
-      isV5Compatible: crowi.configManager.getConfig('crowi', 'app:isV5Compatible'),
-      siteUrl: crowi.configManager.getConfig('crowi', 'app:siteUrl'),
-      siteUrlUseOnlyEnvVars: crowi.configManager.getConfig('crowi', 'app:siteUrl:useOnlyEnvVars'),
-      envSiteUrl: crowi.configManager.getConfigFromEnvVars('crowi', 'app:siteUrl'),
+      title: configManager.getConfig('crowi', 'app:title'),
+      confidential: configManager.getConfig('crowi', 'app:confidential'),
+      globalLang: configManager.getConfig('crowi', 'app:globalLang'),
+      isEmailPublishedForNewUser: configManager.getConfig('crowi', 'customize:isEmailPublishedForNewUser'),
+      fileUpload: configManager.getConfig('crowi', 'app:fileUpload'),
+      isV5Compatible: configManager.getConfig('crowi', 'app:isV5Compatible'),
+      siteUrl: configManager.getConfig('crowi', 'app:siteUrl'),
+      siteUrlUseOnlyEnvVars: configManager.getConfig('crowi', 'app:siteUrl:useOnlyEnvVars'),
+      envSiteUrl: configManager.getConfig('app:siteUrl', ConfigSource.env),
       isMailerSetup: crowi.mailService.isMailerSetup,
-      fromAddress: crowi.configManager.getConfig('crowi', 'mail:from'),
-
-      transmissionMethod: crowi.configManager.getConfig('crowi', 'mail:transmissionMethod'),
-      smtpHost: crowi.configManager.getConfig('crowi', 'mail:smtpHost'),
-      smtpPort: crowi.configManager.getConfig('crowi', 'mail:smtpPort'),
-      smtpUser: crowi.configManager.getConfig('crowi', 'mail:smtpUser'),
-      smtpPassword: crowi.configManager.getConfig('crowi', 'mail:smtpPassword'),
-      sesAccessKeyId: crowi.configManager.getConfig('crowi', 'mail:sesAccessKeyId'),
-      sesSecretAccessKey: crowi.configManager.getConfig('crowi', 'mail:sesSecretAccessKey'),
-
-      fileUploadType: crowi.configManager.getConfig('crowi', 'app:fileUploadType'),
-      envFileUploadType: crowi.configManager.getConfigFromEnvVars('crowi', 'app:fileUploadType'),
-      useOnlyEnvVarForFileUploadType: crowi.configManager.getConfig('crowi', 'app:useOnlyEnvVarForFileUploadType'),
-
-      s3Region: crowi.configManager.getConfig('crowi', 'aws:s3Region'),
-      s3CustomEndpoint: crowi.configManager.getConfig('crowi', 'aws:s3CustomEndpoint'),
-      s3Bucket: crowi.configManager.getConfig('crowi', 'aws:s3Bucket'),
-      s3AccessKeyId: crowi.configManager.getConfig('crowi', 'aws:s3AccessKeyId'),
-      s3ReferenceFileWithRelayMode: crowi.configManager.getConfig('crowi', 'aws:referenceFileWithRelayMode'),
-
-      gcsUseOnlyEnvVars: crowi.configManager.getConfig('crowi', 'gcs:useOnlyEnvVarsForSomeOptions'),
-      gcsApiKeyJsonPath: crowi.configManager.getConfig('crowi', 'gcs:apiKeyJsonPath'),
-      gcsBucket: crowi.configManager.getConfig('crowi', 'gcs:bucket'),
-      gcsUploadNamespace: crowi.configManager.getConfig('crowi', 'gcs:uploadNamespace'),
-      gcsReferenceFileWithRelayMode: crowi.configManager.getConfig('crowi', 'gcs:referenceFileWithRelayMode'),
-
-      envGcsApiKeyJsonPath: crowi.configManager.getConfigFromEnvVars('crowi', 'gcs:apiKeyJsonPath'),
-      envGcsBucket: crowi.configManager.getConfigFromEnvVars('crowi', 'gcs:bucket'),
-      envGcsUploadNamespace: crowi.configManager.getConfigFromEnvVars('crowi', 'gcs:uploadNamespace'),
-
-      azureUseOnlyEnvVars: crowi.configManager.getConfig('crowi', 'azure:useOnlyEnvVarsForSomeOptions'),
-      azureTenantId: crowi.configManager.getConfigFromDB('crowi', 'azure:tenantId'),
-      azureClientId: crowi.configManager.getConfigFromDB('crowi', 'azure:clientId'),
-      azureClientSecret: crowi.configManager.getConfigFromDB('crowi', 'azure:clientSecret'),
-      azureStorageAccountName: crowi.configManager.getConfigFromDB('crowi', 'azure:storageAccountName'),
-      azureStorageContainerName: crowi.configManager.getConfigFromDB('crowi', 'azure:storageContainerName'),
-      azureReferenceFileWithRelayMode: crowi.configManager.getConfig('crowi', 'azure:referenceFileWithRelayMode'),
-
-      envAzureTenantId: crowi.configManager.getConfigFromEnvVars('crowi', 'azure:tenantId'),
-      envAzureClientId: crowi.configManager.getConfigFromEnvVars('crowi', 'azure:clientId'),
-      envAzureClientSecret: crowi.configManager.getConfigFromEnvVars('crowi', 'azure:clientSecret'),
-      envAzureStorageAccountName: crowi.configManager.getConfigFromEnvVars('crowi', 'azure:storageAccountName'),
-      envAzureStorageContainerName: crowi.configManager.getConfigFromEnvVars('crowi', 'azure:storageContainerName'),
-
-      isEnabledPlugins: crowi.configManager.getConfig('crowi', 'plugin:isEnabledPlugins'),
-
-      isQuestionnaireEnabled: crowi.configManager.getConfig('crowi', 'questionnaire:isQuestionnaireEnabled'),
-      isAppSiteUrlHashed: crowi.configManager.getConfig('crowi', 'questionnaire:isAppSiteUrlHashed'),
-
-      isMaintenanceMode: crowi.configManager.getConfig('crowi', 'app:isMaintenanceMode'),
+      fromAddress: configManager.getConfig('crowi', 'mail:from'),
+
+      transmissionMethod: configManager.getConfig('crowi', 'mail:transmissionMethod'),
+      smtpHost: configManager.getConfig('crowi', 'mail:smtpHost'),
+      smtpPort: configManager.getConfig('crowi', 'mail:smtpPort'),
+      smtpUser: configManager.getConfig('crowi', 'mail:smtpUser'),
+      smtpPassword: configManager.getConfig('crowi', 'mail:smtpPassword'),
+      sesAccessKeyId: configManager.getConfig('crowi', 'mail:sesAccessKeyId'),
+      sesSecretAccessKey: configManager.getConfig('crowi', 'mail:sesSecretAccessKey'),
+
+      fileUploadType: configManager.getConfig('crowi', 'app:fileUploadType'),
+      envFileUploadType: configManager.getConfig('app:fileUploadType', ConfigSource.env),
+      useOnlyEnvVarForFileUploadType: configManager.getConfig('crowi', 'app:useOnlyEnvVarForFileUploadType'),
+
+      s3Region: configManager.getConfig('crowi', 'aws:s3Region'),
+      s3CustomEndpoint: configManager.getConfig('crowi', 'aws:s3CustomEndpoint'),
+      s3Bucket: configManager.getConfig('crowi', 'aws:s3Bucket'),
+      s3AccessKeyId: configManager.getConfig('crowi', 'aws:s3AccessKeyId'),
+      s3ReferenceFileWithRelayMode: configManager.getConfig('crowi', 'aws:referenceFileWithRelayMode'),
+
+      gcsUseOnlyEnvVars: configManager.getConfig('crowi', 'gcs:useOnlyEnvVarsForSomeOptions'),
+      gcsApiKeyJsonPath: configManager.getConfig('crowi', 'gcs:apiKeyJsonPath'),
+      gcsBucket: configManager.getConfig('crowi', 'gcs:bucket'),
+      gcsUploadNamespace: configManager.getConfig('crowi', 'gcs:uploadNamespace'),
+      gcsReferenceFileWithRelayMode: configManager.getConfig('crowi', 'gcs:referenceFileWithRelayMode'),
+
+      envGcsApiKeyJsonPath: configManager.getConfig('gcs:apiKeyJsonPath', ConfigSource.env),
+      envGcsBucket: configManager.getConfig('gcs:bucket', ConfigSource.env),
+      envGcsUploadNamespace: configManager.getConfig('gcs:uploadNamespace', ConfigSource.env),
+
+      azureUseOnlyEnvVars: configManager.getConfig('crowi', 'azure:useOnlyEnvVarsForSomeOptions'),
+      azureTenantId: configManager.getConfigFromDB('crowi', 'azure:tenantId'),
+      azureClientId: configManager.getConfigFromDB('crowi', 'azure:clientId'),
+      azureClientSecret: configManager.getConfigFromDB('crowi', 'azure:clientSecret'),
+      azureStorageAccountName: configManager.getConfigFromDB('crowi', 'azure:storageAccountName'),
+      azureStorageContainerName: configManager.getConfigFromDB('crowi', 'azure:storageContainerName'),
+      azureReferenceFileWithRelayMode: configManager.getConfig('crowi', 'azure:referenceFileWithRelayMode'),
+
+      envAzureTenantId: configManager.getConfig('azure:tenantId', ConfigSource.env),
+      envAzureClientId: configManager.getConfig('azure:clientId', ConfigSource.env),
+      envAzureClientSecret: configManager.getConfig('azure:clientSecret', ConfigSource.env),
+      envAzureStorageAccountName: configManager.getConfig('azure:storageAccountName', ConfigSource.env),
+      envAzureStorageContainerName: configManager.getConfig('azure:storageContainerName', ConfigSource.env),
+
+      isEnabledPlugins: configManager.getConfig('crowi', 'plugin:isEnabledPlugins'),
+
+      isQuestionnaireEnabled: configManager.getConfig('crowi', 'questionnaire:isQuestionnaireEnabled'),
+      isAppSiteUrlHashed: configManager.getConfig('crowi', 'questionnaire:isAppSiteUrlHashed'),
+
+      isMaintenanceMode: configManager.getConfig('crowi', 'app:isMaintenanceMode'),
     };
     return res.apiv3({ appSettingsParams });
 
@@ -535,13 +537,13 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestAppSettingParams);
+      await configManager.updateConfigs(requestAppSettingParams);
       const appSettingParams = {
-        title: crowi.configManager.getConfig('crowi', 'app:title'),
-        confidential: crowi.configManager.getConfig('crowi', 'app:confidential'),
-        globalLang: crowi.configManager.getConfig('crowi', 'app:globalLang'),
-        isEmailPublishedForNewUser: crowi.configManager.getConfig('crowi', 'customize:isEmailPublishedForNewUser'),
-        fileUpload: crowi.configManager.getConfig('crowi', 'app:fileUpload'),
+        title: configManager.getConfig('crowi', 'app:title'),
+        confidential: configManager.getConfig('crowi', 'app:confidential'),
+        globalLang: configManager.getConfig('crowi', 'app:globalLang'),
+        isEmailPublishedForNewUser: configManager.getConfig('crowi', 'customize:isEmailPublishedForNewUser'),
+        fileUpload: configManager.getConfig('crowi', 'app:fileUpload'),
       };
 
       const parameters = { action: SupportedAction.ACTION_ADMIN_APP_SETTINGS_UPDATE };
@@ -592,7 +594,7 @@ module.exports = (crowi) => {
    */
   router.put('/site-url-setting', loginRequiredStrictly, adminRequired, addActivity, validator.siteUrlSetting, apiV3FormValidator, async(req, res) => {
 
-    const useOnlyEnvVars = crowi.configManager.getConfig('crowi', 'app:siteUrl:useOnlyEnvVars');
+    const useOnlyEnvVars = configManager.getConfig('crowi', 'app:siteUrl:useOnlyEnvVars');
 
     if (useOnlyEnvVars) {
       const msg = 'Updating the Site URL is prohibited on this system.';
@@ -604,9 +606,9 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestSiteUrlSettingParams);
+      await configManager.updateConfigs(requestSiteUrlSettingParams);
       const siteUrlSettingParams = {
-        siteUrl: crowi.configManager.getConfig('crowi', 'app:siteUrl'),
+        siteUrl: configManager.getConfig('crowi', 'app:siteUrl'),
       };
 
       const parameters = { action: SupportedAction.ACTION_ADMIN_SITE_URL_UPDATE };
@@ -642,7 +644,7 @@ module.exports = (crowi) => {
    */
   async function sendTestEmail(destinationAddress) {
 
-    const { configManager, mailService } = crowi;
+    const { mailService } = crowi;
 
     if (!mailService.isMailerSetup) {
       throw Error('mailService is not setup');
@@ -687,12 +689,11 @@ module.exports = (crowi) => {
 
   const updateMailSettinConfig = async function(requestMailSettingParams) {
     const {
-      configManager,
       mailService,
     } = crowi;
 
     // update config without publishing S2sMessage
-    await configManager.updateConfigsInTheSameNamespace('crowi', requestMailSettingParams, true);
+    await configManager.updateConfigs(requestMailSettingParams, { skipPubsub: true });
 
     await mailService.initialize();
     mailService.publishUpdatedMessage();
@@ -912,42 +913,42 @@ module.exports = (crowi) => {
     }
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams, true);
+      await configManager.updateConfigs(requestParams, { skipPubsub: true });
 
       const s3SecretAccessKey = req.body.s3SecretAccessKey;
       if (fileUploadType === 'aws' && s3SecretAccessKey != null && s3SecretAccessKey.trim() !== '') {
-        await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'aws:s3SecretAccessKey': s3SecretAccessKey }, true);
+        await configManager.updateConfigs({ 'aws:s3SecretAccessKey': s3SecretAccessKey }, { skipPubsub: true });
       }
 
       await crowi.setUpFileUpload(true);
       crowi.fileUploaderSwitchService.publishUpdatedMessage();
 
       const responseParams = {
-        fileUploadType: crowi.configManager.getConfig('crowi', 'app:fileUploadType'),
+        fileUploadType: configManager.getConfig('crowi', 'app:fileUploadType'),
       };
 
       if (fileUploadType === 'gcs') {
-        responseParams.gcsApiKeyJsonPath = crowi.configManager.getConfig('crowi', 'gcs:apiKeyJsonPath');
-        responseParams.gcsBucket = crowi.configManager.getConfig('crowi', 'gcs:bucket');
-        responseParams.gcsUploadNamespace = crowi.configManager.getConfig('crowi', 'gcs:uploadNamespace');
-        responseParams.gcsReferenceFileWithRelayMode = crowi.configManager.getConfig('crowi', 'gcs:referenceFileWithRelayMode ');
+        responseParams.gcsApiKeyJsonPath = configManager.getConfig('crowi', 'gcs:apiKeyJsonPath');
+        responseParams.gcsBucket = configManager.getConfig('crowi', 'gcs:bucket');
+        responseParams.gcsUploadNamespace = configManager.getConfig('crowi', 'gcs:uploadNamespace');
+        responseParams.gcsReferenceFileWithRelayMode = configManager.getConfig('crowi', 'gcs:referenceFileWithRelayMode ');
       }
 
       if (fileUploadType === 'aws') {
-        responseParams.s3Region = crowi.configManager.getConfig('crowi', 'aws:s3Region');
-        responseParams.s3CustomEndpoint = crowi.configManager.getConfig('crowi', 'aws:s3CustomEndpoint');
-        responseParams.s3Bucket = crowi.configManager.getConfig('crowi', 'aws:s3Bucket');
-        responseParams.s3AccessKeyId = crowi.configManager.getConfig('crowi', 'aws:s3AccessKeyId');
-        responseParams.s3ReferenceFileWithRelayMode = crowi.configManager.getConfig('crowi', 'aws:referenceFileWithRelayMode');
+        responseParams.s3Region = configManager.getConfig('crowi', 'aws:s3Region');
+        responseParams.s3CustomEndpoint = configManager.getConfig('crowi', 'aws:s3CustomEndpoint');
+        responseParams.s3Bucket = configManager.getConfig('crowi', 'aws:s3Bucket');
+        responseParams.s3AccessKeyId = configManager.getConfig('crowi', 'aws:s3AccessKeyId');
+        responseParams.s3ReferenceFileWithRelayMode = configManager.getConfig('crowi', 'aws:referenceFileWithRelayMode');
       }
 
       if (fileUploadType === 'azure') {
-        responseParams.azureTenantId = crowi.configManager.getConfig('crowi', 'azure:tenantId');
-        responseParams.azureClientId = crowi.configManager.getConfig('crowi', 'azure:clientId');
-        responseParams.azureClientSecret = crowi.configManager.getConfig('crowi', 'azure:clientSecret');
-        responseParams.azureStorageAccountName = crowi.configManager.getConfig('crowi', 'azure:storageAccountName');
-        responseParams.azureStorageContainerName = crowi.configManager.getConfig('crowi', 'azure:storageContainerName');
-        responseParams.azureReferenceFileWithRelayMode = crowi.configManager.getConfig('crowi', 'azure:referenceFileWithRelayMode');
+        responseParams.azureTenantId = configManager.getConfig('crowi', 'azure:tenantId');
+        responseParams.azureClientId = configManager.getConfig('crowi', 'azure:clientId');
+        responseParams.azureClientSecret = configManager.getConfig('crowi', 'azure:clientSecret');
+        responseParams.azureStorageAccountName = configManager.getConfig('crowi', 'azure:storageAccountName');
+        responseParams.azureStorageContainerName = configManager.getConfig('crowi', 'azure:storageContainerName');
+        responseParams.azureReferenceFileWithRelayMode = configManager.getConfig('crowi', 'azure:referenceFileWithRelayMode');
       }
       const parameters = { action: SupportedAction.ACTION_ADMIN_FILE_UPLOAD_CONFIG_UPDATE };
       activityEvent.emit('update', res.locals.activity._id, parameters);
@@ -1000,11 +1001,11 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams, true);
+      await configManager.updateConfigs(requestParams, { skipPubsub: true });
 
       const responseParams = {
-        isQuestionnaireEnabled: crowi.configManager.getConfig('crowi', 'questionnaire:isQuestionnaireEnabled'),
-        isAppSiteUrlHashed: crowi.configManager.getConfig('crowi', 'questionnaire:isAppSiteUrlHashed'),
+        isQuestionnaireEnabled: configManager.getConfig('crowi', 'questionnaire:isQuestionnaireEnabled'),
+        isAppSiteUrlHashed: configManager.getConfig('crowi', 'questionnaire:isAppSiteUrlHashed'),
       };
 
       const parameters = { action: SupportedAction.ACTION_ADMIN_QUESTIONNAIRE_SETTINGS_UPDATE };
@@ -1049,7 +1050,7 @@ module.exports = (crowi) => {
       return res.apiv3Err(new ErrorV3('GROWI is not maintenance mode. To import data, please activate the maintenance mode first.', 'not_maintenance_mode'));
     }
 
-    const isV5Compatible = crowi.configManager.getConfig('crowi', 'app:isV5Compatible');
+    const isV5Compatible = configManager.getConfig('crowi', 'app:isV5Compatible');
 
     try {
       if (!isV5Compatible) {

+ 11 - 10
apps/app/src/server/routes/apiv3/security-settings/index.js

@@ -1,3 +1,4 @@
+import { ConfigSource } from '@growi/core/dist/interfaces';
 import { ErrorV3 } from '@growi/core/dist/models';
 import xss from 'xss';
 
@@ -397,27 +398,27 @@ module.exports = (crowi) => {
       },
       samlAuth: {
         missingMandatoryConfigKeys: await crowi.passportService.getSamlMissingMandatoryConfigKeys(),
-        useOnlyEnvVarsForSomeOptions: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:useOnlyEnvVarsForSomeOptions'),
+        useOnlyEnvVarsForSomeOptions: await configManager.getConfig('security:passport-saml:useOnlyEnvVarsForSomeOptions', ConfigSource.env),
         samlEntryPoint: await configManager.getConfigFromDB('crowi', 'security:passport-saml:entryPoint'),
-        samlEnvVarEntryPoint: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:entryPoint'),
+        samlEnvVarEntryPoint: await configManager.getConfig('security:passport-saml:entryPoint', ConfigSource.env),
         samlIssuer: await configManager.getConfigFromDB('crowi', 'security:passport-saml:issuer'),
-        samlEnvVarIssuer: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:issuer'),
+        samlEnvVarIssuer: await configManager.getConfig('security:passport-saml:issuer', ConfigSource.env),
         samlCert: await configManager.getConfigFromDB('crowi', 'security:passport-saml:cert'),
-        samlEnvVarCert: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:cert'),
+        samlEnvVarCert: await configManager.getConfig('security:passport-saml:cert', ConfigSource.env),
         samlAttrMapId: await configManager.getConfigFromDB('crowi', 'security:passport-saml:attrMapId'),
-        samlEnvVarAttrMapId: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:attrMapId'),
+        samlEnvVarAttrMapId: await configManager.getConfig('security:passport-saml:attrMapId', ConfigSource.env),
         samlAttrMapUsername: await configManager.getConfigFromDB('crowi', 'security:passport-saml:attrMapUsername'),
-        samlEnvVarAttrMapUsername: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:attrMapUsername'),
+        samlEnvVarAttrMapUsername: await configManager.getConfig('security:passport-saml:attrMapUsername', ConfigSource.env),
         samlAttrMapMail: await configManager.getConfigFromDB('crowi', 'security:passport-saml:attrMapMail'),
-        samlEnvVarAttrMapMail: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:attrMapMail'),
+        samlEnvVarAttrMapMail: await configManager.getConfig('security:passport-saml:attrMapMail', ConfigSource.env),
         samlAttrMapFirstName: await configManager.getConfigFromDB('crowi', 'security:passport-saml:attrMapFirstName'),
-        samlEnvVarAttrMapFirstName: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:attrMapFirstName'),
+        samlEnvVarAttrMapFirstName: await configManager.getConfig('security:passport-saml:attrMapFirstName', ConfigSource.env),
         samlAttrMapLastName: await configManager.getConfigFromDB('crowi', 'security:passport-saml:attrMapLastName'),
-        samlEnvVarAttrMapLastName: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:attrMapLastName'),
+        samlEnvVarAttrMapLastName: await configManager.getConfig('security:passport-saml:attrMapLastName', ConfigSource.env),
         isSameUsernameTreatedAsIdenticalUser: await configManager.getConfig('crowi', 'security:passport-saml:isSameUsernameTreatedAsIdenticalUser'),
         isSameEmailTreatedAsIdenticalUser: await configManager.getConfig('crowi', 'security:passport-saml:isSameEmailTreatedAsIdenticalUser'),
         samlABLCRule: await configManager.getConfigFromDB('crowi', 'security:passport-saml:ABLCRule'),
-        samlEnvVarABLCRule: await configManager.getConfigFromEnvVars('crowi', 'security:passport-saml:ABLCRule'),
+        samlEnvVarABLCRule: await configManager.getConfig('security:passport-saml:ABLCRule', ConfigSource.env),
       },
       oidcAuth: {
         oidcProviderName: await configManager.getConfig('crowi', 'security:passport-oidc:providerName'),

+ 0 - 26
apps/app/src/server/service/config-manager/legacy/config-loader.ts

@@ -958,30 +958,4 @@ export default class ConfigLoader {
     return config;
   }
 
-  /**
-   * get config from the environment variables for display admin page
-   *
-   * **use this only admin homepage.**
-   */
-  static getEnvVarsForDisplay(avoidSecurity = false): any {
-    const config = {};
-    for (const ENV_VAR_NAME of Object.keys(ENV_VAR_NAME_TO_CONFIG_INFO)) {
-      const configInfo = ENV_VAR_NAME_TO_CONFIG_INFO[ENV_VAR_NAME];
-      if (process.env[ENV_VAR_NAME] === undefined) {
-        continue;
-      }
-
-      // skip to show secret values
-      if (avoidSecurity && configInfo.isSecret) {
-        continue;
-      }
-
-      const parser = parserDictionary[configInfo.type];
-      config[ENV_VAR_NAME] = parser.parse(process.env[ENV_VAR_NAME] as string);
-    }
-
-    logger.debug('ConfigLoader#getEnvVarsForDisplay', config);
-    return config;
-  }
-
 }