public async Task <OperationResultResponse <bool> > ExecuteAsync(Guid fileId, JsonPatchDocument <EditFileRequest> request) { OperationResultResponse <bool> response = new(); if (!await _accessValidator.HasRightsAsync(Rights.AddEditRemoveProjects)) { return(_responseCreator.CreateFailureResponse <bool>(HttpStatusCode.Forbidden)); } ValidationResult result = _requestValidator.Validate(request); if (!result.IsValid) { return(_responseCreator.CreateFailureResponse <bool>(HttpStatusCode.BadRequest, result.Errors.Select(vf => vf.ErrorMessage).ToList())); } response.Body = await _fileRepository.EditAsync(fileId, _mapper.Map(request)); response.Status = OperationResultStatusType.FullSuccess; if (!response.Body) { response = _responseCreator.CreateFailureResponse <bool>(HttpStatusCode.BadRequest); } return(response); }
public async Task <OperationResultResponse <Guid?> > ExecuteAsync(CreateNewsRequest request) { if (!await _accessValidator.HasRightsAsync(Rights.AddEditRemoveNews)) { _httpContextAccessor.HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; return(new OperationResultResponse <Guid?> { Status = OperationResultStatusType.Failed, Errors = new() { "Not enough rights." } });