mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Merge pull request #7307 from overleaf/jpa-notify-editor-restore-doc
[web] notify the editor after restoring a deleted doc GitOrigin-RevId: 4bd316958827c83a56a82f9ff72f5ff803d32631
This commit is contained in:
parent
2677984b93
commit
64ffd66fa4
3 changed files with 11 additions and 8 deletions
|
@ -1,7 +1,7 @@
|
|||
const { callbackify } = require('util')
|
||||
const Path = require('path')
|
||||
const ProjectEntityHandler = require('./ProjectEntityHandler')
|
||||
const ProjectEntityUpdateHandler = require('./ProjectEntityUpdateHandler')
|
||||
const EditorController = require('../Editor/EditorController')
|
||||
|
||||
// generate a new name based on the original, with an optional label.
|
||||
// e.g. origname-20210101-122345.tex (default)
|
||||
|
@ -24,12 +24,14 @@ async function restoreDeletedDoc(projectId, docId, docName, userId) {
|
|||
{ include_deleted: true }
|
||||
)
|
||||
const deletedDocName = generateRestoredName(docName)
|
||||
return await ProjectEntityUpdateHandler.promises.addDocWithRanges(
|
||||
// Create the doc and emit a websocket message.
|
||||
return await EditorController.promises.addDocWithRanges(
|
||||
projectId,
|
||||
null,
|
||||
`${deletedDocName}`,
|
||||
deletedDoc.lines,
|
||||
deletedDoc.ranges,
|
||||
null,
|
||||
userId
|
||||
)
|
||||
}
|
||||
|
|
|
@ -386,7 +386,7 @@ const ProjectEntityUpdateHandler = {
|
|||
if (error != null) {
|
||||
return callback(error)
|
||||
}
|
||||
callback(null, doc, folderId)
|
||||
callback(null, doc, folderId || project.rootFolder[0]._id)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ describe('ProjectEntityRestoreHandler', function () {
|
|||
},
|
||||
}
|
||||
|
||||
this.ProjectEntityUpdateHandler = {
|
||||
this.EditorController = {
|
||||
promises: {
|
||||
addDocWithRanges: sinon.stub(),
|
||||
},
|
||||
|
@ -42,7 +42,7 @@ describe('ProjectEntityRestoreHandler', function () {
|
|||
this.ProjectEntityRestoreHandler = SandboxedModule.require(MODULE_PATH, {
|
||||
requires: {
|
||||
'./ProjectEntityHandler': this.ProjectEntityHandler,
|
||||
'./ProjectEntityUpdateHandler': this.ProjectEntityUpdateHandler,
|
||||
'../Editor/EditorController': this.EditorController,
|
||||
},
|
||||
})
|
||||
})
|
||||
|
@ -68,9 +68,9 @@ describe('ProjectEntityRestoreHandler', function () {
|
|||
ranges: this.ranges,
|
||||
})
|
||||
|
||||
this.ProjectEntityUpdateHandler.addDocWithRanges = sinon
|
||||
this.EditorController.promises.addDocWithRanges = sinon
|
||||
.stub()
|
||||
.yields(null, this.newDoc)
|
||||
.resolves(this.newDoc)
|
||||
|
||||
await this.ProjectEntityRestoreHandler.promises.restoreDeletedDoc(
|
||||
this.project._id,
|
||||
|
@ -82,13 +82,14 @@ describe('ProjectEntityRestoreHandler', function () {
|
|||
const docNameMatcher = new RegExp(docName + '-\\d{4}-\\d{2}-\\d{2}-\\d+')
|
||||
|
||||
expect(
|
||||
this.ProjectEntityUpdateHandler.promises.addDocWithRanges
|
||||
this.EditorController.promises.addDocWithRanges
|
||||
).to.have.been.calledWith(
|
||||
this.project._id,
|
||||
null,
|
||||
sinon.match(docNameMatcher),
|
||||
this.docLines,
|
||||
this.ranges,
|
||||
null,
|
||||
this.user._id
|
||||
)
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue