28 lines
659 B
TypeScript
28 lines
659 B
TypeScript
import { redirect, type RequestEvent } from '@sveltejs/kit';
|
|
|
|
|
|
export const authenticateUser = (event: RequestEvent) => {
|
|
const {cookies} = event;
|
|
const userCookie = cookies.get('user');
|
|
if (!userCookie) {
|
|
return null
|
|
}
|
|
|
|
const decodedCookie = decodeURIComponent(userCookie);
|
|
const parsedCookie = JSON.parse(decodedCookie);
|
|
|
|
if (!parsedCookie) {
|
|
return null
|
|
}
|
|
return parsedCookie
|
|
}
|
|
|
|
export const logoutUser = (event: RequestEvent) => {
|
|
const {cookies} = event;
|
|
cookies.delete('user', {
|
|
path: '/',
|
|
sameSite: 'strict',
|
|
secure: false,
|
|
});
|
|
throw redirect(302, '/login');
|
|
} |