import { API_BASE_URI } from './apiBaseUrl'; import { type CaptchaResponse } from './createCaptcha'; import type { ResponseStatus } from './handlers/verifiedFormHandler'; import { LeadServiceFetch } from './LeadServiceAPI'; import { type PhoneOnly } from './sendCode'; export type CheckCaptcha = PhoneOnly & Pick & { captchaAnswer?: string; }; type CaptchaErrorCode = 'CAPTCHA_INVALID' | 'CAPTCHA_EXPIRED' | 'CAPTCHA_NOT_FOUND'; export type CheckCaptchaResponse = ResponseStatus & { captchaToken?: string; errorCode?: CaptchaErrorCode; }; export const CAPTCHA_ERROR_TEXT: Record = { CAPTCHA_INVALID: 'Неверный код', CAPTCHA_EXPIRED: 'Код устарел, обновите картинку', CAPTCHA_NOT_FOUND: 'Код не найден, обновите картинку', }; const CHECK_CAPTCHA_URL = 'checkCaptcha'; export const checkCaptcha = async ( submitBody: CheckCaptcha, ): Promise => { try { const response = await LeadServiceFetch(`${API_BASE_URI}/${CHECK_CAPTCHA_URL}`, submitBody); if (!response?.status) { return null; } return response.json(); } catch (e) { return null; } };