28 lines
959 B
JavaScript
28 lines
959 B
JavaScript
import { COOKIE_NAME } from "$lib/constants";
|
|
import { getUserFromSession } from "$lib/database";
|
|
|
|
/** @type {import('@sveltejs/kit').Handle} */
|
|
export async function handle({ event, resolve }) {
|
|
if (event.url.pathname !== "/maintenance" && process.env.MAINTENANCE) {
|
|
return new Response("", { status: 302, headers: { Location: "/maintenance" } });
|
|
}
|
|
|
|
const cookie = event.cookies.get(COOKIE_NAME);
|
|
if (!cookie) return await resolve(event);
|
|
|
|
let user = await getUserFromSession(cookie, event.getClientAddress());
|
|
if (!user) event.cookies.delete(COOKIE_NAME, { secure: !!process.env.PRODUCTION });
|
|
else
|
|
event.locals.user = {
|
|
_id: user._id,
|
|
username: user.username,
|
|
currency: user.currency,
|
|
thumbnails: {
|
|
headshot: "https://cdn.discordapp.com/attachments/1025862249962819684/1028788210303766558/2022.10-887.png",
|
|
bodyshot: "https://media.tenor.com/Lo0GvkoTFR4AAAAd/xbox-xbox-avatar.gif"
|
|
}
|
|
};
|
|
|
|
return await resolve(event);
|
|
}
|