|
@@ -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;
|
|
|
};
|
|
};
|