From 431bcedd8431f80563bb23473eab61abc03829f5 Mon Sep 17 00:00:00 2001 From: Jganenokk Date: Tue, 7 Jul 2026 00:09:00 +0700 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=84=D0=B8=D0=BA=D1=81=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BA=D0=B8=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B6=D0=B4?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20profile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/backend/modules/account.dart | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/backend/modules/account.dart b/lib/backend/modules/account.dart index 87de815..0f3724b 100644 --- a/lib/backend/modules/account.dart +++ b/lib/backend/modules/account.dart @@ -177,15 +177,12 @@ class AccountModule { final result = VerifyCodeResult(payload: data.cast()); final sessionToken = result.loginToken ?? result.registerToken; - final accountId = result.accountId; + final verifiedProfile = _profileFromVerifyPayload(result.payload); + final accountId = result.accountId ?? verifiedProfile?.id; if (sessionToken != null && accountId != null) { - final profileMap = data['profile']; - if (profileMap is Map) { - final profile = ProfileData.fromServerProfile( - profileMap.cast(), - ); - await AppDatabase.saveProfile(profile, isActive: true); + if (result.loginToken != null && verifiedProfile != null) { + await AppDatabase.saveProfile(verifiedProfile, isActive: true); } await TokenStorage.saveToken(sessionToken, accountId); await TokenStorage.setActiveAccount(accountId); @@ -195,6 +192,12 @@ class AccountModule { return result; } + ProfileData? _profileFromVerifyPayload(Map payload) { + final profileMap = payload['profile']; + if (profileMap is! Map) return null; + return ProfileData.fromServerProfile(profileMap.cast()); + } + Future completeRegistration({ required String token, required String firstName,