42 lines
1.6 KiB
C#
42 lines
1.6 KiB
C#
using System.Collections.Generic;
|
|
using F4SD.ActionConnector.Enumerations;
|
|
|
|
namespace F4SD.ActionConnector.Models
|
|
{
|
|
public sealed class ActionResult
|
|
{
|
|
public string ActionId { get; private set; }
|
|
public ActionResultStatus Status { get; private set; }
|
|
|
|
/// <summary>
|
|
/// HTTP status code for HttpCall actions; null for other types.
|
|
/// </summary>
|
|
public int? HttpStatusCode { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Raw response body (HttpCall) or serialized output (QuickAction).
|
|
/// </summary>
|
|
public string RawResponse { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Named fields extracted from the response via jsonPath mappings.
|
|
/// Populated when DisplayInCockpit is true.
|
|
/// </summary>
|
|
public IDictionary<string, string> MappedFields { get; private set; } = new Dictionary<string, string>();
|
|
|
|
/// <summary>
|
|
/// Human-readable error message; set when Status is Failure.
|
|
/// </summary>
|
|
public string ErrorMessage { get; private set; }
|
|
|
|
public static ActionResult Ok(string actionId, string rawResponse = null)
|
|
=> new ActionResult { ActionId = actionId, Status = ActionResultStatus.Success, RawResponse = rawResponse };
|
|
|
|
public static ActionResult Fail(string actionId, string errorMessage)
|
|
=> new ActionResult { ActionId = actionId, Status = ActionResultStatus.Failure, ErrorMessage = errorMessage };
|
|
|
|
public static ActionResult Skip(string actionId)
|
|
=> new ActionResult { ActionId = actionId, Status = ActionResultStatus.Skipped };
|
|
}
|
|
}
|