import { fail, redirect } from '@sveltejs/kit'; import { PUBLIC_BASE_API_URL } from '$env/static/public'; export async function load({ cookies }) { return { accessToken: cookies.get('accessToken') }; } export const actions = { default: async ({ cookies, request, getClientAddress }) => { const data = await request.formData(); const username = data.get('username'); const password = data.get('password'); const response = await fetch(`${PUBLIC_BASE_API_URL}/auth/login`, { body: JSON.stringify({ username, password }), headers: { 'Content-Type': 'application/json', 'x-forwarded-for': getClientAddress(), 'x-real-ip': getClientAddress() }, method: 'POST' }); const responseData = await response.json(); if (responseData.statusCode) { return fail(400, { message: responseData.message }); } cookies.set('accessToken', responseData.token.accessToken, { path: '/' }); cookies.set('role', responseData.user.role, { path: '/' }); throw redirect(300, '/app'); } };