"use server"; import { cookies } from "next/headers"; import { redirect } from "next/navigation"; import { createUser, loginUser } from "../api/helpers/users"; import { Token } from "../api/types"; export async function login(formData: FormData) { "use server"; const token = await loginUser(formData); await createSession(token); redirect("/Admin/Overview"); } export async function signup(formData: FormData) { // Technically same code as login for now but will do different stuff with it later so separating it early on "use server"; const token = await createUser(formData); await createSession(token); redirect("/Admin/Overview"); } export async function createSession(token: Token) { const access_token = token.access_token; const cookieStore = await cookies(); cookieStore.set("access_token", access_token, { httpOnly: true, secure: process.env.NODE_ENV === "production", sameSite: "lax", path: "/", }); } export async function getSessionToken() { const cookieStore = await cookies(); console.log(cookieStore.getAll()); const token = cookieStore.get("access_token")?.value; return token ? token : null; }