class User { final String id; final String username; final String? avatar; final String? bio; final String? publicKey; final DateTime createdAt; User({ required this.id, required this.username, this.avatar, this.bio, this.publicKey, DateTime? createdAt, }) : createdAt = createdAt ?? DateTime.now(); factory User.fromJson(Map json) { return User( id: json['id'] as String, username: json['username'] as String, avatar: json['avatar'] as String?, bio: json['bio'] as String?, publicKey: json['public_key'] as String?, createdAt: json['created_at'] != null ? DateTime.parse(json['created_at'] as String) : DateTime.now(), ); } Map toJson() => { 'id': id, 'username': username, 'avatar': avatar, 'bio': bio, 'public_key': publicKey, 'created_at': createdAt.toIso8601String(), }; }