From 192c49750847eff38405ea85baef57d4c014b2b3 Mon Sep 17 00:00:00 2001 From: Mathias Jakobsen Date: Thu, 28 Mar 2024 09:53:15 +0000 Subject: [PATCH] Merge pull request #17671 from overleaf/mj-project-projection [web] Use projection when fetching project GitOrigin-RevId: 4c7eb6582dba9ffa81f8d34c4e353faf1dc15c83 --- services/web/app/src/Features/History/HistoryManager.js | 6 ++++-- services/web/test/unit/src/History/HistoryManagerTests.js | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/services/web/app/src/Features/History/HistoryManager.js b/services/web/app/src/Features/History/HistoryManager.js index 4debeb6179..304fff6f4b 100644 --- a/services/web/app/src/Features/History/HistoryManager.js +++ b/services/web/app/src/Features/History/HistoryManager.js @@ -3,7 +3,7 @@ const { fetchJson, fetchNothing } = require('@overleaf/fetch-utils') const settings = require('@overleaf/settings') const OError = require('@overleaf/o-error') const UserGetter = require('../User/UserGetter') -const { Project } = require('../../models/Project') +const ProjectGetter = require('../Project/ProjectGetter') async function initializeProject(projectId) { const body = await fetchJson(`${settings.apis.project_history.url}/project`, { @@ -115,7 +115,9 @@ async function _deleteProjectInFullProjectHistory(historyId) { * @returns Promise */ async function getCurrentContent(projectId) { - const project = await Project.findById(projectId).exec() + const project = await ProjectGetter.promises.getProject(projectId, { + overleaf: true, + }) const historyId = project?.overleaf?.history?.id if (!historyId) { throw new OError('project does not have a history id', { projectId }) diff --git a/services/web/test/unit/src/History/HistoryManagerTests.js b/services/web/test/unit/src/History/HistoryManagerTests.js index 461e66c904..5b04e51063 100644 --- a/services/web/test/unit/src/History/HistoryManagerTests.js +++ b/services/web/test/unit/src/History/HistoryManagerTests.js @@ -48,9 +48,9 @@ describe('HistoryManager', function () { }, } - this.ProjectModel = { - Project: { - findById: sinon.stub().returns(sinon.stub().resolves(this.project)), + this.ProjectGetter = { + promises: { + getProject: sinon.stub().resolves(this.project), }, } @@ -59,7 +59,7 @@ describe('HistoryManager', function () { '@overleaf/fetch-utils': this.FetchUtils, '@overleaf/settings': this.settings, '../User/UserGetter': this.UserGetter, - '../../models/Project': this.ProjectModel, + '../Project/ProjectGetter': this.ProjectGetter, }, }) })