// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证。
//
// 必须在法律法规允许的范围内正确使用,严禁将其用于非法、欺诈、恶意或侵犯他人合法权益的目的。
using Admin.NET.Plugin.Flow.Service;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
namespace Admin.NET.Plugin.Flow;
///
/// 扩展审批流中间件
///
public static class ApprovalFlowMiddlewareExtensions
{
///
/// 使用审批流
///
///
///
public static IApplicationBuilder UseApprovalFlow(this IApplicationBuilder builder)
{
return builder.UseMiddleware();
}
}
///
/// 审批流中间件
///
public class ApprovalFlowMiddleware
{
private readonly RequestDelegate _next;
public ApprovalFlowMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
await App.GetService().MatchApproval(context);
await _next.Invoke(context);
}
}