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

Use safe characters in filenames when restoring documents (#3659)

* [admin-panel] Change format of restored snapshot filenames

* [scripts] Change format of restored soft-deleted filenames

GitOrigin-RevId: b928c4237150b38842aa1f2c8f43ffb7eca677b1
Thomas 5 лет назад
Родитель
Сommit
204117fcd1
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      services/web/scripts/restore_soft_deleted_docs.js

+ 9 - 1
services/web/scripts/restore_soft_deleted_docs.js

@@ -2,6 +2,7 @@ const { waitForDb } = require('../app/src/infrastructure/mongodb')
 const ProjectEntityUpdateHandler = require('../app/src/Features/Project/ProjectEntityUpdateHandler')
 const ProjectEntityUpdateHandler = require('../app/src/Features/Project/ProjectEntityUpdateHandler')
 const ProjectEntityHandler = require('../app/src/Features/Project/ProjectEntityHandler')
 const ProjectEntityHandler = require('../app/src/Features/Project/ProjectEntityHandler')
 const ProjectGetter = require('../app/src/Features/Project/ProjectGetter')
 const ProjectGetter = require('../app/src/Features/Project/ProjectGetter')
+const Path = require('path')
 
 
 const ARGV = process.argv.slice(2)
 const ARGV = process.argv.slice(2)
 const DEVELOPER_USER_ID = ARGV.shift()
 const DEVELOPER_USER_ID = ARGV.shift()
@@ -30,11 +31,18 @@ async function main() {
       )
       )
     })
     })
 
 
+    const formattedTimestamp = new Date()
+      .toISOString()
+      .replace('T', '-')
+      .replace(/[^0-9-]/g, '')
+    const extension = Path.extname(deletedDoc.name)
+    const basename = Path.basename(deletedDoc.name, extension)
+    const deletedDocName = `${basename}-${formattedTimestamp}${extension}`
     const newDoc = await new Promise((resolve, reject) => {
     const newDoc = await new Promise((resolve, reject) => {
       ProjectEntityUpdateHandler.addDocWithRanges(
       ProjectEntityUpdateHandler.addDocWithRanges(
         PROJECT_ID,
         PROJECT_ID,
         null,
         null,
-        `${new Date().toISOString().replace(/:/g, '-')}-${deletedDoc.name}`,
+        `${deletedDocName}`,
         doc.lines,
         doc.lines,
         doc.ranges,
         doc.ranges,
         DEVELOPER_USER_ID,
         DEVELOPER_USER_ID,