// 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 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 toMap() { return { 'uid': uid, 'email': email, 'username': username, // O Firestore automaticamente converte DateTime para Timestamp 'createdAt': createdAt, }; } }