38 lines
898 B
C#
38 lines
898 B
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.Filters;
|
|
|
|
namespace zero.Api.Controllers;
|
|
|
|
public class CanEditAttribute : TypeFilterAttribute
|
|
{
|
|
public CanEditAttribute() : base(typeof(CanEditAttributeImpl)) { }
|
|
|
|
|
|
private class CanEditAttributeImpl : IAsyncResultFilter
|
|
{
|
|
//IToken token;
|
|
|
|
|
|
public CanEditAttributeImpl()//IToken token)
|
|
{
|
|
//this.token = token;
|
|
}
|
|
|
|
public async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
|
|
{
|
|
if (context.Result is JsonResult)
|
|
{
|
|
JsonResult result = context.Result as JsonResult;
|
|
|
|
//if (result.Value is ObsoleteEditModel)
|
|
//{
|
|
// ObsoleteEditModel model = result.Value as ObsoleteEditModel;
|
|
|
|
// model.CanEdit = true; // TODO query authorize attrs to get permissions
|
|
//}
|
|
}
|
|
|
|
await next();
|
|
}
|
|
}
|
|
} |