issues property

Implementation

List<ChartExportJobPlanIssue> get issues {
  final diagnostics = <ChartExportJobPlanIssue>[];
  if (!hasRequests) {
    diagnostics.add(
      const ChartExportJobPlanIssue(
        code: 'no_requests',
        severity: ChartExportJobPlanIssueSeverity.blocker,
        message: 'No export requests were configured.',
      ),
    );
  }
  if (hasRequests && !hasRunnableExports) {
    diagnostics.add(
      const ChartExportJobPlanIssue(
        code: 'no_runnable_exports',
        severity: ChartExportJobPlanIssueSeverity.blocker,
        message:
            'No export requests can run because every configured format is unavailable.',
      ),
    );
  }
  if (willAttemptUnavailable) {
    diagnostics.add(
      ChartExportJobPlanIssue(
        code: 'unavailable_format_will_run',
        severity: ChartExportJobPlanIssueSeverity.warning,
        message:
            '$unavailableCount unavailable ${_plural('format', unavailableCount)} '
            'will be attempted and may fail.',
      ),
    );
  }
  if (deliverExports && !hasDeliveryAdapter) {
    diagnostics.add(
      const ChartExportJobPlanIssue(
        code: 'export_delivery_missing_adapter',
        severity: ChartExportJobPlanIssueSeverity.warning,
        message:
            'Export delivery is enabled but no delivery adapter was provided.',
      ),
    );
  }
  if (deliverArchive && !hasDeliveryAdapter) {
    diagnostics.add(
      const ChartExportJobPlanIssue(
        code: 'archive_delivery_missing_adapter',
        severity: ChartExportJobPlanIssueSeverity.warning,
        message:
            'Archive delivery is enabled but no delivery adapter was provided.',
      ),
    );
  }
  return List.unmodifiable(diagnostics);
}