From 416cb0ceb91f3a9bc60c36bf6ac4e5f739174833 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Mon, 29 Apr 2024 09:32:39 -0400 Subject: [PATCH] fix: Missing options in document menu for trashed documents --- server/routes/api/documents/documents.test.ts | 6 ++++++ server/routes/api/documents/documents.ts | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/server/routes/api/documents/documents.test.ts b/server/routes/api/documents/documents.test.ts index 1a820b147..b0863cce7 100644 --- a/server/routes/api/documents/documents.test.ts +++ b/server/routes/api/documents/documents.test.ts @@ -2017,6 +2017,9 @@ describe("#documents.deleted", () => { const body = await res.json(); expect(res.status).toEqual(200); expect(body.data.length).toEqual(1); + expect(body.policies[0].abilities.delete).toEqual(false); + expect(body.policies[0].abilities.restore).toEqual(true); + expect(body.policies[0].abilities.permanentDelete).toEqual(true); }); it("should return deleted documents, including users drafts without collection", async () => { @@ -2049,6 +2052,9 @@ describe("#documents.deleted", () => { const body = await res.json(); expect(res.status).toEqual(200); expect(body.data.length).toEqual(2); + expect(body.policies[0].abilities.delete).toEqual(false); + expect(body.policies[0].abilities.restore).toEqual(true); + expect(body.policies[0].abilities.permanentDelete).toEqual(true); }); it("should not return documents in private collections not a member of", async () => { diff --git a/server/routes/api/documents/documents.ts b/server/routes/api/documents/documents.ts index c41eda6b6..a2238f149 100644 --- a/server/routes/api/documents/documents.ts +++ b/server/routes/api/documents/documents.ts @@ -256,6 +256,9 @@ router.post( const collectionIds = await user.collectionIds({ paranoid: false, }); + const membershipScope: Readonly = { + method: ["withMembership", user.id], + }; const collectionScope: Readonly = { method: ["withCollectionPermissions", user.id], }; @@ -263,6 +266,7 @@ router.post( method: ["withViews", user.id], }; const documents = await Document.scope([ + membershipScope, collectionScope, viewScope, "withDrafts",