aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDhravya <[email protected]>2024-04-13 23:56:56 -0700
committerDhravya <[email protected]>2024-04-13 23:56:56 -0700
commit1bd71de74980f9744b6f6a02065d32d51a7bef6f (patch)
tree48632dfd96fec6103dba9501947ebda5f713087f
parentmore meta tags (diff)
downloadsupermemory-1bd71de74980f9744b6f6a02065d32d51a7bef6f.tar.xz
supermemory-1bd71de74980f9744b6f6a02065d32d51a7bef6f.zip
delete route
-rw-r--r--apps/cf-ai-backend/src/routes/delete.ts27
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 });
+}