import { useInject } from '@/lib/di/hooks/useInject'; import { AUTH_SERVICE_TOKEN } from '@/lib/di/tokens'; import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { ForgotPasswordDTO } from '@/lib/types/generated/ForgotPasswordDTO'; import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useForgotPassword( options?: Omit, 'mutationFn'> ) { const authService = useInject(AUTH_SERVICE_TOKEN); return useMutation<{ message: string; magicLink?: string }, ApiError, ForgotPasswordDTO>({ mutationFn: async (params) => { const result = await authService.forgotPassword(params); if (result.isErr()) { throw result.getError(); } return result.unwrap(); }, ...options, }); }