mirror of
https://github.com/yusufipk/OpenFrame.git
synced 2026-09-11 09:36:08 +00:00
Restrict guest CSV comment export in UI and fix lint/typecheck cleanup in comment APIs
This commit is contained in:
@@ -243,7 +243,9 @@ export async function PATCH(request: NextRequest, { params }: RouteParams) {
|
||||
},
|
||||
});
|
||||
|
||||
const { guestIdentityId: _updatedGuestIdentityId, ...updatedCommentData } = updatedComment;
|
||||
const updatedCommentData = Object.fromEntries(
|
||||
Object.entries(updatedComment).filter(([key]) => key !== 'guestIdentityId')
|
||||
);
|
||||
const response = successResponse({
|
||||
...updatedCommentData,
|
||||
canEdit: canEditOwnContent,
|
||||
@@ -255,7 +257,9 @@ export async function PATCH(request: NextRequest, { params }: RouteParams) {
|
||||
&& !reply.authorId
|
||||
&& !!reply.guestIdentityId
|
||||
&& reply.guestIdentityId === guestIdentityId;
|
||||
const { guestIdentityId: _replyGuestIdentityId, ...replyData } = reply;
|
||||
const replyData = Object.fromEntries(
|
||||
Object.entries(reply).filter(([key]) => key !== 'guestIdentityId')
|
||||
);
|
||||
return {
|
||||
...replyData,
|
||||
canEdit: canEditReply,
|
||||
|
||||
@@ -362,7 +362,9 @@ export async function POST(request: NextRequest, { params }: RouteParams) {
|
||||
: !!viewerGuestIdentityId
|
||||
&& !!comment.guestIdentityId
|
||||
&& comment.guestIdentityId === viewerGuestIdentityId;
|
||||
const { guestIdentityId: _guestIdentityId, ...commentData } = comment;
|
||||
const commentData = Object.fromEntries(
|
||||
Object.entries(comment).filter(([key]) => key !== 'guestIdentityId')
|
||||
);
|
||||
|
||||
const response = successResponse({
|
||||
...commentData,
|
||||
|
||||
@@ -138,12 +138,12 @@ export async function GET(request: NextRequest, { params }: RouteParams) {
|
||||
&& !!comment.guestIdentityId
|
||||
&& comment.guestIdentityId === viewerGuestIdentityId;
|
||||
const canDeleteComment = canEditComment || isProjectOwner;
|
||||
const {
|
||||
authorId: _commentAuthorId,
|
||||
guestIdentityId: _commentGuestIdentityId,
|
||||
replies,
|
||||
...commentData
|
||||
} = comment;
|
||||
const replies = comment.replies;
|
||||
const commentData = Object.fromEntries(
|
||||
Object.entries(comment).filter(
|
||||
([key]) => key !== 'authorId' && key !== 'guestIdentityId' && key !== 'replies'
|
||||
)
|
||||
);
|
||||
|
||||
return {
|
||||
...commentData,
|
||||
@@ -156,11 +156,11 @@ export async function GET(request: NextRequest, { params }: RouteParams) {
|
||||
&& !!reply.guestIdentityId
|
||||
&& reply.guestIdentityId === viewerGuestIdentityId;
|
||||
const canDeleteReply = canEditReply || isProjectOwner;
|
||||
const {
|
||||
authorId: _replyAuthorId,
|
||||
guestIdentityId: _replyGuestIdentityId,
|
||||
...replyData
|
||||
} = reply;
|
||||
const replyData = Object.fromEntries(
|
||||
Object.entries(reply).filter(
|
||||
([key]) => key !== 'authorId' && key !== 'guestIdentityId'
|
||||
)
|
||||
);
|
||||
return {
|
||||
...replyData,
|
||||
canEdit: canEditReply,
|
||||
|
||||
@@ -3551,12 +3551,12 @@ export function VideoPageContent({ mode, videoId, projectId: propProjectId }: Vi
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
className="h-8 w-8"
|
||||
disabled={!activeVersion || isExportingCsv || isExportingPdf}
|
||||
disabled={!activeVersion || isGuest || isExportingCsv || isExportingPdf}
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
handleExportComments('csv');
|
||||
}}
|
||||
title="Download comments as CSV"
|
||||
title={isGuest ? 'CSV export requires an authenticated account' : 'Download comments as CSV'}
|
||||
>
|
||||
{isExportingCsv ? <Loader2 className="h-4 w-4 animate-spin" /> : <Download className="h-4 w-4" />}
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user