class Profile { Profile({ required this.id, required this.role, required this.fullName, this.religion = 'catholic', this.allowTracking = false, this.avatarUrl, this.facePhotoUrl, this.faceEnrolledAt, }); final String id; final String role; final String fullName; final String religion; final bool allowTracking; final String? avatarUrl; final String? facePhotoUrl; final DateTime? faceEnrolledAt; bool get hasFaceEnrolled => facePhotoUrl != null && faceEnrolledAt != null; factory Profile.fromMap(Map map) { return Profile( id: map['id'] as String, role: map['role'] as String? ?? 'standard', fullName: map['full_name'] as String? ?? '', religion: map['religion'] as String? ?? 'catholic', allowTracking: map['allow_tracking'] as bool? ?? false, avatarUrl: map['avatar_url'] as String?, facePhotoUrl: map['face_photo_url'] as String?, faceEnrolledAt: map['face_enrolled_at'] == null ? null : DateTime.tryParse(map['face_enrolled_at'] as String), ); } }