From 204117fcd1b860766340717faaaaa3d2b3d2704f Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 16 Feb 2021 15:00:19 +0100 Subject: [PATCH] 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 --- services/web/scripts/restore_soft_deleted_docs.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/web/scripts/restore_soft_deleted_docs.js b/services/web/scripts/restore_soft_deleted_docs.js index b4f9b2da30..b8d2c373a1 100644 --- a/services/web/scripts/restore_soft_deleted_docs.js +++ b/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 ProjectEntityHandler = require('../app/src/Features/Project/ProjectEntityHandler') const ProjectGetter = require('../app/src/Features/Project/ProjectGetter') +const Path = require('path') const ARGV = process.argv.slice(2) 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) => { ProjectEntityUpdateHandler.addDocWithRanges( PROJECT_ID, null, - `${new Date().toISOString().replace(/:/g, '-')}-${deletedDoc.name}`, + `${deletedDocName}`, doc.lines, doc.ranges, DEVELOPER_USER_ID,