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

construct ConvertMap from mongoose.modelNames

Yuki Takei 1 год назад
Родитель
Сommit
5e86c91e58
1 измененных файлов с 8 добавлено и 10 удалено
  1. 8 10
      apps/app/src/server/service/import/construct-convert-map.ts

+ 8 - 10
apps/app/src/server/service/import/construct-convert-map.ts

@@ -1,4 +1,4 @@
-import type Crowi from '~/server/crowi';
+import mongoose from 'mongoose';
 
 
 import type { OverwriteFunction } from './overwrite-function';
 import type { OverwriteFunction } from './overwrite-function';
 import { keepOriginal } from './overwrite-function';
 import { keepOriginal } from './overwrite-function';
@@ -11,31 +11,29 @@ export type ConvertMap = {
 }
 }
 
 
 /**
 /**
- * initialize convert map. set keepOriginal as default
+ * Initialize convert map. set keepOriginal as default
  *
  *
  * @param {Crowi} crowi Crowi instance
  * @param {Crowi} crowi Crowi instance
  */
  */
-export const constructConvertMap = (crowi: Crowi): ConvertMap => {
+export const constructConvertMap = (): ConvertMap => {
   const convertMap: ConvertMap = {};
   const convertMap: ConvertMap = {};
 
 
-  const models = crowi.models;
+  mongoose.modelNames().forEach((modelName) => {
+    const model = mongoose.model(modelName);
 
 
-  // by default, original value is used for imported documents
-  for (const model of Object.values(models)) {
     if (model.collection == null) {
     if (model.collection == null) {
-      continue;
+      return;
     }
     }
 
 
     const collectionName = model.collection.name;
     const collectionName = model.collection.name;
 
 
-    console.log({ collectionName });
-
     convertMap[collectionName] = {};
     convertMap[collectionName] = {};
 
 
     for (const key of Object.keys(model.schema.paths)) {
     for (const key of Object.keys(model.schema.paths)) {
       convertMap[collectionName][key] = keepOriginal;
       convertMap[collectionName][key] = keepOriginal;
     }
     }
-  }
+
+  });
 
 
   return convertMap;
   return convertMap;
 };
 };