import 'package:cloud_firestore/cloud_firestore.dart'; import '../constants.dart'; import 'language.dart'; import 'location.dart'; class UserProfile { final String id; final String uid; final String email; final String name; final String firstName; final String lastName; final String risk; final List skills; final List skillsSought; final List languages; final Map locations; UserProfile({ required this.id, required this.uid, required this.email, required this.name, required this.firstName, required this.lastName, required this.risk, required this.skills, required this.skillsSought, required this.languages, required this.locations, }); factory UserProfile.fromDocument(DocumentSnapshot doc) { Map data = doc.data() as Map; return UserProfile( id: doc.id, email: data[Constants.dbFieldUsersEmail] ?? '', name: data[Constants.dbFieldUsersName] ?? '', firstName: data[Constants.dbFieldUsersFirstName] ?? '', lastName: data[Constants.dbFieldUsersLastName] ?? '', uid: data[Constants.dbFieldUsersID] ?? '', skills: List.from(data[Constants.dbFieldUsersSkills] ?? []), skillsSought: List.from(data[Constants.dbFieldUsersSkillsSought] ?? []), risk: data[Constants.dbFieldUsersRiskTolerance] ?? '', languages: [], locations: {}, ); } }