aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/app
diff options
context:
space:
mode:
authoryxshv <[email protected]>2024-04-11 21:56:10 +0530
committeryxshv <[email protected]>2024-04-11 21:56:10 +0530
commitb97def82db0b84004d186b1fe9cfcf1dd22506d3 (patch)
tree2d720b0c115c1c0e0fa3c12527d295066531b1e5 /apps/web/src/app
parentnew db actions (diff)
downloadsupermemory-b97def82db0b84004d186b1fe9cfcf1dd22506d3.tar.xz
supermemory-b97def82db0b84004d186b1fe9cfcf1dd22506d3.zip
update sql queries
Diffstat (limited to 'apps/web/src/app')
-rw-r--r--apps/web/src/app/page.tsx56
1 files changed, 27 insertions, 29 deletions
diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx
index ccceffe0..f3dc1bd4 100644
--- a/apps/web/src/app/page.tsx
+++ b/apps/web/src/app/page.tsx
@@ -7,13 +7,10 @@ import {
storedContent,
users,
} from "@/server/db/schema";
-import { eq, inArray } from "drizzle-orm";
+import { and, eq, inArray, not } from "drizzle-orm";
import { cookies, headers } from "next/headers";
import { redirect } from "next/navigation";
-import Sidebar from "@/components/Sidebar/index";
-import Main from "@/components/Main";
-import MessagePoster from "./MessagePoster";
-import { transformContent } from "../../types/memory";
+import { fetchContentForSpace, fetchFreeMemories, transformContent } from "../../types/memory";
import { MemoryProvider } from "@/contexts/MemoryContext";
import Content from "./content";
@@ -49,35 +46,36 @@ export default async function Home() {
return redirect("/api/auth/signin");
}
- // Fetch all content for the user
- const contents = await db
+
+ const collectedSpaces = await db
.select()
- .from(storedContent)
- .where(eq(storedContent.user, userData.id))
- .all();
+ .from(space)
+ .where(
+ and(eq(storedContent.user, userData.id), not(eq(space.name, "none"))),
+ );
+
+
+ // Fetch only first 3 content of each spaces
+ let contents: typeof storedContent.$inferSelect[] = []
+
+ await Promise.all([collectedSpaces.forEach(async (space) => {
+ contents = [...contents, ...(await fetchContentForSpace(space.id, {
+ offset: 0,
+ limit: 3
+ }))]
+ })])
- const collectedSpaces =
- contents.length > 0 ? await transformContent(contents) : [];
+ // freeMemories
+ const freeMemories = await fetchFreeMemories(userData.id)
- // collectedSpaces.push({
- // id: 2,
- // title: "Test",
- // content: [
- // {
- // id: 1,
- // content: "Test",
- // title: "Vscode",
- // description: "Test",
- // url: "https://vscode-remake.vercel.app/",
- // savedAt: new Date(),
- // baseUrl: "https://vscode-remake.vercel.app/",
- // image: "https://vscode-remake.vercel.app/favicon.svg",
- // },
- // ],
- // });
+ collectedSpaces.push({
+ id: 1,
+ name: "Cool tech",
+ user: null,
+ });
return (
- <MemoryProvider spaces={collectedSpaces} freeMemories={[]}>
+ <MemoryProvider spaces={collectedSpaces} freeMemories={freeMemories} cachedMemories={contents}>
<Content jwt={token} />
{/* <MessagePoster jwt={token} /> */}
</MemoryProvider>