import type { RequestHandler } from "./$types" import { error, json } from "@sveltejs/kit" import UserMgmt from "$lib/server/usermgmt" import { RefreshResponseCause } from "$lib/errors" export const POST: RequestHandler = async ({ request }) => { const data = await request.json() const token = data["token"] if (!token || typeof token !== "string") { return error(400, { cause: RefreshResponseCause.MalformedRequest, message: "token must be provided as string." }) } const new_session = await UserMgmt.refresh_session(token) if (!new_session) { return error(401, { cause: RefreshResponseCause.InvalidSession, message: "No session for token" }) } return json({ token: new_session.token, expires: new_session.expires }) }