This commit is contained in:
2021-01-30 00:53:56 +00:00
parent a8f959ce45
commit 97ad44eae1
7 changed files with 136 additions and 181 deletions

View File

@@ -10,6 +10,7 @@ using System.Threading.Tasks;
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using EnumsNET;
namespace AyaNova.Api.Controllers
{
@@ -74,7 +75,20 @@ namespace AyaNova.Api.Controllers
try
{
DataListReturnData r = await DataListFetcher.GetResponseAsync(ct, tableRequest, UserRoles, log, UserId);
DataListSavedColumnViewBiz biz = DataListSavedColumnViewBiz.GetBiz(ct, HttpContext);
var SavedView = await biz.GetAsync(biz.UserId, tableRequest.DataListKey, true);
var DataList = DataListFactory.GetAyaDataList(tableRequest.DataListKey);
if (DataList == null)
return BadRequest(new ApiErrorResponse(ApiErrorCode.NOT_FOUND, "DataListKey", $"DataList \"{tableRequest.DataListKey}\" specified does not exist"));
//check rights
if (!UserRoles.HasAnyFlags(DataList.AllowedRoles))
return StatusCode(403, new ApiNotAuthorizedResponse());
//hydrate the saved view and filter
DataListTableProcessingOptions dataListTableOptions = new DataListTableProcessingOptions(tableRequest, DataList, SavedView);
DataListReturnData r = await DataListFetcher.GetResponseAsync(ct, dataListTableOptions, DataList, UserRoles, log, UserId);
return Ok(r);
}
catch (System.UnauthorizedAccessException)