toJson method

Map<String, dynamic> toJson()

Convertir a JSON para exportación

Implementation

Map<String, dynamic> toJson() {
  // Convertir rawResult a formato serializable
  dynamic rawResultForJson;
  if (result?.rawResult != null) {
    try {
      if (result!.rawResult is Map || result!.rawResult is List) {
        rawResultForJson = result!.rawResult;
      } else {
        try {
          rawResultForJson = result!.rawResult.toMap();
        } catch (e) {
          rawResultForJson = result!.rawResult.toString();
        }
      }
    } catch (e) {
      rawResultForJson = result!.rawResult.toString();
    }
  }

  return {
    'rule_key': ruleKey,
    'rule_name': ruleName,
    'status': status.name,
    'start_time': startTime?.toIso8601String(),
    'end_time': endTime?.toIso8601String(),
    'duration_ms': durationMs,
    'rawResult': rawResultForJson,
    'result': result?.toJson(),
    'error': error,
    'output_summary': outputSummary,
  };
}