UserModel.fromJson constructor

UserModel.fromJson(
  1. Map<String, dynamic> json
)

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,
  );
}