chatbot-template/app/(chat)/api/suggestions/route.ts

38 lines
931 B
TypeScript
Raw Normal View History

import { auth } from "@/app/(auth)/auth";
import { getSuggestionsByDocumentId } from "@/lib/db/queries";
import { ChatSDKError } from "@/lib/errors";
2024-10-30 16:01:24 +05:30
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const documentId = searchParams.get("documentId");
2024-10-30 16:01:24 +05:30
if (!documentId) {
2025-05-13 19:01:28 -07:00
return new ChatSDKError(
"bad_request:api",
"Parameter documentId is required."
2025-05-13 19:01:28 -07:00
).toResponse();
2024-10-30 16:01:24 +05:30
}
const session = await auth();
2025-05-13 19:01:28 -07:00
if (!session?.user) {
return new ChatSDKError("unauthorized:suggestions").toResponse();
2024-10-30 16:01:24 +05:30
}
const suggestions = await getSuggestionsByDocumentId({
documentId,
});
const [suggestion] = suggestions;
if (!suggestion) {
return Response.json([], { status: 200 });
}
if (suggestion.userId !== session.user.id) {
return new ChatSDKError("forbidden:api").toResponse();
2024-10-30 16:01:24 +05:30
}
return Response.json(suggestions, { status: 200 });
}