import { ClientIds } from 'config/clients/types' import { getApiUrl } from '../config/routes' const errorLexics = { 4: 'error_user_not_found_recovery', 8: 'error_failed_to_send_email', } type FailedResponse = { error: { code: keyof typeof errorLexics, message?: string, }, ok: false, } type SuccessResponse = { ok: true, } export const loginCheckChangePass = async ( client_id: ClientIds, email: string, lang: string, ) => { const url = getApiUrl('/change_password') const init: RequestInit = { body: new URLSearchParams({ client_id, email, lang, }), method: 'POST', } const response = await fetch(url, init) const body: SuccessResponse | FailedResponse = await response.json() if (body.ok) return Promise.resolve() return Promise.reject(errorLexics[body.error.code]) }