Skip to content

Commit 0a558ff

Browse files
committed
feat: several improvements to conversations
1 parent 6c63fce commit 0a558ff

File tree

10 files changed

+351
-120
lines changed

10 files changed

+351
-120
lines changed

app/(ee)/api/faqs/route.ts

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
import { NextRequest, NextResponse } from "next/server";
22

3+
import { z } from "zod";
4+
35
import { verifyDataroomSession } from "@/lib/auth/dataroom-auth";
46
import prisma from "@/lib/prisma";
57

8+
// Validation schema for query parameters
9+
const visitorFAQParamsSchema = z.object({
10+
linkId: z.string().cuid("Invalid link ID format"),
11+
dataroomId: z.string().cuid("Invalid dataroom ID format"),
12+
documentId: z.string().cuid("Invalid document ID format").optional(), // This is actually dataroomDocumentId
13+
});
14+
615
export interface VisitorFAQResponse {
716
id: string;
817
editedQuestion: string;
@@ -19,17 +28,26 @@ export interface VisitorFAQResponse {
1928
export async function GET(req: NextRequest) {
2029
try {
2130
const searchParams = req.nextUrl.searchParams;
22-
const linkId = searchParams.get("linkId");
23-
const dataroomId = searchParams.get("dataroomId");
24-
const documentId = searchParams.get("documentId");
2531

26-
if (!linkId || !dataroomId) {
32+
// Validate query parameters
33+
const paramValidation = visitorFAQParamsSchema.safeParse({
34+
linkId: searchParams.get("linkId"),
35+
dataroomId: searchParams.get("dataroomId"),
36+
documentId: searchParams.get("documentId"), // This is actually dataroomDocumentId
37+
});
38+
39+
if (!paramValidation.success) {
2740
return NextResponse.json(
28-
{ error: "linkId and dataroomId are required" },
41+
{
42+
error: "Invalid parameters",
43+
details: paramValidation.error.errors[0]?.message,
44+
},
2945
{ status: 400 },
3046
);
3147
}
3248

49+
const { linkId, dataroomId, documentId } = paramValidation.data;
50+
3351
// Verify dataroom session
3452
const session = await verifyDataroomSession(req, linkId, dataroomId);
3553
if (!session) {

0 commit comments

Comments
 (0)