mirror of
https://github.com/kmc7468/arkvault.git
synced 2025-12-16 06:58:46 +00:00
28 lines
856 B
TypeScript
28 lines
856 B
TypeScript
import { redirect, type ServerInit, type Handle } from "@sveltejs/kit";
|
|
import schedule from "node-schedule";
|
|
import { cleanupExpiredUserClientChallenges } from "$lib/server/db/client";
|
|
import { cleanupExpiredRefreshTokens } from "$lib/server/db/token";
|
|
|
|
export const init: ServerInit = () => {
|
|
schedule.scheduleJob("0 * * * *", () => {
|
|
cleanupExpiredUserClientChallenges();
|
|
cleanupExpiredRefreshTokens();
|
|
});
|
|
};
|
|
|
|
export const handle: Handle = async ({ event, resolve }) => {
|
|
if (["/api", "/auth"].some((path) => event.url.pathname.startsWith(path))) {
|
|
return await resolve(event);
|
|
}
|
|
|
|
const accessToken = event.cookies.get("accessToken");
|
|
if (accessToken) {
|
|
return await resolve(event);
|
|
} else {
|
|
redirect(
|
|
302,
|
|
"/auth/login?redirect=" + encodeURIComponent(event.url.pathname + event.url.search),
|
|
);
|
|
}
|
|
};
|