aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/app/api
diff options
context:
space:
mode:
authorDhravya <[email protected]>2024-03-01 11:43:40 -0700
committerDhravya <[email protected]>2024-03-01 11:43:40 -0700
commitb8e070c1ac37251129774f8e7d70fdbcf94bee8c (patch)
treef9793b1146446c9c709a8f752c6b334760a62c36 /apps/web/src/app/api
parentextension workoing (diff)
downloadsupermemory-b8e070c1ac37251129774f8e7d70fdbcf94bee8c.tar.xz
supermemory-b8e070c1ac37251129774f8e7d70fdbcf94bee8c.zip
feat: Added AI query UI
Diffstat (limited to 'apps/web/src/app/api')
-rw-r--r--apps/web/src/app/api/query/route.ts16
-rw-r--r--apps/web/src/app/api/store/route.ts2
2 files changed, 12 insertions, 6 deletions
diff --git a/apps/web/src/app/api/query/route.ts b/apps/web/src/app/api/query/route.ts
index 9be23321..4e2f0674 100644
--- a/apps/web/src/app/api/query/route.ts
+++ b/apps/web/src/app/api/query/route.ts
@@ -24,22 +24,26 @@ export async function GET(req: NextRequest) {
const session = {session: sessionData[0], user: user[0]}
const query = new URL(req.url).searchParams.get("q");
+ const sourcesOnly = new URL(req.url).searchParams.get("sourcesOnly") ?? "false";
if (!query) {
return new Response(JSON.stringify({ message: "Invalid query" }), { status: 400 });
}
- const resp = await fetch(`https://cf-ai-backend.dhravya.workers.dev/query?q=${query}&user=${session.user.email ?? session.user.name}`, {
+ const resp = await fetch(`https://cf-ai-backend.dhravya.workers.dev/query?q=${query}&user=${session.user.email ?? session.user.name}&sourcesOnly=${sourcesOnly}`, {
headers: {
"X-Custom-Auth-Key": env.BACKEND_SECURITY_KEY,
}
})
- const data = await resp.json()
-
- if (resp.status !== 200) {
- return new Response(JSON.stringify({ message: "Error in CF function", error: data }), { status: resp.status });
+ if (resp.status !== 200 || !resp.ok) {
+ const errorData = await resp.json();
+ return new Response(JSON.stringify({ message: "Error in CF function", error: errorData }), { status: resp.status });
}
- return new Response(JSON.stringify({ message: "OK", data: data }), { status: 200 });
+ // Stream the response back to the client
+ const { readable, writable } = new TransformStream();
+ resp && resp.body!.pipeTo(writable);
+
+ return new Response(readable, { status: 200 });
} \ No newline at end of file
diff --git a/apps/web/src/app/api/store/route.ts b/apps/web/src/app/api/store/route.ts
index 5856bc4f..46e4cdfb 100644
--- a/apps/web/src/app/api/store/route.ts
+++ b/apps/web/src/app/api/store/route.ts
@@ -80,6 +80,8 @@ export async function POST(req: NextRequest) {
const _ = await res.text();
+ console.log(_)
+
if (res.status !== 200) {
return NextResponse.json({ message: "Error", error: "Error in CF function" }, { status: 500 });
}