Shun Miyazawa 2 vuotta sitten
vanhempi
sitoutus
dae3e1ddd5

+ 2 - 2
apps/app/src/server/crowi/index.js

@@ -25,11 +25,11 @@ import { aclService as aclServiceSingletonInstance } from '../service/acl';
 import AppService from '../service/app';
 import AttachmentService from '../service/attachment';
 import { configManager as configManagerSingletonInstance } from '../service/config-manager';
-import { runDataConversion } from '../service/data-converter';
 import { instanciate as instanciateExternalAccountService } from '../service/external-account';
 import { FileUploader, getUploader } from '../service/file-uploader'; // eslint-disable-line no-unused-vars
 import { G2GTransferPusherService, G2GTransferReceiverService } from '../service/g2g-transfer';
 import { InstallerService } from '../service/installer';
+import { normalizeData } from '../service/normalize-data';
 import PageService from '../service/page';
 import PageGrantService from '../service/page-grant';
 import PageOperationService from '../service/page-operation';
@@ -175,7 +175,7 @@ Crowi.prototype.init = async function() {
 
   await this.autoInstall();
 
-  await runDataConversion();
+  await normalizeData();
 };
 
 /**

+ 0 - 12
apps/app/src/server/service/data-converter/index.ts

@@ -1,12 +0,0 @@
-import loggerFactory from '~/utils/logger';
-
-import { renameDuplicateRootPages } from './rename-duplicate-root-pages';
-
-const logger = loggerFactory('growi:service:DataConverter');
-
-export const runDataConversion = async(): Promise<void> => {
-  await renameDuplicateRootPages();
-
-  logger.info('DataConverter has been executed');
-  return;
-};

+ 12 - 0
apps/app/src/server/service/normalize-data/index.ts

@@ -0,0 +1,12 @@
+import loggerFactory from '~/utils/logger';
+
+import { renameDuplicateRootPages } from './rename-duplicate-root-pages';
+
+const logger = loggerFactory('growi:service:NormalizeData');
+
+export const normalizeData = async(): Promise<void> => {
+  await renameDuplicateRootPages();
+
+  logger.info('normalizeData has been executed');
+  return;
+};

+ 3 - 11
apps/app/src/server/service/data-converter/rename-duplicate-root-pages.ts → apps/app/src/server/service/normalize-data/rename-duplicate-root-pages.ts

@@ -5,22 +5,14 @@ import mongoose from 'mongoose';
 
 import { type PageModel } from '~/server/models/page';
 
-const now = new Date();
-const PARENT_PAGE_PATH_AFTER_RENAMING = `/renamed_at_${now.getTime()}`;
-
 export const renameDuplicateRootPages = async(): Promise<void> => {
-  const Page = mongoose.model('Page') as PageModel;
+  const Page = mongoose.model<IPageHasId, PageModel>('Page');
   const rootPages = await Page.find({ path: '/' }).sort({ createdAt: 1 }) as Array<IPageHasId>;
 
   if (rootPages.length <= 1) {
     return;
   }
 
-  // Create parent page
-  const rootPage = rootPages[0];
-  const descedantCount = rootPages.length - 1;
-  const parentPageAfterRenaming = await Page.createEmptyPage(PARENT_PAGE_PATH_AFTER_RENAMING, rootPage, descedantCount);
-
   // Rename duplicate root pages
   const duplicatedRootPages = rootPages.slice(1);
   const requests = duplicatedRootPages.map((page) => {
@@ -29,8 +21,8 @@ export const renameDuplicateRootPages = async(): Promise<void> => {
         filter: { _id: page._id },
         update: {
           $set: {
-            parent: parentPageAfterRenaming,
-            path: `${PARENT_PAGE_PATH_AFTER_RENAMING}/${page._id.toString().slice(-10)}`,
+            parent: rootPages[0],
+            path: `/${page._id.toString().slice(-10)}`,
           },
         },
       },