Example #1
0
        public async Task <HttpVoidOperationResult> UpdateAsync([FromBody] UpdateBuildStepRequestDto updateBuildStepRequestDto, [FromRoute] Guid id)
        {
            logger.LogInformation($"Start execution method '{nameof(UpdateAsync)}'");
            logger.LogInformation($"UpdateBuildStepRequestDto: '{updateBuildStepRequestDto}'");

            await buildStepService.UpdateAsync(id, updateBuildStepRequestDto.ToServiceModel());

            return(HttpVoidOperationResult.Ok());
        }
Example #2
0
        public async Task <HttpVoidOperationResult> GrantAccessAsync([FromBody] GrantAccessRequestDto grantAccessRequest)
        {
            logger.LogInformation($"Start execution method '{nameof(GrantAccessAsync)}'");
            logger.LogInformation($"GrantAccessRequestDto: '{grantAccessRequest}'");

            await projectService.GrantAccess(grantAccessRequest.ProjectId, CurrentUser, grantAccessRequest.UserId,
                                             grantAccessRequest.AccessType);

            return(HttpVoidOperationResult.Ok());
        }
Example #3
0
        private static Task WriteErrorAsync(HttpContext httpContext, HttpVoidOperationResult result)
        {
            httpContext.Response.Headers[HeaderNames.CacheControl] = "no-cache, no-store, must-revalidate";
            httpContext.Response.Headers[HeaderNames.Pragma]       = "no-cache";
            httpContext.Response.Headers[HeaderNames.Expires]      = "-1";
            httpContext.Response.Headers.Remove(HeaderNames.ETag);

            httpContext.Response.StatusCode  = (int)HttpStatusCode.OK;
            httpContext.Response.ContentType = "application/json";

            var json = JsonConvert.SerializeObject(result);

            return(httpContext.Response.WriteAsync(json));
        }
Example #4
0
        public async Task InvokeAsync(HttpContext context, RequestDelegate next)
        {
            try
            {
                await next(context);
            }
            catch (ApiException apiException)
            {
                HttpVoidOperationResult error;
                switch (apiException.StatusCode)
                {
                case HttpStatusCode.InternalServerError:
                    error = HttpVoidOperationResult.InternalServerError(apiException.Message);
                    await WriteErrorAsync(context, error);

                    break;

                case HttpStatusCode.Forbidden:
                    error = HttpVoidOperationResult.Forbidden(apiException.Message);
                    await WriteErrorAsync(context, error);

                    break;

                case HttpStatusCode.NotFound:
                    error = HttpVoidOperationResult.NotFound(apiException.Message);
                    await WriteErrorAsync(context, error);

                    break;
                }
            }
            catch (Exception e)
            {
                var error = HttpVoidOperationResult.InternalServerError(e.Message);
                await WriteErrorAsync(context, error);
            }
        }