Files
prosappco/lib/src/models/user_model.dart
T
2023-05-10 08:43:40 -05:00

47 lines
1.3 KiB
Dart

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:prosappco/src/screens/professional.dart';
class UserModel {
final String name;
final String city;
final String? profession;
final String? state;
final Reference? photo;
final int? tarifa;
UserModel(this.name, this.city, this.profession, this.state, this.photo,
this.tarifa);
static Future<UserModel> fromJson(
Map<String, dynamic>? json, String uid) async {
try {
if (json == null) return UserModel('', '', '', null, null, 0);
String? avatar = json['photo'];
return UserModel(
json['name'],
json['city'],
json['profesion'],
json['estado'],
avatar != null ? storage.ref().child(avatar) : null,
json['tarifa'] ?? 0);
} catch (e) {
print('XD user $e');
return UserModel('', '', '', null, null, 0);
}
}
static Future<UserModel> getUser(String uid) async {
try {
final snapshot =
await FirebaseFirestore.instance.collection('users').doc(uid).get();
final Map<String, dynamic>? data = snapshot.data();
return fromJson(data, uid);
} catch (e) {
print('Error getting user: $e');
return UserModel('', '', '', null, null, 0);
}
}
}