diff --git a/public/core/account-security-v1774.js b/public/core/account-security-v1774.js index 489089e..5869f60 100644 --- a/public/core/account-security-v1774.js +++ b/public/core/account-security-v1774.js @@ -38,11 +38,22 @@ location.reload(); } + async function edgeErrorMessage(result){ + let message=String(result?.data?.error||''); + const context=result?.error?.context; + if(!message&&context&&typeof context.clone==='function'){ + try{ + const payload=await context.clone().json(); + message=String(payload?.error||payload?.message||''); + }catch(_){} + } + return message||String(result?.error?.message||'')||'Не удалось изменить пароль.'; + } + async function changePassword(currentPassword,newPassword){ const c=client();if(!c)throw new Error('Сессия пользователя недоступна.'); const result=await c.functions.invoke('caterium-change-password',{body:{current_password:currentPassword,new_password:newPassword}}); - const message=result.data?.error||result.error?.message; - if(result.error||result.data?.error)throw new Error(message||'Не удалось изменить пароль.'); + if(result.error||result.data?.error)throw new Error(await edgeErrorMessage(result)); if(result.data?.status!=='changed')throw new Error('Сервер не подтвердил смену пароля.'); return result.data; }