From ee678b26ff31f6757a94f8e571dbb5189e93ae19 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 2 Jul 2026 23:05:47 -0500 Subject: [PATCH] fix: professional profile fetch uses /me endpoint and re-fetches after save - Use GET /professionals/me (JWT-authenticated) instead of /professionals/{uid} to avoid silent failures when the user_id lookup fails - After save, re-fetch from server so fp.profesional reflects confirmed server state on the next page navigation Co-Authored-By: Claude Sonnet 4.6 --- lib/providers/professional_form_provider.dart | 6 ++++++ lib/providers/professional_provider.dart | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/providers/professional_form_provider.dart b/lib/providers/professional_form_provider.dart index 5d9603a..5e16db0 100644 --- a/lib/providers/professional_form_provider.dart +++ b/lib/providers/professional_form_provider.dart @@ -85,6 +85,12 @@ class ProfessionalFormProvider with ChangeNotifier { Future updateProfesionalProfileInfo(String userId) async { if (!_validProfileForm()) return false; await _api.patch('/professionals/me', profesional!.toDocument()); + // Re-fetch from server to confirm saved data is reflected in the form + try { + final data = await _api.get('/professionals/me'); + profesional = Profesional.fromDocument(data as Map); + notifyListeners(); + } catch (_) {} NotificationsService.showSnackbar('Información actualizada'); return true; } diff --git a/lib/providers/professional_provider.dart b/lib/providers/professional_provider.dart index d4ff707..5a29fbf 100644 --- a/lib/providers/professional_provider.dart +++ b/lib/providers/professional_provider.dart @@ -14,9 +14,10 @@ class ProfessionalProvider extends ChangeNotifier { Future getProfessional(String uid) async { try { - final data = await _api.get('/professionals/$uid'); + final data = await _api.get('/professionals/me'); profesional = Profesional.fromDocument(data as Map); - } catch (e) { + } catch (_) { + // Professional profile doesn't exist yet — return empty so the form shows blank profesional = Profesional( id: uid, identification: '',