mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-05-12 14:10:55 +00:00
new db actions
This commit is contained in:
parent
539f50367d
commit
ec0b048365
3 changed files with 47 additions and 13 deletions
1
apps/web/src/.gitignore
vendored
1
apps/web/src/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
wrangler.toml
|
||||
|
|
@ -1,21 +1,55 @@
|
|||
"use server";
|
||||
import { cookies, headers } from "next/headers";
|
||||
import { db } from "@/server/db";
|
||||
import {
|
||||
contentToSpace,
|
||||
sessions,
|
||||
StoredContent,
|
||||
storedContent,
|
||||
users,
|
||||
} from "@/server/db/schema";
|
||||
import { like, eq, and } from "drizzle-orm";
|
||||
import { auth as authOptions } from "@/server/auth";
|
||||
import { getSession } from "next-auth/react";
|
||||
|
||||
|
||||
async function getUser() {
|
||||
const token =
|
||||
cookies().get("next-auth.session-token")?.value ??
|
||||
cookies().get("__Secure-authjs.session-token")?.value ??
|
||||
cookies().get("authjs.session-token")?.value ??
|
||||
headers().get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
if (!token) {
|
||||
return null
|
||||
}
|
||||
|
||||
const session = await db
|
||||
.select()
|
||||
.from(sessions)
|
||||
.where(eq(sessions.sessionToken, token!));
|
||||
|
||||
if (!session || session.length === 0) {
|
||||
return null
|
||||
}
|
||||
|
||||
const [userData] = await db
|
||||
.select()
|
||||
.from(users)
|
||||
.where(eq(users.id, session[0].userId))
|
||||
.limit(1);
|
||||
|
||||
if (!userData) {
|
||||
return null
|
||||
}
|
||||
|
||||
return userData
|
||||
}
|
||||
|
||||
export async function getMemory(title: string) {
|
||||
const session = await getSession();
|
||||
const user = await getUser();
|
||||
|
||||
console.log(session?.user?.name);
|
||||
|
||||
if (!session || !session.user) {
|
||||
return null;
|
||||
if (!user) {
|
||||
return null
|
||||
}
|
||||
|
||||
return await db
|
||||
|
|
@ -23,7 +57,7 @@ export async function getMemory(title: string) {
|
|||
.from(storedContent)
|
||||
.where(
|
||||
and(
|
||||
eq(storedContent.user, session.user.id!),
|
||||
eq(storedContent.user, user.id),
|
||||
like(storedContent.title, `%${title}%`),
|
||||
),
|
||||
);
|
||||
|
|
@ -33,12 +67,13 @@ export async function addMemory(
|
|||
content: typeof storedContent.$inferInsert,
|
||||
spaces: number[],
|
||||
) {
|
||||
const session = await getSession();
|
||||
|
||||
const user = await getUser();
|
||||
|
||||
if (!session || !session.user) {
|
||||
return null;
|
||||
if (!user) {
|
||||
return null
|
||||
}
|
||||
content.user = session.user.id;
|
||||
content.user = user.id;
|
||||
|
||||
const _content = (
|
||||
await db.insert(storedContent).values(content).returning()
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ export default async function Home() {
|
|||
// });
|
||||
|
||||
return (
|
||||
<MemoryProvider spaces={collectedSpaces}>
|
||||
<MemoryProvider spaces={collectedSpaces} freeMemories={[]}>
|
||||
<Content jwt={token} />
|
||||
{/* <MessagePoster jwt={token} /> */}
|
||||
</MemoryProvider>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue