CockpitRemoteCommandResponse.fromJson constructor

CockpitRemoteCommandResponse.fromJson(
  1. Map<String, Object?> json
)

Decodes a CockpitRemoteCommandResponse from a JSON object.

Implementation

factory CockpitRemoteCommandResponse.fromJson(Map<String, Object?> json) {
  final resultJson = json['result'] as Map<Object?, Object?>;
  final payloadJson =
      json['artifactPayloads'] as List<Object?>? ?? const <Object?>[];
  final runtimeStepsJson =
      json['runtimeSteps'] as List<Object?>? ?? const <Object?>[];
  final downloadsJson =
      json['artifactDownloads'] as List<Object?>? ?? const <Object?>[];

  return CockpitRemoteCommandResponse(
    result: CockpitCommandResult.fromJson(
      Map<String, Object?>.from(resultJson),
    ),
    artifactPayloads: payloadJson
        .cast<Map<Object?, Object?>>()
        .map(
          (payload) => CockpitRemoteArtifactPayload.fromJson(
            Map<String, Object?>.from(payload),
          ),
        )
        .toList(growable: false),
    runtimeSteps: runtimeStepsJson
        .cast<Map<Object?, Object?>>()
        .map(
          (step) =>
              CockpitStepRecord.fromJson(Map<String, Object?>.from(step)),
        )
        .toList(growable: false),
    artifactDownloads: downloadsJson
        .cast<Map<Object?, Object?>>()
        .map(
          (download) => CockpitRemoteArtifactDownload.fromJson(
            Map<String, Object?>.from(download),
          ),
        )
        .toList(growable: false),
  );
}