kz_educa/lib/models/user_profile.dart

40 lines
1.2 KiB
Dart
Executable File

// lib/models/user_profile.dart
import 'package:cloud_firestore/cloud_firestore.dart'; // Import necessário para Timestamp
class UserProfile {
final String uid;
final String email;
final String username;
final DateTime createdAt; // Pode adicionar mais campos conforme necessário
UserProfile({
required this.uid,
required this.email,
required this.username,
required this.createdAt,
});
// Converte um documento do Firestore (Map) para um objeto UserProfile
// Este método é usado quando você LÊ dados do Firestore.
factory UserProfile.fromFirestore(Map<String, dynamic> map) {
return UserProfile(
uid: map['uid'] as String,
email: map['email'] as String,
username: map['username'] as String,
// Converte Timestamp do Firestore para DateTime do Dart
createdAt: (map['createdAt'] as Timestamp).toDate(),
);
}
// Converte um objeto UserProfile para um Map (útil para escrever no Firestore)
// Este método é usado quando você GRAVA dados no Firestore.
Map<String, dynamic> toMap() {
return {
'uid': uid,
'email': email,
'username': username,
// O Firestore automaticamente converte DateTime para Timestamp
'createdAt': createdAt,
};
}
}