diff --git a/app/api/approvals/[requestId]/decision/route.ts b/app/api/approvals/[requestId]/decision/route.ts index e933e1b..f5ecf6a 100644 --- a/app/api/approvals/[requestId]/decision/route.ts +++ b/app/api/approvals/[requestId]/decision/route.ts @@ -157,10 +157,17 @@ export async function POST(request: NextRequest, { params }: RouteParams) { approver: { select: { id: true, name: true, email: true, image: true } }, }, }, + // Scalar fields only: the full version row carries BigInt sizeBytes, + // which JSON.stringify rejects when serializing the response. version: { - include: { + select: { + id: true, + versionNumber: true, + versionLabel: true, video: { - include: { + select: { + id: true, + title: true, project: { select: { id: true, name: true } }, }, }, diff --git a/app/api/projects/[projectId]/videos/[videoId]/route.ts b/app/api/projects/[projectId]/videos/[videoId]/route.ts index 1e96b6d..f01d0d0 100644 --- a/app/api/projects/[projectId]/videos/[videoId]/route.ts +++ b/app/api/projects/[projectId]/videos/[videoId]/route.ts @@ -191,12 +191,19 @@ export async function PATCH(request: NextRequest, { params }: RouteParams) { if (typeof description === 'string') updateData.description = description.trim() || null; if (position !== undefined) updateData.position = position; + // Keep the response to scalar video fields: including versions would pull + // in BigInt columns (sizeBytes) that JSON.stringify cannot serialize, and + // no caller consumes the success payload beyond these fields. const updatedVideo = await db.video.update({ where: { id: videoId }, data: updateData, - include: { - versions: { orderBy: { versionNumber: 'desc' } }, - _count: { select: { versions: true } }, + select: { + id: true, + title: true, + description: true, + position: true, + projectId: true, + updatedAt: true, }, });