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

Merge pull request #8033 from overleaf/em-find-files-without-ids

Script to find files and docs without ids in projects

GitOrigin-RevId: 5c29d92748a01a1e48288479b25560127aafd397
Eric Mc Sween 4 лет назад
Родитель
Сommit
1c0a9dae72
1 измененных файлов с 14 добавлено и 2 удалено
  1. 14 2
      services/web/scripts/find_malformed_filetrees.js

+ 14 - 2
services/web/scripts/find_malformed_filetrees.js

@@ -35,6 +35,10 @@ function processProject(project) {
 function findBadPaths(folder) {
   const result = []
 
+  if (!folder._id) {
+    result.push('_id')
+  }
+
   if (typeof folder.name !== 'string' || !folder.name) {
     result.push('name')
   }
@@ -62,9 +66,13 @@ function findBadPaths(folder) {
           result.push(`docs.${i}`)
           continue
         }
+        if (!doc._id) {
+          result.push(`docs.${i}._id`)
+          // no need to check further: this doc can be deleted
+          continue
+        }
         if (typeof doc.name !== 'string' || !doc.name) {
           result.push(`docs.${i}.name`)
-          continue
         }
       }
     } else {
@@ -79,9 +87,13 @@ function findBadPaths(folder) {
           result.push(`fileRefs.${i}`)
           continue
         }
+        if (!file._id) {
+          result.push(`fileRefs.${i}._id`)
+          // no need to check further: this file can be deleted
+          continue
+        }
         if (typeof file.name !== 'string' || !file.name) {
           result.push(`fileRefs.${i}.name`)
-          continue
         }
       }
     } else {