Sfoglia il codice sorgente

replace method call

Yuki Takei 1 anno fa
parent
commit
1c6e7fdb9e
24 ha cambiato i file con 64 aggiunte e 63 eliminazioni
  1. 2 2
      apps/app/src/features/external-user-group/server/routes/apiv3/external-user-group.ts
  2. 1 1
      apps/app/src/features/external-user-group/server/service/keycloak-user-group-sync.integ.ts
  3. 2 2
      apps/app/src/server/routes/admin.js
  4. 11 11
      apps/app/src/server/routes/apiv3/customize-setting.js
  5. 4 3
      apps/app/src/server/routes/apiv3/markdown-setting.js
  6. 2 1
      apps/app/src/server/routes/apiv3/notification-setting.js
  7. 3 3
      apps/app/src/server/routes/apiv3/security-settings/index.js
  8. 2 1
      apps/app/src/server/routes/apiv3/slack-integration-legacy-settings.js
  9. 1 1
      apps/app/src/server/routes/apiv3/slack-integration-settings.js
  10. 2 2
      apps/app/src/server/service/app.ts
  11. 1 1
      apps/app/src/server/service/config-manager/config-manager.spec.ts
  12. 3 3
      apps/app/src/server/service/g2g-transfer.ts
  13. 1 1
      apps/app/src/server/service/installer.ts
  14. 1 1
      apps/app/src/server/service/page/delete-completely-user-home-by-system.integ.ts
  15. 12 14
      apps/app/src/server/service/page/index.ts
  16. 1 1
      apps/app/test/integration/models/v5.page.test.js
  17. 4 4
      apps/app/test/integration/service/external-user-group-sync.test.ts
  18. 1 1
      apps/app/test/integration/service/ldap-user-group-sync.test.ts
  19. 5 5
      apps/app/test/integration/service/page.test.js
  20. 1 1
      apps/app/test/integration/service/questionnaire.test.ts
  21. 1 1
      apps/app/test/integration/service/v5.migration.test.js
  22. 1 1
      apps/app/test/integration/service/v5.non-public-page.test.ts
  23. 1 1
      apps/app/test/integration/service/v5.page.test.ts
  24. 1 1
      apps/app/test/integration/service/v5.public-page.test.ts

+ 2 - 2
apps/app/src/features/external-user-group/server/routes/apiv3/external-user-group.ts

@@ -269,7 +269,7 @@ module.exports = (crowi: Crowi): Router => {
     }
 
     try {
-      await configManager.updateConfigsInTheSameNamespace('crowi', params, true);
+      await configManager.updateConfigs(params, { skipPubsub: true });
       return res.apiv3({}, 204);
     }
     catch (err) {
@@ -301,7 +301,7 @@ module.exports = (crowi: Crowi): Router => {
       };
 
       try {
-        await configManager.updateConfigsInTheSameNamespace('crowi', params, true);
+        await configManager.updateConfigs(params, { skipPubsub: true });
         return res.apiv3({}, 204);
       }
       catch (err) {

+ 1 - 1
apps/app/src/features/external-user-group/server/service/keycloak-user-group-sync.integ.ts

@@ -146,7 +146,7 @@ describe('KeycloakUserGroupSyncService.generateExternalUserGroupTrees', () => {
   };
 
   beforeAll(async() => {
-    await configManager.updateConfigsInTheSameNamespace('crowi', configParams, true);
+    await configManager.updateConfigs(configParams, { skipPubsub: true });
     keycloakUserGroupSyncService = new KeycloakUserGroupSyncService(null, null);
     keycloakUserGroupSyncService.init('oidc');
   });

+ 2 - 2
apps/app/src/server/routes/admin.js

@@ -105,7 +105,7 @@ module.exports = function(crowi, app) {
       return res.json(ApiResponse.error('esa.io form is blank'));
     }
 
-    await configManager.updateConfigsInTheSameNamespace('crowi', form);
+    await configManager.updateConfigs(form);
     importer.initializeEsaClient(); // let it run in the back aftert res
     const parameters = { action: SupportedAction.ACTION_ADMIN_ESA_DATA_UPDATED };
     activityEvent.emit('update', res.locals.activity._id, parameters);
@@ -127,7 +127,7 @@ module.exports = function(crowi, app) {
       return res.json(ApiResponse.error('Qiita form is blank'));
     }
 
-    await configManager.updateConfigsInTheSameNamespace('crowi', form);
+    await configManager.updateConfigs(form);
     importer.initializeQiitaClient(); // let it run in the back aftert res
     const parameters = { action: SupportedAction.ACTION_ADMIN_QIITA_DATA_UPDATED };
     activityEvent.emit('update', res.locals.activity._id, parameters);

+ 11 - 11
apps/app/src/server/routes/apiv3/customize-setting.js

@@ -249,7 +249,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         isContainerFluid: await crowi.configManager.getConfig('crowi', 'customize:isContainerFluid'),
       };
@@ -316,7 +316,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         theme: await crowi.configManager.getConfig('crowi', 'customize:theme'),
       };
@@ -354,7 +354,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         isSidebarCollapsedMode: await crowi.configManager.getConfig('crowi', 'customize:isSidebarCollapsedMode'),
         isSidebarClosedAtDockMode: await crowi.configManager.getConfig('crowi', 'customize:isSidebarClosedAtDockMode'),
@@ -408,7 +408,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         isEnabledTimeline: await crowi.configManager.getConfig('crowi', 'customize:isEnabledTimeline'),
         isEnabledAttachTitleHeader: await crowi.configManager.getConfig('crowi', 'customize:isEnabledAttachTitleHeader'),
@@ -438,7 +438,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         isEnabledMarp: await crowi.configManager.getConfig('crowi', 'customize:isEnabledMarp'),
       };
@@ -483,7 +483,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         styleName: await crowi.configManager.getConfig('crowi', 'customize:highlightJsStyle'),
         styleBorder: await crowi.configManager.getConfig('crowi', 'customize:highlightJsStyleBorder'),
@@ -528,7 +528,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams, true);
+      await crowi.configManager.updateConfigs(requestParams, { skipPubsub: true });
       crowi.customizeService.publishUpdatedMessage();
 
       const customizedParams = {
@@ -574,7 +574,7 @@ module.exports = (crowi) => {
       'customize:noscript': req.body.customizeNoscript,
     };
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         customizeNoscript: await crowi.configManager.getConfig('crowi', 'customize:noscript'),
       };
@@ -617,7 +617,7 @@ module.exports = (crowi) => {
       'customize:css': req.body.customizeCss,
     };
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams, true);
+      await crowi.configManager.updateConfigs(requestParams, { skipPubsub: true });
       crowi.customizeService.publishUpdatedMessage();
 
       const customizedParams = {
@@ -663,7 +663,7 @@ module.exports = (crowi) => {
       'customize:script': req.body.customizeScript,
     };
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         customizeScript: await crowi.configManager.getConfig('crowi', 'customize:script'),
       };
@@ -688,7 +688,7 @@ module.exports = (crowi) => {
       'customize:isDefaultLogo': isDefaultLogo,
     };
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      await crowi.configManager.updateConfigs(requestParams);
       const customizedParams = {
         isDefaultLogo: await crowi.configManager.getConfig('crowi', 'customize:isDefaultLogo'),
       };

+ 4 - 3
apps/app/src/server/routes/apiv3/markdown-setting.js

@@ -1,6 +1,7 @@
 import { ErrorV3 } from '@growi/core/dist/models';
 
 import { SupportedAction } from '~/interfaces/activity';
+import { configManager } from '~/server/service/config-manager';
 import loggerFactory from '~/utils/logger';
 
 import { generateAddActivityMiddleware } from '../../middlewares/add-activity';
@@ -154,7 +155,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('markdown', requestLineBreakParams);
+      await configManager.updateConfigs(requestLineBreakParams);
       const lineBreaksParams = {
         isEnabledLinebreaks: await crowi.configManager.getConfig('markdown', 'markdown:isEnabledLinebreaks'),
         isEnabledLinebreaksInComments: await crowi.configManager.getConfig('markdown', 'markdown:isEnabledLinebreaksInComments'),
@@ -181,7 +182,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('markdown', requestIndentParams);
+      await configManager.updateConfigs(requestIndentParams);
       const indentParams = {
         adminPreferredIndentSize: await crowi.configManager.getConfig('markdown', 'markdown:adminPreferredIndentSize'),
         isIndentSizeForced: await crowi.configManager.getConfig('markdown', 'markdown:isIndentSizeForced'),
@@ -245,7 +246,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('markdown', reqestXssParams);
+      await configManager.updateConfigs(reqestXssParams);
       const xssParams = {
         isEnabledXss: await crowi.configManager.getConfig('markdown', 'markdown:rehypeSanitize:isEnabledPrevention'),
         xssOption: await crowi.configManager.getConfig('markdown', 'markdown:rehypeSanitize:option'),

+ 2 - 1
apps/app/src/server/routes/apiv3/notification-setting.js

@@ -2,6 +2,7 @@ import { ErrorV3 } from '@growi/core/dist/models';
 
 import { SupportedAction } from '~/interfaces/activity';
 import { GlobalNotificationSettingType } from '~/server/models/GlobalNotificationSetting';
+import { configManager } from '~/server/service/config-manager';
 import loggerFactory from '~/utils/logger';
 import { removeNullPropertyFromObject } from '~/utils/object-utils';
 
@@ -424,7 +425,7 @@ module.exports = (crowi) => {
     requestParams = removeNullPropertyFromObject(requestParams);
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('notification', requestParams);
+      await configManager.updateConfigs(requestParams);
       const responseParams = {
         isNotificationForOwnerPageEnabled: await crowi.configManager.getConfig('notification', 'notification:owner-page:isEnabled'),
         isNotificationForGroupPageEnabled: await crowi.configManager.getConfig('notification', 'notification:group-page:isEnabled'),

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

@@ -320,7 +320,7 @@ module.exports = (crowi) => {
     const { passportService } = crowi;
 
     // update config without publishing S2sMessage
-    await configManager.updateConfigsInTheSameNamespace('crowi', params, true);
+    await configManager.updateConfigs(params, { skipPubsub: true });
 
     await passportService.setupStrategyById(authId);
     passportService.publishUpdatedMessage(authId);
@@ -653,7 +653,7 @@ module.exports = (crowi) => {
       delete updateData['security:restrictGuestMode'];
     }
     try {
-      await configManager.updateConfigsInTheSameNamespace('crowi', updateData);
+      await configManager.updateConfigs(updateData);
       const securitySettingParams = {
         sessionMaxAge: await configManager.getConfig('crowi', 'security:sessionMaxAge'),
         restrictGuestMode: await configManager.getConfig('crowi', 'security:restrictGuestMode'),
@@ -709,7 +709,7 @@ module.exports = (crowi) => {
       'security:disableLinkSharing': req.body.disableLinkSharing,
     };
     try {
-      await configManager.updateConfigsInTheSameNamespace('crowi', updateData);
+      await configManager.updateConfigs(updateData);
       const securitySettingParams = {
         disableLinkSharing: configManager.getConfig('crowi', 'security:disableLinkSharing'),
       };

+ 2 - 1
apps/app/src/server/routes/apiv3/slack-integration-legacy-settings.js

@@ -3,6 +3,7 @@ import express from 'express';
 import { body } from 'express-validator';
 
 import { SupportedAction } from '~/interfaces/activity';
+import { configManager } from '~/server/service/config-manager';
 import loggerFactory from '~/utils/logger';
 
 import { generateAddActivityMiddleware } from '../../middlewares/add-activity';
@@ -106,7 +107,7 @@ module.exports = (crowi) => {
     };
 
     try {
-      await crowi.configManager.updateConfigsInTheSameNamespace('notification', requestParams);
+      await configManager.updateConfigs(requestParams);
       const responseParams = {
         webhookUrl: await crowi.configManager.getConfig('notification', 'slack:incomingWebhookUrl'),
         isIncomingWebhookPrioritized: await crowi.configManager.getConfig('notification', 'slack:isIncomingWebhookPrioritized'),

+ 1 - 1
apps/app/src/server/routes/apiv3/slack-integration-settings.js

@@ -100,7 +100,7 @@ module.exports = (crowi) => {
   async function updateSlackBotSettings(params) {
     const { configManager } = crowi;
     // update config without publishing S2sMessage
-    return configManager.updateConfigsInTheSameNamespace('crowi', params, true);
+    return configManager.updateConfigs(params, { skipPubsub: true });
   }
 
   async function resetAllBotSettings(initializedType) {

+ 2 - 2
apps/app/src/server/service/app.ts

@@ -122,11 +122,11 @@ export default class AppService implements S2sMessageHandlable {
   }
 
   async startMaintenanceMode(): Promise<void> {
-    await configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isMaintenanceMode': true });
+    await configManager.updateConfig('app:isMaintenanceMode', true);
   }
 
   async endMaintenanceMode(): Promise<void> {
-    await configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isMaintenanceMode': false });
+    await configManager.updateConfig('app:isMaintenanceMode', false);
   }
 
 }

+ 1 - 1
apps/app/src/server/service/config-manager/config-manager.spec.ts

@@ -58,7 +58,7 @@ describe('ConfigManager test', () => {
       configManager.publishUpdateMessage = vi.fn();
 
       // act
-      await configManager.updateConfigs({ 'app:siteUrl': '' });
+      await configManager.updateConfig('app:siteUrl', '');
 
       // assert
       expect(Config.bulkWrite).toHaveBeenCalledTimes(1);

+ 3 - 3
apps/app/src/server/service/g2g-transfer.ts

@@ -655,14 +655,14 @@ export class G2GTransferReceiverService implements Receiver {
 
       // restore file upload config from cache
       await configManager.removeConfigsInTheSameNamespace('crowi', UPLOAD_CONFIG_KEYS);
-      await configManager.updateConfigsInTheSameNamespace('crowi', fileUploadConfigs);
+      await configManager.updateConfigs(fileUploadConfigs);
     }
     else {
       // import mongo collections(overwrites file uplaod configs)
       await importService.import(collections, importSettingsMap);
 
       // update file upload config
-      await configManager.updateConfigsInTheSameNamespace('crowi', sourceGROWIUploadConfigs);
+      await configManager.updateConfigs(sourceGROWIUploadConfigs);
     }
 
     await this.crowi.setUpFileUpload(true);
@@ -681,7 +681,7 @@ export class G2GTransferReceiverService implements Receiver {
     const { appService } = this.crowi;
 
     await configManager.removeConfigsInTheSameNamespace('crowi', Object.keys(fileUploadConfigs));
-    await configManager.updateConfigsInTheSameNamespace('crowi', fileUploadConfigs);
+    await configManager.updateConfigs(fileUploadConfigs);
     await this.crowi.setUpFileUpload(true);
     await appService.setupAfterInstall();
   }

+ 1 - 1
apps/app/src/server/service/installer.ts

@@ -119,7 +119,7 @@ export class InstallerService {
       initialConfig['security:restrictGuestMode'] = 'Readonly';
     }
 
-    return configManager.updateConfigsInTheSameNamespace('crowi', initialConfig, true);
+    return configManager.updateConfigs(initialConfig, { skipPubsub: true });
   }
 
   async install(firstAdminUserToSave: Pick<IUser, 'name' | 'username' | 'email' | 'password'>, globalLang: Lang, options?: AutoInstallOptions): Promise<IUser> {

+ 1 - 1
apps/app/src/server/service/page/delete-completely-user-home-by-system.integ.ts

@@ -39,7 +39,7 @@ describe('delete-completely-user-home-by-system test', () => {
 
     // setup config
     await configManager.loadConfigs();
-    await configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await configManager.updateConfig('app:isV5Compatible', true);
     const isV5Compatible = configManager.getConfig('crowi', 'app:isV5Compatible');
     expect(isV5Compatible).toBeTruthy();
 

+ 12 - 14
apps/app/src/server/service/page/index.ts

@@ -223,8 +223,8 @@ class PageService implements IPageService {
   ): boolean {
     if (operator == null || isTopPage(page.path) || isUsersTopPage(page.path)) return false;
 
-    const pageCompleteDeletionAuthority = this.crowi.configManager.getConfig('crowi', 'security:pageCompleteDeletionAuthority');
-    const pageRecursiveCompleteDeletionAuthority = this.crowi.configManager.getConfig('crowi', 'security:pageRecursiveCompleteDeletionAuthority');
+    const pageCompleteDeletionAuthority = configManager.getConfig('crowi', 'security:pageCompleteDeletionAuthority');
+    const pageRecursiveCompleteDeletionAuthority = configManager.getConfig('crowi', 'security:pageRecursiveCompleteDeletionAuthority');
 
     if (!this.canDeleteCompletelyAsMultiGroupGrantedPage(page, creatorId, operator, userRelatedGroups)) return false;
 
@@ -241,8 +241,8 @@ class PageService implements IPageService {
   canDeleteCompletelyAsMultiGroupGrantedPage(
       page: PageDocument, creatorId: ObjectIdLike | null, operator: any | null, userRelatedGroups: PopulatedGrantedGroup[],
   ): boolean {
-    const pageCompleteDeletionAuthority = this.crowi.configManager.getConfig('crowi', 'security:pageCompleteDeletionAuthority');
-    const isAllGroupMembershipRequiredForPageCompleteDeletion = this.crowi.configManager.getConfig(
+    const pageCompleteDeletionAuthority = configManager.getConfig('crowi', 'security:pageCompleteDeletionAuthority');
+    const isAllGroupMembershipRequiredForPageCompleteDeletion = configManager.getConfig(
       'crowi', 'security:isAllGroupMembershipRequiredForPageCompleteDeletion',
     );
 
@@ -281,8 +281,8 @@ class PageService implements IPageService {
   canDelete(page: PageDocument, creatorId: ObjectIdLike | null, operator: any | null, isRecursively: boolean): boolean {
     if (operator == null || isTopPage(page.path) || isUsersTopPage(page.path)) return false;
 
-    const pageDeletionAuthority = this.crowi.configManager.getConfig('crowi', 'security:pageDeletionAuthority');
-    const pageRecursiveDeletionAuthority = this.crowi.configManager.getConfig('crowi', 'security:pageRecursiveDeletionAuthority');
+    const pageDeletionAuthority = configManager.getConfig('crowi', 'security:pageDeletionAuthority');
+    const pageRecursiveDeletionAuthority = configManager.getConfig('crowi', 'security:pageRecursiveDeletionAuthority');
 
     const [singleAuthority, recursiveAuthority] = prepareDeleteConfigValuesForCalc(pageDeletionAuthority, pageRecursiveDeletionAuthority);
 
@@ -481,7 +481,7 @@ class PageService implements IPageService {
   private shouldUseV4ProcessForRevert(page): boolean {
     const Page = mongoose.model('Page') as unknown as PageModel;
 
-    const isV5Compatible = this.crowi.configManager.getConfig('crowi', 'app:isV5Compatible');
+    const isV5Compatible = configManager.getConfig('crowi', 'app:isV5Compatible');
     const isPageRestricted = page.grant === Page.GRANT_RESTRICTED;
 
     const shouldUseV4Process = !isV5Compatible || isPageRestricted;
@@ -3107,9 +3107,7 @@ class PageService implements IPageService {
 
   private async _setIsV5CompatibleTrue() {
     try {
-      await this.crowi.configManager.updateConfigsInTheSameNamespace('crowi', {
-        'app:isV5Compatible': true,
-      });
+      await configManager.updateConfig('app:isV5Compatible', true);
       logger.info('Successfully migrated all public pages.');
     }
     catch (err) {
@@ -3773,7 +3771,7 @@ class PageService implements IPageService {
    */
   async create(_path: string, body: string, user: HasObjectId, options: IOptionsForCreate = {}): Promise<HydratedDocument<PageDocument>> {
     // Switch method
-    const isV5Compatible = this.crowi.configManager.getConfig('crowi', 'app:isV5Compatible');
+    const isV5Compatible = configManager.getConfig('crowi', 'app:isV5Compatible');
     if (!isV5Compatible) {
       return this.createV4(_path, body, user, options);
     }
@@ -3904,7 +3902,7 @@ class PageService implements IPageService {
 
     const format = options.format || 'markdown';
     const grantUserGroupIds = options.grantUserGroupIds || null;
-    const expandContentWidth = this.crowi.configManager.getConfig('crowi', 'customize:isContainerFluid');
+    const expandContentWidth = configManager.getConfig('crowi', 'customize:isContainerFluid');
 
     // sanitize path
     path = generalXssFilter.process(path); // eslint-disable-line no-param-reassign
@@ -3981,7 +3979,7 @@ class PageService implements IPageService {
   async forceCreateBySystem(path: string, body: string, options: IOptionsForCreate & { grantUserIds?: ObjectIdLike[] }): Promise<PageDocument> {
     const Page = mongoose.model('Page') as unknown as PageModel;
 
-    const isV5Compatible = this.crowi.configManager.getConfig('crowi', 'app:isV5Compatible');
+    const isV5Compatible = configManager.getConfig('crowi', 'app:isV5Compatible');
     if (!isV5Compatible) {
       throw Error('This method is available only when v5 compatible');
     }
@@ -4150,7 +4148,7 @@ class PageService implements IPageService {
     const Page = mongoose.model<HydratedDocument<PageDocument>, PageModel>('Page');
 
     const wasOnTree = pageData.parent != null || isTopPage(pageData.path);
-    const isV5Compatible = this.crowi.configManager.getConfig('crowi', 'app:isV5Compatible');
+    const isV5Compatible = configManager.getConfig('crowi', 'app:isV5Compatible');
 
     const shouldUseV4Process = this.shouldUseUpdatePageV4(pageData.grant, isV5Compatible, wasOnTree);
     if (shouldUseV4Process) {

+ 1 - 1
apps/app/test/integration/models/v5.page.test.js

@@ -481,7 +481,7 @@ describe('Page', () => {
     pageGrantService = crowi.pageGrantService;
     pageService = crowi.pageService;
 
-    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await crowi.configManager.updateConfig('app:isV5Compatible', true);
 
     jest.restoreAllMocks();
     User = mongoose.model('User');

+ 4 - 4
apps/app/test/integration/service/external-user-group-sync.test.ts

@@ -182,7 +182,7 @@ describe('ExternalUserGroupSyncService.syncExternalUserGroups', () => {
 
   beforeAll(async() => {
     crowi = await getInstance();
-    await configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await configManager.updateConfig('app:isV5Compatible', true);
     const passportService = new PassportService(crowi);
     instanciate(passportService);
   });
@@ -218,7 +218,7 @@ describe('ExternalUserGroupSyncService.syncExternalUserGroups', () => {
     };
 
     beforeAll(async() => {
-      await configManager.updateConfigsInTheSameNamespace('crowi', configParams);
+      await configManager.updateConfigs(configParams);
     });
 
     // eslint-disable-next-line jest/expect-expect
@@ -235,7 +235,7 @@ describe('ExternalUserGroupSyncService.syncExternalUserGroups', () => {
     };
 
     beforeAll(async() => {
-      await configManager.updateConfigsInTheSameNamespace('crowi', configParams);
+      await configManager.updateConfigs(configParams);
     });
 
     // eslint-disable-next-line jest/expect-expect
@@ -252,7 +252,7 @@ describe('ExternalUserGroupSyncService.syncExternalUserGroups', () => {
     };
 
     beforeAll(async() => {
-      await configManager.updateConfigsInTheSameNamespace('crowi', configParams);
+      await configManager.updateConfigs(configParams);
 
       const groupId = new Types.ObjectId();
       const userId = new Types.ObjectId();

+ 1 - 1
apps/app/test/integration/service/ldap-user-group-sync.test.ts

@@ -28,7 +28,7 @@ describe('LdapUserGroupSyncService.generateExternalUserGroupTrees', () => {
 
   beforeAll(async() => {
     crowi = await getInstance();
-    await configManager.updateConfigsInTheSameNamespace('crowi', configParams, true);
+    await configManager.updateConfigs(configParams, { skipPubsub: true });
 
     mockBind.mockImplementation(() => {
       return Promise.resolve();

+ 5 - 5
apps/app/test/integration/service/page.test.js

@@ -71,7 +71,7 @@ describe('PageService', () => {
 
   beforeAll(async() => {
     crowi = await getInstance();
-    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': null });
+    await crowi.configManager.updateConfig('app:isV5Compatible', null);
 
     User = mongoose.model('User');
     Page = mongoose.model('Page');
@@ -766,7 +766,7 @@ describe('PageService', () => {
             'security:pageCompleteDeletionAuthority': PageSingleDeleteCompConfigValue.Anyone,
             'security:pageRecursiveCompleteDeletionAuthority': PageRecursiveDeleteCompConfigValue.Anyone,
           };
-          await crowi.configManager.updateConfigsInTheSameNamespace('crowi', config);
+          await crowi.configManager.updateConfigs(config);
         });
 
         test('is not deletable', async() => {
@@ -787,7 +787,7 @@ describe('PageService', () => {
             'security:pageCompleteDeletionAuthority': PageSingleDeleteCompConfigValue.Anyone,
             'security:pageRecursiveCompleteDeletionAuthority': PageRecursiveDeleteCompConfigValue.Anyone,
           };
-          await crowi.configManager.updateConfigsInTheSameNamespace('crowi', config);
+          await crowi.configManager.updateConfigs(config);
         });
 
         test('is not deletable', async() => {
@@ -808,7 +808,7 @@ describe('PageService', () => {
             'security:pageCompleteDeletionAuthority': PageSingleDeleteCompConfigValue.Anyone,
             'security:pageRecursiveCompleteDeletionAuthority': PageRecursiveDeleteCompConfigValue.Anyone,
           };
-          await crowi.configManager.updateConfigsInTheSameNamespace('crowi', config);
+          await crowi.configManager.updateConfigs(config);
         });
 
         test('is deletable', async() => {
@@ -829,7 +829,7 @@ describe('PageService', () => {
             'security:pageCompleteDeletionAuthority': PageSingleDeleteCompConfigValue.Anyone,
             'security:pageRecursiveCompleteDeletionAuthority': PageRecursiveDeleteCompConfigValue.Anyone,
           };
-          await crowi.configManager.updateConfigsInTheSameNamespace('crowi', config);
+          await crowi.configManager.updateConfigs(config);
         });
 
         test('is deletable', async() => {

+ 1 - 1
apps/app/test/integration/service/questionnaire.test.ts

@@ -15,7 +15,7 @@ describe('QuestionnaireService', () => {
     process.env.SAML_ENABLED = 'true';
     crowi = await getInstance();
 
-    crowi.configManager.updateConfigsInTheSameNamespace('crowi', {
+    crowi.configManager.updateConfigs({
       'security:passport-saml:isEnabled': true,
       'security:passport-github:isEnabled': true,
     });

+ 1 - 1
apps/app/test/integration/service/v5.migration.test.js

@@ -67,7 +67,7 @@ describe('V5 page migration', () => {
     UserGroup = mongoose.model('UserGroup');
     UserGroupRelation = mongoose.model('UserGroupRelation');
 
-    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await crowi.configManager.updateConfig('app:isV5Compatible', true);
 
     await User.insertMany([
       { name: 'rootUser', username: 'rootUser', email: 'rootUser@example.com' },

+ 1 - 1
apps/app/test/integration/service/v5.non-public-page.test.ts

@@ -118,7 +118,7 @@ describe('PageService page operations with non-public pages', () => {
 
   beforeAll(async() => {
     crowi = await getInstance();
-    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await crowi.configManager.updateConfig('app:isV5Compatible', true);
 
     User = mongoose.model('User');
     Page = mongoose.model('Page');

+ 1 - 1
apps/app/test/integration/service/v5.page.test.ts

@@ -34,7 +34,7 @@ describe('Test page service methods', () => {
 
   beforeAll(async() => {
     crowi = await getInstance();
-    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await crowi.configManager.updateConfig('app:isV5Compatible', true);
 
     User = mongoose.model('User');
     Page = mongoose.model('Page');

+ 1 - 1
apps/app/test/integration/service/v5.public-page.test.ts

@@ -45,7 +45,7 @@ describe('PageService page operations with only public pages', () => {
 
   beforeAll(async() => {
     crowi = await getInstance();
-    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+    await crowi.configManager.updateConfig('app:isV5Compatible', true);
 
     User = mongoose.model('User');
     Page = mongoose.model('Page');