UserCertificateModel.fromJson constructor

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

Implementation

factory UserCertificateModel.fromJson(Map<String, dynamic> json) {
  final certData = json['certifications'];
  String? certName;
  if (certData is Map<String, dynamic>) {
    certName = certData['name'] as String?;
  }

  final profileData = json['profiles'];
  String? label;
  if (profileData is Map<String, dynamic>) {
    label =
        (profileData['display_name'] as String?) ??
        (profileData['username'] as String?) ??
        (profileData['email'] as String?);
  }

  return UserCertificateModel(
    id: json['id'] as String,
    certificationId: json['certification_id'] as String,
    certificationName: certName,
    userId: json['user_id'] as String,
    userLabel: label,
    issuedAt: DateTime.parse(json['issued_at'] as String),
    expiresAt: json['expires_at'] != null
        ? DateTime.parse(json['expires_at'] as String)
        : null,
    status: json['status'] as String? ?? 'active',
    evidence: (json['evidence'] as Map<String, dynamic>?) ?? const {},
  );
}