Files
btcpayserver/BTCPayServer.Abstractions/Contracts/PluginHookFilter.cs
Kukks 931505d135 Plugins: Hook System
Almost an exact replica of https://developer.wordpress.org/plugins/hooks/
This will allow plugins to extend specific points in business logic, such as validation, invoice payload changes, etc
2020-11-15 14:39:21 +01:00

15 lines
404 B
C#

using System.Threading.Tasks;
namespace BTCPayServer.Contracts
{
public abstract class PluginHookFilter<T>:IPluginHookFilter
{
public string Hook { get; }
public Task<object> Execute(object args)
{
return Execute(args is T args1 ? args1 : default).ContinueWith(task => task.Result as object);
}
public abstract Task<T> Execute(T arg);
}
}