2024-03-01 01:11:07 +00:00
|
|
|
import { fail } from '@sveltejs/kit';
|
|
|
|
|
import { redirect } from 'sveltekit-flash-message/server';
|
2024-03-11 06:19:55 +00:00
|
|
|
import { lucia } from '$lib/server/auth';
|
2024-07-13 00:44:45 +00:00
|
|
|
import { signedOutMessage } from '$lib/flashMessages';
|
2024-03-11 06:19:55 +00:00
|
|
|
import type { Actions } from "./$types";
|
2023-05-21 05:18:04 +00:00
|
|
|
|
2023-11-05 06:20:34 +00:00
|
|
|
export const actions: Actions = {
|
2024-03-01 01:11:07 +00:00
|
|
|
default: async (event) => {
|
|
|
|
|
const { locals, cookies } = event;
|
2023-08-04 23:40:22 +00:00
|
|
|
console.log('Signing out user');
|
2024-01-19 00:57:15 +00:00
|
|
|
if (!locals.session) {
|
|
|
|
|
return fail(401);
|
2023-05-21 05:18:04 +00:00
|
|
|
}
|
2024-01-19 00:57:15 +00:00
|
|
|
await lucia.invalidateSession(locals.session.id);
|
|
|
|
|
const sessionCookie = lucia.createBlankSessionCookie();
|
|
|
|
|
cookies.set(sessionCookie.name, sessionCookie.value, {
|
|
|
|
|
path: '.',
|
|
|
|
|
...sessionCookie.attributes
|
|
|
|
|
});
|
2024-07-13 00:44:45 +00:00
|
|
|
return redirect(302, '/login', signedOutMessage, event);
|
2023-05-21 05:18:04 +00:00
|
|
|
}
|
|
|
|
|
};
|