public async Task <IActionResult> GetPost([FromQuery] GetPostRequest request) { var response = await mediator.Send(request); logger.LogResponse($"User #{HttpContext.GetCurrentUserId()} displayed post #{request.PostId}", response.Error); return(response.IsSucceeded ? (IActionResult)Ok(response) : BadRequest(response)); }
public async Task <IActionResult> GetPostById([FromBody] GetPostRequest request) { var callerId = GetCallerId(); var result = await _postRepository.GetPostById(request.PostId, callerId); return(new OkObjectResult(new { Message = "Whuhu", result })); }
public override async Task <Post> GetPublishedPost(GetPostRequest request, ServerCallContext context) { var postEntity = await _blogDbContext.Posts .FirstOrDefaultAsync(post => post.Slug == request.Slug && post.IsActive && !post.IsDeleted && post.Status == PostStatus.Published); var categoryEntity = await _blogDbContext.Categories.FirstOrDefaultAsync(category => category.Id == postEntity.CategoryId); return(_postMapper.Map(postEntity, categoryEntity)); }
public async Task <GetPostResponse> GetPostAsync(GetPostRequest request) { var response = new GetPostResponse(); var entity = await _postRepository.GetPostByUrlAsync(request.Url); if (entity == null) { response.StatusCode = (int)HttpStatusCode.NotFound; return(response); } response.Post = _postMapper.ToModel(entity); return(response); }
public async Task <IActionResult> Get([FromRoute] GetPostRequest request) { // // TODO: Validate the request // try { var response = await _postsService.GetPostAsync(request).ConfigureAwait(false); return(Ok(response)); } catch (Exception exception) { _logger.LogError(exception, "Cannot retrieve the post"); } return(StatusCode((int)HttpStatusCode.InternalServerError)); }
public async Task <IActionResult> GetPost([FromQuery] GetPostRequest contract, CancellationToken cancellationToken) { if (!ModelState.IsValid) { return(BadRequest(new ResponseMessage { Message = "One or more validation errors occurred." })); } PostDTO post = await _postService.Get(contract.Id, cancellationToken); if (post == null) { return(BadRequest(new ResponseMessage { Message = "Post not found." })); } return(Ok(_mapper.Map <GetPostResponse>(post))); }
public override Task <GetPostResponse> Get(GetPostRequest request, ServerCallContext context) { var post = _postService.Get(request.Id); if (post is null) { return(Task.FromResult <GetPostResponse>(null)); } var response = new GetPostResponse { Post = new PostModel { Id = post.Id, CreatedAt = new DateTimeOffset(post.CreatedAt).ToUnixTimeSeconds(), Name = post.Name } }; return(Task.FromResult(response)); }
public async Task <GetPostResponse> GetPostAsync(GetPostRequest request) { _logger.LogInformation($"Get post for {request.PostId}"); var httpRequest = new HttpRequestMessage(HttpMethod.Get, $"/posts/{request.PostId}"); var httpResponse = await _httpClient.SendAsync(httpRequest).ConfigureAwait(false); if (!httpResponse.IsSuccessStatusCode) { _logger.LogError($"Cannot get the post :{request.PostId}"); throw new Exception(httpResponse.ReasonPhrase); } _logger.LogInformation("Retrieved the post"); var post = JsonConvert.DeserializeObject <Post>(await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); return(new GetPostResponse { Post = post }); }