logout.tsx (550B)
1 import { AppState } from "#http/routes/_middleware.ts"; 2 import { Handlers } from "$fresh/src/server/types.ts"; 3 4 export const handler: Handlers<void, AppState<"/logout">> = { 5 async POST(_req, ctx) { 6 const { app, forms, formContext } = ctx.state; 7 if (formContext === null) { 8 return forms.redirect("/"); 9 } 10 const { back } = formContext; 11 if (forms.session) { 12 const { authSession } = app; 13 await authSession.execute({ sessionToken: forms.session.token }); 14 } 15 return forms.redirectWithoutSession(back); 16 }, 17 };