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",