penisularhr-ui / src / routes / app / user / reset-password / +page.server.ts
+page.server.ts
Raw
/* eslint-disable @typescript-eslint/no-explicit-any */
import { PUBLIC_BASE_API_URL } from '$env/static/public';
import { fail } from '@sveltejs/kit';

export async function load({ cookies }) {
	return {
		accessToken: cookies.get('accessToken')
	};
}

export const actions = {
	reset: async ({ cookies, request, getClientAddress }) => {
		const data = await request.formData();
		const oldPassword = data.get('oldPassword');
		const newPassword = data.get('newPassword');

		const reqBody = JSON.stringify({
			oldPassword,
			newPassword
		});

		const response = await fetch(`${PUBLIC_BASE_API_URL}/auth/reset-password`, {
			body: reqBody,
			headers: {
				'Content-Type': 'application/json',
				Authorization: `Bearer ${cookies.get('accessToken')}`,
				'x-forwarded-for': getClientAddress(),
				'x-real-ip': getClientAddress()
			},
			method: 'PATCH'
		});

		const responseData = await response.json();

		if (responseData.statusCode) {
			return fail(responseData.statusCode, { message: responseData.message });
		}

		return {
			success: true
		};
	}
};