fix: Two restore options when an archived document is deleted (#2194)

* Merge two menu items

* Add deletedAt guard condition in document unarchive policy

* Make the parentDocumentId null

* Update test
This commit is contained in:
Saumya Pandey 2021-06-11 11:22:32 +05:30 committed by GitHub
parent f58032d305
commit d71f0ae6bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 8 deletions

View File

@ -218,12 +218,7 @@ function DocumentMenu({
items={[
{
title: t("Restore"),
visible: !!can.unarchive,
onClick: handleRestore,
},
{
title: t("Restore"),
visible: !!(collection && can.restore),
visible: (!!collection && can.restore) || can.unarchive,
onClick: handleRestore,
},
{

View File

@ -1588,7 +1588,7 @@ describe("#documents.restore", () => {
const body = await res.json();
expect(res.status).toEqual(200);
expect(body.data.parentDocumentId).toEqual(undefined);
expect(body.data.parentDocumentId).toEqual(null);
expect(body.data.archivedAt).toEqual(null);
});

View File

@ -637,7 +637,7 @@ Document.prototype.unarchive = async function (userId: string) {
},
},
});
if (!parent) this.parentDocumentId = undefined;
if (!parent) this.parentDocumentId = null;
}
if (!this.template) {

View File

@ -149,6 +149,7 @@ allow(User, "unarchive", Document, (user, document) => {
if (cannot(user, "update", document.collection)) return false;
if (!document.archivedAt) return false;
if (document.deletedAt) return false;
return user.teamId === document.teamId;
});