new db actions

This commit is contained in:
yxshv 2024-04-11 17:11:09 +05:30
parent 539f50367d
commit ec0b048365
3 changed files with 47 additions and 13 deletions

View file

@ -1 +0,0 @@
wrangler.toml

View file

@ -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()

View file

@ -77,7 +77,7 @@ export default async function Home() {
// });
return (
<MemoryProvider spaces={collectedSpaces}>
<MemoryProvider spaces={collectedSpaces} freeMemories={[]}>
<Content jwt={token} />
{/* <MessagePoster jwt={token} /> */}
</MemoryProvider>