Move memories fetching to backend

This commit is contained in:
Kush Thaker 2024-08-08 23:08:48 +05:30
parent 30e944a4f1
commit 1bc290cf2b
2 changed files with 54 additions and 9 deletions

View file

@ -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,

View file

@ -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,
},
};
};