toMetadataJson method

Map<String, Object?> toMetadataJson({
  1. bool includePayload = false,
})

Implementation

Map<String, Object?> toMetadataJson({bool includePayload = false}) {
  return {
    'success': success,
    'status': status.name,
    'statusText': statusText,
    'completed': completed,
    'preflightBlocked': preflightBlocked,
    'cancelled': isCancelled,
    'failed': isFailed,
    'completedWithIssues': isCompletedWithIssues,
    'hasOutput': hasOutput,
    'outputCount': outputCount,
    'outputFilenames': outputFilenames,
    'hasIssues': hasIssues,
    'issueCount': issueCount,
    'totalSizeBytes': totalSizeBytes,
    if (timing != null) 'timing': timing!.toMetadataJson(),
    if (cancellationReason != null) 'cancellationReason': cancellationReason,
    if (events.isNotEmpty)
      'events': [for (final event in events) event.toMetadataJson()],
    if (primaryIssue != null) 'primaryIssue': primaryIssue,
    if (issueMessages.isNotEmpty) 'issues': issueMessages,
    if (warnings.isNotEmpty) 'warnings': warnings,
    if (plan != null) 'plan': plan!.toMetadataJson(),
    'exportBatch': exportBatch.toMetadataJson(includePayload: includePayload),
    if (exportDelivery != null)
      'exportDelivery': exportDelivery!.toMetadataJson(
        includePayload: includePayload,
      ),
    if (archive != null)
      'archive': archive!.toMetadataJson(includePayload: includePayload),
    if (archiveDelivery != null)
      'archiveDelivery': archiveDelivery!.toMetadataJson(
        includePayload: includePayload,
      ),
  };
}