aboutsummaryrefslogtreecommitdiff
path: root/apps/web/app/api/canvasai/route.ts
blob: 7e31f5b393c61e6e5670f90736378756b1267ecb (plain) (blame)
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
import type { NextRequest } from "next/server";
import { ensureAuth } from "../ensureAuth";

export const runtime = "edge";

export async function POST(request: NextRequest) {
  const session = await ensureAuth(request);
  if (!session) {
    return new Response("Unauthorized", { status: 401 });
  }
  const res: { query: string } = await request.json();

  try {
    const resp = await fetch(
      `${process.env.BACKEND_BASE_URL}/api/search?query=${res.query}&user=${session.user.id}`,
    );
    if (resp.status !== 200 || !resp.ok) {
      const errorData = await resp.text();
      console.log(errorData);
      return new Response(
        JSON.stringify({ message: "Error in CF function", error: errorData }),
        { status: resp.status },
      );
    }
    return new Response(
      JSON.stringify({ response: await resp.json(), status: 200 }),
    );
  } catch (error) {
    return new Response(`Error, ${error}`);
  }
}