fix: keep promo onboarding server-authoritative
This commit is contained in:
parent
e6fff9e58d
commit
77485cafca
@ -42,7 +42,7 @@
|
||||
try{
|
||||
await validatePromo(c,email,promoCode);savePendingRegistration(email,promoCode);setError(gate,'Создаю аккаунт…');
|
||||
const existing=await c.auth.signInWithPassword({email,password});if(!existing.error&&existing.data?.session){location.reload();return;}
|
||||
const result=await c.auth.signUp({email,password,options:{emailRedirectTo:redirectUrl(),data:{promo_code:promoCode,registration_source:'caterium_public_signup'}}});if(result.error)throw result.error;
|
||||
const result=await c.auth.signUp({email,password,options:{emailRedirectTo:redirectUrl(),data:{promo_code:promoCode}}});if(result.error)throw result.error;
|
||||
if(result.data?.session){await signOutUnsafeSession(c);throw new Error('Подтверждение email не включено на сервере. Регистрация остановлена.');}
|
||||
showPublicConfirmation(gate,email);
|
||||
}catch(error){clearPendingRegistration();setError(gate,friendlySignupError(error));if(button)button.disabled=false;}finally{busy=false;}
|
||||
@ -62,7 +62,7 @@
|
||||
const session=api.getSession?.();const email=String(session?.user?.email||'').trim().toLowerCase();if(!email||email!==String(pending.email||'').toLowerCase())return false;
|
||||
busy=true;setError(gate,'Подключаю рабочую базу…');
|
||||
try{
|
||||
const user=session.user;const metadata={...(user.user_metadata||{}),promo_code:pending.promoCode,registration_source:'caterium_public_signup'};
|
||||
const user=session.user;const metadata={...(user.user_metadata||{}),promo_code:pending.promoCode};
|
||||
const updated=await c.auth.updateUser({data:metadata});if(updated.error)throw updated.error;
|
||||
const created=await c.rpc('sun_create_workspace',{p_name:'Новая компания'});if(created.error)throw created.error;
|
||||
clearPendingRegistration();await api.reloadMemberships?.();location.reload();return true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user