feat: expand cockpit integrations and support workflows
Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
This commit is contained in:
21
F4SD-ActionConnector/Events/ActionCompletedEventArgs.cs
Normal file
21
F4SD-ActionConnector/Events/ActionCompletedEventArgs.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using F4SD.ActionConnector.Models;
|
||||
using F4SD.ActionConnector.Payloads;
|
||||
|
||||
namespace F4SD.ActionConnector.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// Raised after a sync action finishes. Carries the result for Cockpit integration.
|
||||
/// </summary>
|
||||
public sealed class ActionCompletedEventArgs : EventArgs
|
||||
{
|
||||
public ActionResult Result { get; }
|
||||
public ActionContext Context { get; }
|
||||
|
||||
public ActionCompletedEventArgs(ActionResult result, ActionContext context)
|
||||
{
|
||||
Result = result;
|
||||
Context = context;
|
||||
}
|
||||
}
|
||||
}
|
||||
40
F4SD-ActionConnector/Events/ActionConnectorEvents.cs
Normal file
40
F4SD-ActionConnector/Events/ActionConnectorEvents.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using F4SD.ActionConnector.Payloads;
|
||||
|
||||
namespace F4SD.ActionConnector.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// Static event bus. F4SD calls the methods after a business event occurs.
|
||||
/// The connector engine subscribes to the corresponding events and dispatches configured actions.
|
||||
/// </summary>
|
||||
public static class ActionConnectorEvents
|
||||
{
|
||||
/// <summary>Raised when a support case is closed.</summary>
|
||||
public static event EventHandler<TriggerEventArgs<CaseClosedPayload>> CaseClosed;
|
||||
|
||||
/// <summary>Raised when a new support case is created.</summary>
|
||||
public static event EventHandler<TriggerEventArgs<CaseCreatedPayload>> CaseCreated;
|
||||
|
||||
/// <summary>Raised once during application startup, after configuration is loaded.</summary>
|
||||
public static event EventHandler<TriggerEventArgs<ApplicationStartupPayload>> ApplicationStartup;
|
||||
|
||||
/// <summary>
|
||||
/// Raised after every sync action completes. The Cockpit Client subscribes here
|
||||
/// to display results without coupling to specific trigger types.
|
||||
/// </summary>
|
||||
public static event EventHandler<ActionCompletedEventArgs> ActionCompleted;
|
||||
|
||||
|
||||
public static void RaiseCaseClosed(object sender, CaseClosedPayload payload)
|
||||
=> CaseClosed?.Invoke(sender, new TriggerEventArgs<CaseClosedPayload>(payload));
|
||||
|
||||
public static void RaiseCaseCreated(object sender, CaseCreatedPayload payload)
|
||||
=> CaseCreated?.Invoke(sender, new TriggerEventArgs<CaseCreatedPayload>(payload));
|
||||
|
||||
public static void RaiseApplicationStartup(object sender, ApplicationStartupPayload payload)
|
||||
=> ApplicationStartup?.Invoke(sender, new TriggerEventArgs<ApplicationStartupPayload>(payload));
|
||||
|
||||
public static void RaiseActionCompleted(object sender, ActionCompletedEventArgs args)
|
||||
=> ActionCompleted?.Invoke(sender, args);
|
||||
}
|
||||
}
|
||||
15
F4SD-ActionConnector/Events/TriggerEventArgs.cs
Normal file
15
F4SD-ActionConnector/Events/TriggerEventArgs.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using F4SD.ActionConnector.Payloads;
|
||||
|
||||
namespace F4SD.ActionConnector.Events
|
||||
{
|
||||
public sealed class TriggerEventArgs<TPayload> : EventArgs where TPayload : PayloadBase
|
||||
{
|
||||
public TPayload Payload { get; }
|
||||
|
||||
public TriggerEventArgs(TPayload payload)
|
||||
{
|
||||
Payload = payload;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user