PdfValidationWithProfilesResult.fromJson constructor

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

Implementation

factory PdfValidationWithProfilesResult.fromJson(Map<String, dynamic> json) {
  final trust = (json['trustResolutionBySignature'] as List<dynamic>? ??
          const <dynamic>[])
      .whereType<Map>()
      .map((e) => PdfTrustResolutionBySignature.fromJson(
          e.map((k, v) => MapEntry(k.toString(), v))))
      .toList(growable: false);

  final rev =
      (json['revocationEvidence'] as List<dynamic>? ?? const <dynamic>[])
          .whereType<Map>()
          .map((e) => PdfRevocationEvidence.fromJson(
              e.map((k, v) => MapEntry(k.toString(), v))))
          .toList(growable: false);

  final policy =
      (json['policyResolver'] as List<dynamic>? ?? const <dynamic>[])
          .whereType<Map>()
          .map((e) => PdfPolicyResolution.fromJson(
              e.map((k, v) => MapEntry(k.toString(), v))))
          .toList(growable: false);

  final docMdpRaw = json['docMdpEvaluation'];
  final docMdp = docMdpRaw is Map
      ? PdfDocMdpEvaluation.fromJson(
          docMdpRaw.map((k, v) => MapEntry(k.toString(), v)),
        )
      : const PdfDocMdpEvaluation(
          canAppendSignature: false,
          code: PdfDocMdpDecisionCode.unknown,
          reason: 'DocMDP ausente no cache.',
        );

  return PdfValidationWithProfilesResult(
    report: _decodeValidationReport(json['report']),
    trustResolutionBySignature: trust,
    revocationEvidence: rev,
    policyResolver: policy,
    docMdpEvaluation: docMdp,
  );
}