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

+ 4 - 2
apps/app/src/models/admin/growi-archive-import-option.ts

@@ -1,10 +1,12 @@
+import { ImportMode } from '~/server/service/import';
+
 export class GrowiArchiveImportOption {
 
   collectionName: string;
 
-  mode: string;
+  mode: ImportMode;
 
-  constructor(collectionName: string, mode: string, initProps = {}) {
+  constructor(collectionName: string, mode: ImportMode = ImportMode.insert, initProps = {}) {
     this.collectionName = collectionName;
     this.mode = mode;
 

+ 3 - 1
apps/app/src/models/admin/import-option-for-pages.ts

@@ -1,3 +1,5 @@
+import { ImportMode } from '~/server/service/import';
+
 import { GrowiArchiveImportOption } from './growi-archive-import-option';
 
 const DEFAULT_PROPS = {
@@ -20,7 +22,7 @@ export class ImportOptionForPages extends GrowiArchiveImportOption {
 
   initPageMetadatas;
 
-  constructor(collectionName: string, mode: string, initProps = DEFAULT_PROPS) {
+  constructor(collectionName: string, mode: ImportMode = ImportMode.insert, initProps = DEFAULT_PROPS) {
     super(collectionName, mode, initProps);
   }
 

+ 3 - 1
apps/app/src/models/admin/import-option-for-revisions.ts

@@ -1,3 +1,5 @@
+import { ImportMode } from '~/server/service/import';
+
 import { GrowiArchiveImportOption } from './growi-archive-import-option';
 
 const DEFAULT_PROPS = {
@@ -6,7 +8,7 @@ const DEFAULT_PROPS = {
 
 export class ImportOptionForRevisions extends GrowiArchiveImportOption {
 
-  constructor(collectionName: string, mode: string, initProps = DEFAULT_PROPS) {
+  constructor(collectionName: string, mode: ImportMode = ImportMode.insert, initProps = DEFAULT_PROPS) {
     super(collectionName, mode, initProps);
   }
 

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

@@ -609,7 +609,7 @@ export class G2GTransferReceiverService implements Receiver {
   ): { [key: string]: ImportSettings; } {
     const importSettingsMap = {};
     innerFileStats.forEach(({ fileName, collectionName }) => {
-      const options = new GrowiArchiveImportOption(collectionName, null, optionsMap[collectionName]);
+      const options = new GrowiArchiveImportOption(collectionName, undefined, optionsMap[collectionName]);
 
       if (collectionName === 'configs' && options.mode !== ImportMode.flushAndInsert) {
         throw new Error('`flushAndInsert` is only available as an import setting for configs collection');

+ 4 - 6
apps/app/src/server/service/import/import.ts

@@ -303,14 +303,12 @@ export class ImportService {
 
   /**
    * process bulk operation
-   * @param {object} bulk MongoDB Bulk instance
-   * @param {string} collectionName collection name
-   * @param {object} document
-   * @param {ImportSettings} importSettings
+   * @param bulk MongoDB Bulk instance
+   * @param collectionName collection name
    */
-  bulkOperate(bulk, collectionName, document, importSettings) {
+  bulkOperate(bulk, collectionName: string, document, importSettings: ImportSettings) {
     // insert
-    if (importSettings.mode !== 'upsert') {
+    if (importSettings.mode !== ImportMode.upsert) {
       return bulk.insert(document);
     }