From 1bd71de74980f9744b6f6a02065d32d51a7bef6f Mon Sep 17 00:00:00 2001 From: Dhravya Date: Sat, 13 Apr 2024 23:56:56 -0700 Subject: [PATCH] delete route --- apps/cf-ai-backend/src/routes/delete.ts | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 apps/cf-ai-backend/src/routes/delete.ts diff --git a/apps/cf-ai-backend/src/routes/delete.ts b/apps/cf-ai-backend/src/routes/delete.ts new file mode 100644 index 00000000..bb28ce9d --- /dev/null +++ b/apps/cf-ai-backend/src/routes/delete.ts @@ -0,0 +1,27 @@ +import { Request } from '@cloudflare/workers-types'; +import { type CloudflareVectorizeStore } from '@langchain/cloudflare'; +import { OpenAIEmbeddings } from '../OpenAIEmbedder'; +import { GenerativeModel } from '@google/generative-ai'; +import { seededRandom } from '../util'; + +export async function DELETE(request: Request, store: CloudflareVectorizeStore, _: OpenAIEmbeddings, m: GenerativeModel, env: Env) { + const { searchParams } = new URL(request.url); + const websiteUrl = searchParams.get('websiteUrl'); + const user = searchParams.get('user'); + + if (!websiteUrl || !user) { + return new Response(JSON.stringify({ message: 'Invalid Request, need websiteUrl and user' }), { status: 400 }); + } + + const ourID = `${websiteUrl}-${user}`; + + const uuid = await env.KV.get(ourID); + + if (!uuid) { + return new Response(JSON.stringify({ message: 'Document not found' }), { status: 404 }); + } + + await store.delete({ ids: [uuid] }); + + return new Response(JSON.stringify({ message: 'Document deleted' }), { status: 200 }); +}