diff options
| author | Dhravya <[email protected]> | 2024-04-13 23:56:56 -0700 |
|---|---|---|
| committer | Dhravya <[email protected]> | 2024-04-13 23:56:56 -0700 |
| commit | 1bd71de74980f9744b6f6a02065d32d51a7bef6f (patch) | |
| tree | 48632dfd96fec6103dba9501947ebda5f713087f | |
| parent | more meta tags (diff) | |
| download | supermemory-1bd71de74980f9744b6f6a02065d32d51a7bef6f.tar.xz supermemory-1bd71de74980f9744b6f6a02065d32d51a7bef6f.zip | |
delete route
| -rw-r--r-- | apps/cf-ai-backend/src/routes/delete.ts | 27 |
1 files changed, 27 insertions, 0 deletions
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 }); +} |