mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-25 02:00:10 +02:00
Merge pull request #5417 from overleaf/hb-restore-doc-from-admin
Restore soft deleted docs from admin GitOrigin-RevId: 5c94539ae950c401225d2cfe7c0bc978ed258e22
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
const { callbackify } = require('util')
|
||||
const Path = require('path')
|
||||
const ProjectEntityHandler = require('./ProjectEntityHandler')
|
||||
const ProjectEntityUpdateHandler = require('./ProjectEntityUpdateHandler')
|
||||
|
||||
async function restoreDeletedDoc(projectId, docId, docName, userId) {
|
||||
const deletedDoc = await ProjectEntityHandler.promises.getDoc(
|
||||
projectId,
|
||||
docId,
|
||||
{ include_deleted: true }
|
||||
)
|
||||
|
||||
const formattedTimestamp = new Date()
|
||||
.toISOString()
|
||||
.replace('T', '-')
|
||||
.replace(/[^0-9-]/g, '')
|
||||
const extension = Path.extname(docName)
|
||||
const basename = Path.basename(docName, extension)
|
||||
const deletedDocName = `${basename}-${formattedTimestamp}${extension}`
|
||||
return await ProjectEntityUpdateHandler.promises.addDocWithRanges(
|
||||
projectId,
|
||||
null,
|
||||
`${deletedDocName}`,
|
||||
deletedDoc.lines,
|
||||
deletedDoc.ranges,
|
||||
userId
|
||||
)
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
restoreDeletedDoc: callbackify(restoreDeletedDoc),
|
||||
promises: {
|
||||
restoreDeletedDoc,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user