public async Task <IActionResult> PostAsync([FromBody, Required] Models.Input.Examples.ExampleRequestCreate example) { CheckPermissions(example); var ex = example.CreateModel(); if (ex.Data != null) { ex.Data.User = _user.User; ex.Data.UserId = _user.UserId; ex.Data.Symbol = await _symbolManager.GetAsync(ex.Data.SymbolId); } var mdl = await _manager.PostAsync(ex); return(Json(Models.Output.Examples.ExampleRequest.CreateModel(mdl))); }
private void CheckPermissions(Models.Input.Examples.ExampleRequestCreate ex) { switch (ex.Method) { case Data.Models.Examples.ExampleRequestType.DELETE: if (!_user.HasPermission(Permissions.CREATE_EXAMPLE_REQUEST_DELETE)) { throw new Shared.Exceptions.InsuficientPermission() { ResourceName = ex.Message, ResourceType = typeof(Data.Models.Examples.ExampleRequest), MissingPermission = Permissions.CREATE_EXAMPLE_REQUEST_DELETE } } ; break; case Data.Models.Examples.ExampleRequestType.PATCH: if (!_user.HasPermission(Permissions.CREATE_EXAMPLE_REQUEST_PATCH)) { throw new Shared.Exceptions.InsuficientPermission() { ResourceName = ex.Message, ResourceType = typeof(Data.Models.Examples.ExampleRequest), MissingPermission = Permissions.CREATE_EXAMPLE_REQUEST_PATCH } } ; break; case Data.Models.Examples.ExampleRequestType.POST: if (!_user.HasPermission(Permissions.CREATE_EXAMPLE_REQUEST_POST)) { throw new Shared.Exceptions.InsuficientPermission() { ResourceName = ex.Message, ResourceType = typeof(Data.Models.Examples.ExampleRequest), MissingPermission = Permissions.CREATE_EXAMPLE_REQUEST_POST } } ; break; } }