fix: share.document can be null when document is deleted

closes #3724
This commit is contained in:
Tom Moor
2022-07-02 19:56:15 +02:00
parent f744d488f6
commit 0c30d2bb34
3 changed files with 12 additions and 10 deletions

View File

@@ -64,7 +64,7 @@ export default async function loadDocument({
],
});
if (!share || share.document.archivedAt) {
if (!share || share.document?.archivedAt) {
throw InvalidRequestError("Document could not be found for shareId");
}
@@ -133,16 +133,18 @@ export default async function loadDocument({
// If we're attempting to load a document that isn't the document originally
// shared then includeChildDocuments must be enabled and the document must
// still be active and nested within the shared document
if (share.document.id !== document.id) {
if (share.documentId !== document.id) {
if (!share.includeChildDocuments) {
throw AuthorizationError();
}
const childDocumentIds = await share.document.getChildDocumentIds({
archivedAt: {
[Op.is]: null,
},
});
const childDocumentIds =
(await share.document?.getChildDocumentIds({
archivedAt: {
[Op.is]: null,
},
})) ?? [];
if (!childDocumentIds.includes(document.id)) {
throw AuthorizationError();
}