class User { final String id; final String email; final String name; final String? avatarUrl; final String? phone; final DateTime? createdAt; User({ required this.id, required this.email, required this.name, this.avatarUrl, this.phone, this.createdAt, }); factory User.fromJson(Map json) { return User( id: json['id'] ?? '', email: json['email'] ?? '', name: json['name'] ?? '', avatarUrl: json['avatar_url'], phone: json['phone'], createdAt: json['created_at'] != null ? DateTime.parse(json['created_at']) : null, ); } Map toJson() { return { 'id': id, 'email': email, 'name': name, 'avatar_url': avatarUrl, 'phone': phone, 'created_at': createdAt?.toIso8601String(), }; } User copyWith({ String? id, String? email, String? name, String? avatarUrl, String? phone, DateTime? createdAt, }) { return User( id: id ?? this.id, email: email ?? this.email, name: name ?? this.name, avatarUrl: avatarUrl ?? this.avatarUrl, phone: phone ?? this.phone, createdAt: createdAt ?? this.createdAt, ); } }