handle errors
This commit is contained in:
parent
dfef859ede
commit
a41ad5fb6e
1 changed files with 40 additions and 37 deletions
|
|
@ -1,46 +1,49 @@
|
|||
import { createServerFn } from "@tanstack/react-start";
|
||||
|
||||
export interface AuthSession {
|
||||
user: {
|
||||
id: string;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
email: string;
|
||||
emailVerified: boolean;
|
||||
name: string;
|
||||
image?: string | null | undefined;
|
||||
};
|
||||
session: {
|
||||
id: string;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
userId: string;
|
||||
expiresAt: Date;
|
||||
token: string;
|
||||
ipAddress?: string | null | undefined;
|
||||
userAgent?: string | null | undefined;
|
||||
};
|
||||
user: {
|
||||
id: string;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
email: string;
|
||||
emailVerified: boolean;
|
||||
name: string;
|
||||
image?: string | null | undefined;
|
||||
};
|
||||
session: {
|
||||
id: string;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
userId: string;
|
||||
expiresAt: Date;
|
||||
token: string;
|
||||
ipAddress?: string | null | undefined;
|
||||
userAgent?: string | null | undefined;
|
||||
};
|
||||
}
|
||||
|
||||
export const getSession = createServerFn({ method: "GET" }).handler(
|
||||
async (): Promise<AuthSession | null> => {
|
||||
const { getRequestHeaders } = await import("@tanstack/react-start/server");
|
||||
const headers = getRequestHeaders();
|
||||
const resolvedBaseUrl =
|
||||
process.env.VITE_BETTER_AUTH_URL ??
|
||||
import.meta.env.VITE_BETTER_AUTH_URL ??
|
||||
headers.get("origin") ??
|
||||
"http://127.0.0.1:3000";
|
||||
const response = await fetch(
|
||||
new URL("/api/auth/get-session", resolvedBaseUrl),
|
||||
{ headers },
|
||||
);
|
||||
async (): Promise<AuthSession | null> => {
|
||||
const { getRequestHeaders } = await import("@tanstack/react-start/server");
|
||||
const headers = getRequestHeaders();
|
||||
const resolvedBaseUrl =
|
||||
process.env.VITE_BETTER_AUTH_URL ??
|
||||
import.meta.env.VITE_BETTER_AUTH_URL ??
|
||||
headers.get("origin") ??
|
||||
"http://localhost:3000";
|
||||
const response = await fetch(
|
||||
new URL("/api/auth/get-session", resolvedBaseUrl),
|
||||
{ headers },
|
||||
).catch((e) => {
|
||||
console.error(e);
|
||||
return { ok: false } as const;
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
return null;
|
||||
}
|
||||
if (!response.ok) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const data = (await response.json()) as AuthSession | null;
|
||||
return data ?? null;
|
||||
},
|
||||
const data = (await response.json()) as AuthSession | null;
|
||||
return data ?? null;
|
||||
},
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue