From aaf359054202f1fe7da9381a8caa7560ff0cc95f Mon Sep 17 00:00:00 2001 From: daniel31x13 Date: Thu, 12 Sep 2024 15:30:15 -0400 Subject: [PATCH] members with edit permission can now refresh preservation as well + bug fix --- components/LinkDetails.tsx | 2 +- .../LinkViews/LinkComponents/LinkActions.tsx | 31 ++++++++++--------- components/ModalContent/LinkModal.tsx | 31 ++++++++++--------- .../links/linkId/updateLinkById.ts | 13 ++++++-- pages/api/v1/links/[id]/archive/index.ts | 17 ++++++++-- 5 files changed, 58 insertions(+), 36 deletions(-) diff --git a/components/LinkDetails.tsx b/components/LinkDetails.tsx index d83d711..e745055 100644 --- a/components/LinkDetails.tsx +++ b/components/LinkDetails.tsx @@ -440,7 +440,7 @@ export default function LinkDetails({ {mode === "view" ? (
- {link.tags[0] ? ( + {link.tags && link.tags[0] ? ( link.tags.map((tag) => isPublicRoute ? (
)} - {link.type === "url" && permissions === true && ( -
  • -
    { - (document?.activeElement as HTMLElement)?.blur(); - updateArchive(); - }} - className="whitespace-nowrap" - > - {t("refresh_preserved_formats")} -
    -
  • - )} + {link.type === "url" && + (permissions === true || permissions?.canUpdate) && ( +
  • +
    { + (document?.activeElement as HTMLElement)?.blur(); + updateArchive(); + }} + className="whitespace-nowrap" + > + {t("refresh_preserved_formats")} +
    +
  • + )} {(permissions === true || permissions?.canDelete) && (
  • } - {link.type === "url" && permissions === true && ( -
  • -
    { - (document?.activeElement as HTMLElement)?.blur(); - onUpdateArchive(); - }} - className="whitespace-nowrap" - > - {t("refresh_preserved_formats")} -
    -
  • - )} + {link.type === "url" && + (permissions === true || permissions?.canUpdate) && ( +
  • +
    { + (document?.activeElement as HTMLElement)?.blur(); + onUpdateArchive(); + }} + className="whitespace-nowrap" + > + {t("refresh_preserved_formats")} +
    +
  • + )} {(permissions === true || permissions?.canDelete) && (
  • e.userId === user.id && e.canUpdate + ); + + if (!(collectionIsAccessible?.ownerId === user.id || memberHasAccess)) return res.status(401).json({ response: "Permission denied.", });