UserModel.fromJson constructor
Creates a UserModel from a JSON response, usually from the auth API.
Implementation
factory UserModel.fromJson(Map<String, dynamic> json) {
// Handle both direct user object and nested under 'data'
final userData = json['data'] ?? json;
return UserModel(
id: json['_id'] as String?,
email: userData['email'] as String?,
token: json['token'] as String?,
data: userData is Map<String, dynamic> ? Map<String, dynamic>.from(userData) : null,
roles: (json['roles'] as List<dynamic>?)?.map((e) => e.toString()).toList(),
created: json['created'] != null ? DateTime.tryParse(json['created']) : null,
modified: json['modified'] != null ? DateTime.tryParse(json['modified']) : null,
);
}