Add cookie function
This commit is contained in:
parent
1f0b18d496
commit
0f3dada6cc
3 changed files with 21 additions and 23 deletions
10
src/api/cookies.ts
Normal file
10
src/api/cookies.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import { cookies } from "next/headers";
|
||||
|
||||
export function authCookieHeader() {
|
||||
const sessionId = cookies().get("session")?.value ?? null;
|
||||
return {
|
||||
headers: {
|
||||
Cookie: `session=${sessionId}`
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,9 +5,10 @@ import { Separator } from "@/components/ui/separator"
|
|||
import { SidebarNav } from "@/components/sidebar-nav"
|
||||
import SiteProvider from "@app/providers/SiteProvider"
|
||||
import { internal } from "@app/api"
|
||||
import { cookies } from "next/headers"
|
||||
import { GetSiteResponse } from "@server/routers/site"
|
||||
import { AxiosResponse } from "axios"
|
||||
import { redirect } from "next/navigation"
|
||||
import { authCookieHeader } from "@app/api/cookies"
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Forms",
|
||||
|
@ -42,17 +43,10 @@ export default async function SettingsLayout({ children, params }: SettingsLayou
|
|||
let site = null;
|
||||
if (params.siteId !== "create") {
|
||||
try {
|
||||
const sessionId = cookies().get("session")?.value ?? null;
|
||||
const res = await internal
|
||||
.get<AxiosResponse<GetSiteResponse>>(`/site/${params.siteId}`, {
|
||||
headers: {
|
||||
Cookie: `session=${sessionId}`,
|
||||
},
|
||||
});
|
||||
|
||||
const res = await internal.get<AxiosResponse<GetSiteResponse>>(`/site/${params.siteId}`, authCookieHeader());
|
||||
site = res.data.data;
|
||||
} catch {
|
||||
return null;
|
||||
redirect(`/${params.orgId}/sites`)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,7 +72,7 @@ export default async function SettingsLayout({ children, params }: SettingsLayou
|
|||
<div className="space-y-0.5">
|
||||
<h2 className="text-2xl font-bold tracking-tight">Settings</h2>
|
||||
<p className="text-muted-foreground">
|
||||
{ params.siteId == "create" ? "Create site..." : "Manage settings on " + site?.name || ""}.
|
||||
{params.siteId == "create" ? "Create site..." : "Manage settings on " + site?.name || ""}.
|
||||
</p>
|
||||
</div>
|
||||
<Separator className="my-6" />
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { internal } from "@app/api";
|
||||
import { authCookieHeader } from "@app/api/cookies";
|
||||
import { GetUserResponse } from "@server/routers/user";
|
||||
import { AxiosResponse } from "axios";
|
||||
import { cookies } from "next/headers";
|
||||
|
@ -7,14 +8,7 @@ export async function verifySession(): Promise<GetUserResponse | null> {
|
|||
const sessionId = cookies().get("session")?.value ?? null;
|
||||
|
||||
try {
|
||||
const res = await internal.get<AxiosResponse<GetUserResponse>>(
|
||||
"/user",
|
||||
{
|
||||
headers: {
|
||||
Cookie: `session=${sessionId}`,
|
||||
},
|
||||
},
|
||||
);
|
||||
const res = await internal.get<AxiosResponse<GetUserResponse>>("/user", authCookieHeader());
|
||||
|
||||
return res.data.data;
|
||||
} catch {
|
||||
|
|
Loading…
Add table
Reference in a new issue