mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #10677 from overleaf/em-history-id-string
Represent history ids as strings instead of integers GitOrigin-RevId: 18977195b65492836e570c571ec7e8c7e088612b
This commit is contained in:
parent
0e30718892
commit
5083060fbb
10 changed files with 26 additions and 33 deletions
|
@ -99,7 +99,7 @@ function getDoc(projectId, docId, options = {}, _callback) {
|
|||
body.version,
|
||||
body.ranges,
|
||||
body.pathname,
|
||||
body.projectHistoryId,
|
||||
body.projectHistoryId?.toString(),
|
||||
body.projectHistoryType
|
||||
)
|
||||
} else if (res.statusCode === 404) {
|
||||
|
|
|
@ -244,10 +244,6 @@ module.exports = RedisManager = {
|
|||
return callback(new Errors.NotFoundError('document not found'))
|
||||
}
|
||||
|
||||
if (projectHistoryId != null) {
|
||||
projectHistoryId = parseInt(projectHistoryId)
|
||||
}
|
||||
|
||||
if (docLines && version && !pathname) {
|
||||
metrics.inc('pathname', 1, {
|
||||
path: 'RedisManager.getDoc',
|
||||
|
|
|
@ -106,7 +106,7 @@ describe('RedisManager', function () {
|
|||
|
||||
this.docId = 'doc-id-123'
|
||||
this.project_id = 'project-id-123'
|
||||
this.projectHistoryId = 123
|
||||
this.projectHistoryId = '123'
|
||||
this.callback = sinon.stub()
|
||||
})
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ async function initializeProject() {
|
|||
settings.apis.project_history.initializeHistoryForNewProjects
|
||||
)
|
||||
) {
|
||||
return
|
||||
return null
|
||||
}
|
||||
const response = await fetch(`${settings.apis.project_history.url}/project`, {
|
||||
method: 'POST',
|
||||
|
@ -25,11 +25,11 @@ async function initializeProject() {
|
|||
})
|
||||
}
|
||||
const body = await response.json()
|
||||
const overleafId = body && body.project && body.project.id
|
||||
if (!overleafId) {
|
||||
const historyId = body && body.project && body.project.id
|
||||
if (!historyId) {
|
||||
throw new OError('project-history did not provide an id', { body })
|
||||
}
|
||||
return { overleaf_id: overleafId }
|
||||
return historyId
|
||||
}
|
||||
|
||||
async function flushProject(projectId) {
|
||||
|
|
|
@ -153,9 +153,11 @@ async function _createBlankProject(
|
|||
await ProjectDetailsHandler.promises.validateProjectName(projectName)
|
||||
|
||||
if (!attributes.overleaf) {
|
||||
const history = await HistoryManager.promises.initializeProject()
|
||||
attributes.overleaf = {
|
||||
history: { id: history ? history.overleaf_id : undefined },
|
||||
const historyId = await HistoryManager.promises.initializeProject()
|
||||
if (historyId != null) {
|
||||
attributes.overleaf = {
|
||||
history: { id: historyId },
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -154,16 +154,16 @@ const ProjectHistoryHandler = {
|
|||
if (history_id != null) {
|
||||
return callback()
|
||||
} // history already exists, success
|
||||
return HistoryManager.initializeProject(function (err, history) {
|
||||
return HistoryManager.initializeProject(function (err, historyId) {
|
||||
if (err != null) {
|
||||
return callback(err)
|
||||
}
|
||||
if (!(history != null ? history.overleaf_id : undefined)) {
|
||||
if (historyId == null) {
|
||||
return callback(new Error('failed to initialize history id'))
|
||||
}
|
||||
return ProjectHistoryHandler.setHistoryId(
|
||||
project_id,
|
||||
history.overleaf_id,
|
||||
historyId,
|
||||
function (err) {
|
||||
if (err != null) {
|
||||
return callback(err)
|
||||
|
|
|
@ -174,16 +174,11 @@ async function doUpgradeForNoneWithoutConversion(project) {
|
|||
// Logic originally from ProjectHistoryHandler.ensureHistoryExistsForProject
|
||||
// However sends a force resync project to project history instead
|
||||
// of a resync request to doc-updater
|
||||
const historyId = await ProjectHistoryHandler.promises.getHistoryId(
|
||||
projectId
|
||||
)
|
||||
if (!historyId) {
|
||||
const history = await HistoryManager.promises.initializeProject()
|
||||
if (history && history.overleaf_id) {
|
||||
await ProjectHistoryHandler.promises.setHistoryId(
|
||||
projectId,
|
||||
history.overleaf_id
|
||||
)
|
||||
let historyId = await ProjectHistoryHandler.promises.getHistoryId(projectId)
|
||||
if (historyId == null) {
|
||||
historyId = await HistoryManager.promises.initializeProject()
|
||||
if (historyId != null) {
|
||||
await ProjectHistoryHandler.promises.setHistoryId(projectId, historyId)
|
||||
}
|
||||
}
|
||||
await HistoryManager.promises.resyncProject(projectId, {
|
||||
|
|
|
@ -117,15 +117,15 @@ async function doUpgradeForNoneWithoutConversion(project) {
|
|||
// Logic originally from ProjectHistoryHandler.ensureHistoryExistsForProject
|
||||
// However sends a force resync project to project history instead
|
||||
// of a resync request to doc-updater
|
||||
const historyId = await ProjectHistoryHandler.promises.getHistoryId(
|
||||
let historyId = await ProjectHistoryHandler.promises.getHistoryId(
|
||||
projectId
|
||||
)
|
||||
if (!historyId) {
|
||||
const history = await HistoryManager.promises.initializeProject()
|
||||
if (history && history.overleaf_id) {
|
||||
if (historyId == null) {
|
||||
historyId = await HistoryManager.promises.initializeProject()
|
||||
if (historyId != null) {
|
||||
await ProjectHistoryHandler.promises.setHistoryId(
|
||||
projectId,
|
||||
history.overleaf_id
|
||||
historyId
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ describe('HistoryManager', function () {
|
|||
})
|
||||
|
||||
it('should return the overleaf id', function () {
|
||||
expect(this.result).to.deep.equal({ overleaf_id: this.overleaf_id })
|
||||
expect(this.result).to.deep.equal(this.overleaf_id)
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ describe('ProjectHistoryHandler', function () {
|
|||
this.newHistoryId = 123456789
|
||||
this.HistoryManager.initializeProject = sinon
|
||||
.stub()
|
||||
.callsArgWith(0, null, { overleaf_id: this.newHistoryId })
|
||||
.callsArgWith(0, null, this.newHistoryId)
|
||||
this.HistoryManager.flushProject = sinon.stub().callsArg(1)
|
||||
return (this.ProjectEntityUpdateHandler.resyncProjectHistory = sinon
|
||||
.stub()
|
||||
|
|
Loading…
Reference in a new issue