Taichi Masuyama 4 лет назад
Родитель
Сommit
68cbff5d46
1 измененных файлов с 18 добавлено и 2 удалено
  1. 18 2
      packages/app/src/server/service/page.ts

+ 18 - 2
packages/app/src/server/service/page.ts

@@ -429,7 +429,6 @@ class PageService {
 
     try {
       await Page.bulkWrite(updatePathOperations);
-      await PageRedirect.bulkWrite(insertPageRedirectOperations);
     }
     catch (err) {
       if (err.code !== 11000) {
@@ -437,6 +436,15 @@ class PageService {
       }
     }
 
+    try {
+      await PageRedirect.bulkWrite(insertPageRedirectOperations);
+    }
+    catch (err) {
+      if (err.code !== 11000) {
+        throw Error(`Failed to create PageRedirect documents: ${err}`);
+      }
+    }
+
     this.pageEvent.emit('updateMany', pages, user);
   }
 
@@ -474,7 +482,6 @@ class PageService {
 
     try {
       await unorderedBulkOp.execute();
-      await PageRedirect.bulkWrite(insertPageRedirectOperations);
     }
     catch (err) {
       if (err.code !== 11000) {
@@ -482,6 +489,15 @@ class PageService {
       }
     }
 
+    try {
+      await PageRedirect.bulkWrite(insertPageRedirectOperations);
+    }
+    catch (err) {
+      if (err.code !== 11000) {
+        throw Error(`Failed to create PageRedirect documents: ${err}`);
+      }
+    }
+
     this.pageEvent.emit('updateMany', pages, user);
   }