File size: 932 Bytes
867b17d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import { auth } from '@/app/(auth)/auth';
import { getSuggestionsByDocumentId } from '@/lib/db/queries';
import { ChatSDKError } from '@/lib/errors';
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const documentId = searchParams.get('documentId');
if (!documentId) {
return new ChatSDKError(
'bad_request:api',
'Parameter documentId is required.',
).toResponse();
}
const session = await auth();
if (!session?.user) {
return new ChatSDKError('unauthorized:suggestions').toResponse();
}
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();
}
return Response.json(suggestions, { status: 200 });
}
|