All files / src/hooks/useAdditionalEmailVerification useAdditionalEmailVerification.ts

0% Statements 0/3
100% Branches 0/0
0% Functions 0/3
0% Lines 0/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43                                                                                     
/**
 * Additional-email verification (v2) hooks.
 *
 * React Query hooks for the public /verify-email landing page: GET-check the
 * token (no mutation) and POST-confirm it. Mirrors the useNewsletter
 * verify/unsubscribe pattern.
 */
 
import {
  useMutation,
  useQuery,
  type UseMutationResult,
  type UseQueryResult,
} from '@tanstack/react-query';
import * as userAccountApi from '@/services/api/userAccountApi';
import type {
  AdditionalEmailVerificationCheck,
  AdditionalEmailVerificationConfirm,
} from '@/services/api/userAccountApi';
 
/** GET-check the verification token (no mutation) — returns masked email + status. */
export function useCheckAdditionalEmailVerification(
  token: string | null
): UseQueryResult<AdditionalEmailVerificationCheck, Error> {
  return useQuery({
    queryKey: ['additional-email-verify', 'check', token],
    queryFn: () => userAccountApi.checkAdditionalEmailVerification(token!),
    enabled: !!token,
    retry: false,
  });
}
 
/** POST-confirm the verification token (mutates). */
export function useConfirmAdditionalEmailVerification(): UseMutationResult<
  AdditionalEmailVerificationConfirm,
  Error,
  string
> {
  return useMutation({
    mutationFn: userAccountApi.confirmAdditionalEmailVerification,
  });
}