diff --git a/lib/models/profesional.dart b/lib/models/profesional.dart index 7182b13..b9f880c 100644 --- a/lib/models/profesional.dart +++ b/lib/models/profesional.dart @@ -46,6 +46,28 @@ class Profesional { required this.paymentMethods, }); + static Profesional empty() => Profesional( + id: '', + identification: '', + rethusCode: '', + rethusValidated: false, + address: '', + aditionalAddress: '', + profession: '', + ratePreferences: false, + rate: '', + locationPreferences: LocationPreferences.office, + bannerPicture: '', + identificationPicture: '', + certificatePicture: '', + latitude: 0.0, + longitude: 0.0, + specializations: [], + specializationsPictures: [], + schedules: Schedules.empty, + paymentMethods: PaymentMethodEntity.empty, + ); + static Profesional fromDocument(Map doc) { // Backend returns schedules as array [{day_of_week, enabled, ...}]; convert to Schedules Schedules parsedSchedules = Schedules.empty; diff --git a/lib/ui/views/request_professional_view.dart b/lib/ui/views/request_professional_view.dart index 5def760..66d6c8e 100644 --- a/lib/ui/views/request_professional_view.dart +++ b/lib/ui/views/request_professional_view.dart @@ -3,6 +3,7 @@ import 'dart:typed_data'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:prosapp_web_app/models/pro_state.dart'; +import 'package:prosapp_web_app/models/profesional.dart'; import 'package:prosapp_web_app/providers/auth_provider.dart'; import 'package:prosapp_web_app/providers/professional_form_provider.dart'; import 'package:prosapp_web_app/providers/professional_provider.dart'; @@ -30,7 +31,10 @@ class _RequestProfessionalViewState extends State { .read() .getProfessional(auth.user!.id) .then((pro) => - context.read().setProfesional(pro)); + context.read().setProfesional(pro)) + .catchError((_) { + context.read().setProfesional(Profesional.empty()); + }); } @override