c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
16 lines
566 B
C#
16 lines
566 B
C#
namespace Shared.Operations;
|
|
|
|
public interface IWorkItemActionHandler
|
|
{
|
|
string Key { get; }
|
|
Task ExecuteAsync(string tenantId, string actorId, Guid workItemId, CancellationToken ct);
|
|
}
|
|
|
|
public sealed class WorkItemActionRegistry(IEnumerable<IWorkItemActionHandler> handlers)
|
|
{
|
|
private readonly IReadOnlyDictionary<string, IWorkItemActionHandler> _handlers =
|
|
handlers.ToDictionary(x => x.Key, StringComparer.OrdinalIgnoreCase);
|
|
|
|
public bool TryGet(string key, out IWorkItemActionHandler? handler) => _handlers.TryGetValue(key, out handler);
|
|
}
|