diff options
| author | Kush Thaker <[email protected]> | 2024-08-08 23:08:48 +0530 |
|---|---|---|
| committer | Kush Thaker <[email protected]> | 2024-08-08 23:08:48 +0530 |
| commit | 1bc290cf2bce463d35f2d48b6d2286239d12df7d (patch) | |
| tree | fe70db4098df3062c62f136e1675b6939ec7dd28 | |
| parent | fix: builds (diff) | |
| download | supermemory-kush/be-mem.tar.xz supermemory-kush/be-mem.zip | |
Move memories fetching to backendkush/be-mem
| -rw-r--r-- | apps/cf-ai-backend/src/index.ts | 30 | ||||
| -rw-r--r-- | apps/web/app/actions/fetchers.ts | 33 |
2 files changed, 54 insertions, 9 deletions
diff --git a/apps/cf-ai-backend/src/index.ts b/apps/cf-ai-backend/src/index.ts index 5957eb04..8be40577 100644 --- a/apps/cf-ai-backend/src/index.ts +++ b/apps/cf-ai-backend/src/index.ts @@ -25,7 +25,7 @@ import chunkText from "./queueConsumer/chunkers/chonker"; import { systemPrompt, template } from "./prompts/prompt1"; import { swaggerUI } from "@hono/swagger-ui"; import { database } from "./db"; -import { storedContent } from "@repo/db/schema"; +import { jobs, storedContent, users } from "@repo/db/schema"; import { sql, and, eq } from "drizzle-orm"; import { LIMITS } from "@repo/shared-types"; import { typeDecider } from "./queueConsumer/utils/typeDecider"; @@ -779,6 +779,34 @@ app.get("/howFuckedAreWe", async (c) => { return c.json({ fuckedPercent }); }); +app.get( + "api/memories", + zValidator( + "query", + z.object({ + userId: z.string(), + }), + ), + async (c) => { + const { userId } = c.req.valid("query"); + const db = database(c.env); + + const spaces = await db.query.space.findMany({ + where: eq(users, userId), + }); + + const memories = await db.query.storedContent.findMany({ + where: eq(users, userId), + }); + + const processingJobs = await db.query.jobs.findMany({ + where: and(eq(jobs.userId, userId), eq(jobs.status, "Processing")), + }); + + return c.json({ spaces, memories, processingJobs }); + }, +); + export default { fetch: app.fetch, queue, diff --git a/apps/web/app/actions/fetchers.ts b/apps/web/app/actions/fetchers.ts index f00feb3c..032a50f9 100644 --- a/apps/web/app/actions/fetchers.ts +++ b/apps/web/app/actions/fetchers.ts @@ -13,6 +13,7 @@ import { spacesAccess, storedContent, StoredSpace, + Job, User, users, } from "@repo/db/schema"; @@ -162,6 +163,7 @@ export const getMemoriesInsideSpace = async ( export const getAllUserMemoriesAndSpaces = async (): ServerActionReturnType<{ spaces: StoredSpace[]; memories: Content[]; + processingJobs: Job[]; }> => { const data = await auth(); @@ -170,17 +172,32 @@ export const getAllUserMemoriesAndSpaces = async (): ServerActionReturnType<{ return { error: "Not authenticated", success: false }; } - const spaces = await db.query.space.findMany({ - where: eq(users, data.user.id), - }); - - const memories = await db.query.storedContent.findMany({ - where: eq(users, data.user.id), - }); + const memoriesFromBe = await fetch( + `${process.env.BACKEND_BASE_URL}/api/memories?userId=${data.user.id}`, + { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }, + ); + const memories = (await memoriesFromBe.json()) as { + spaces: StoredSpace[]; + memories: Content[]; + processingJobs: Job[]; + }; + console.log( + "----These are the processing Jobs----", + JSON.stringify(memories.processingJobs), + ); return { success: true, - data: { spaces: spaces, memories: memories }, + data: { + spaces: memories.spaces, + memories: memories.memories, + processingJobs: memories.processingJobs, + }, }; }; |