From 802da2920b53cd1aa9b616ee463c7dc80a088013 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Sun, 25 Feb 2024 22:28:44 +1300 Subject: [PATCH] Initial functionality pass --- client/homebrew/pages/errorPage/errors/errorIndex.js | 10 ++++++++++ server/homebrew.api.js | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/client/homebrew/pages/errorPage/errors/errorIndex.js b/client/homebrew/pages/errorPage/errors/errorIndex.js index c2de04142..7c7a3ae7f 100644 --- a/client/homebrew/pages/errorPage/errors/errorIndex.js +++ b/client/homebrew/pages/errorPage/errors/errorIndex.js @@ -122,6 +122,16 @@ const errorIndex = (props)=>{ An error occurred while attempting to remove the user from the Homebrewery document author list! **Brew ID:** ${props.brew.brewId}`, + + // Brew locked by Administrators error + '100' : dedent` + ## This brew has been locked. + + Please contact the Administrators to unlock this document. + + **Brew ID:** ${props.brew.brewId} + + **Brew Title:** ${props.brew.brewTitle}`, }; }; diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 20e13ec71..e55bf20a0 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -54,6 +54,13 @@ const api = { }); stub = stub?.toObject(); + if(stub.lock?.state) { + // State 1 : Locked for everything + // State 2 : Edit only + if(stub.lock.state == 1 || (stub.lock.state == 2 && accessType != 'edit')) + throw { HBErrorCode: '100', code: stub.lock.code, message: stub.lock.message, brewId: accessType === 'edit' ? stub.editId : stub.shareId, brewTitle: stub.title }; + } + // If there is a google id, try to find the google brew if(!stubOnly && (googleId || stub?.googleId)) { let googleError;