From 642eea2de6e705a31adb6a2214d7302a0ed26376 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Tue, 27 Feb 2024 16:55:42 +0000 Subject: [PATCH] Merge pull request #17318 from overleaf/jpa-create-tokens-first [web] create link-sharing tokens before enabling link-sharing GitOrigin-RevId: 19a72d57623421681f0de3193572b916a5adeaa9 --- .../src/Features/Editor/EditorController.js | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/services/web/app/src/Features/Editor/EditorController.js b/services/web/app/src/Features/Editor/EditorController.js index 3196ddfc91..80ca646aaf 100644 --- a/services/web/app/src/Features/Editor/EditorController.js +++ b/services/web/app/src/Features/Editor/EditorController.js @@ -568,24 +568,31 @@ const EditorController = { }, setPublicAccessLevel(projectId, newAccessLevel, callback) { - ProjectDetailsHandler.setPublicAccessLevel( - projectId, - newAccessLevel, - function (err) { - if (err) { - return callback(err) - } - EditorRealTimeController.emitToRoom( - projectId, - 'project:publicAccessLevel:changed', - { newAccessLevel } - ) - if (newAccessLevel === PublicAccessLevels.TOKEN_BASED) { - ProjectDetailsHandler.ensureTokensArePresent(projectId, callback) - } else { - callback() - } - } + async.series( + [ + cb => { + if (newAccessLevel === PublicAccessLevels.TOKEN_BASED) { + ProjectDetailsHandler.ensureTokensArePresent(projectId, cb) + } else { + cb() + } + }, + cb => + ProjectDetailsHandler.setPublicAccessLevel( + projectId, + newAccessLevel, + cb + ), + cb => { + EditorRealTimeController.emitToRoom( + projectId, + 'project:publicAccessLevel:changed', + { newAccessLevel } + ) + cb() + }, + ], + callback ) },