20 lines
501 B
TypeScript
20 lines
501 B
TypeScript
import { randomUUID } from "crypto";
|
|
import { sessions } from "@/lib/schema";
|
|
|
|
const sessionId = randomUUID();
|
|
const expiresAt = new Date(Date.now() + 1000 * 60 * 60 * 24 * 14); // 14 days
|
|
|
|
await db.insert(sessions).values({
|
|
id: sessionId,
|
|
userId: loginToken.userId,
|
|
expiresAt,
|
|
});
|
|
|
|
const cookieStore = await cookies();
|
|
cookieStore.set("session", sessionId, {
|
|
httpOnly: true,
|
|
sameSite: "strict",
|
|
secure: process.env.NODE_ENV === "production",
|
|
path: "/",
|
|
maxAge: 60 * 60 * 24 * 14,
|
|
});
|