コード例 #1
0
        public async Task <LikePostResponse> LikePostAsync(LikePostRequest request, string userId)
        {
            var entity = new PostLikeEntity
            {
                PostId = request.PostId,
                UserId = userId
            };

            var result = await _postRepository.LikePostAsync(entity);

            if (!result)
            {
                return new LikePostResponse
                       {
                           StatusCode = (int)HttpStatusCode.Unauthorized
                       }
            }
            ;

            var response = new LikePostResponse
            {
                StatusCode = (int)HttpStatusCode.Created
            };

            return(response);
        }
コード例 #2
0
        public async Task <IActionResult> LikePost(LikePostRequest request)
        {
            var response = await mediator.Send(request);

            logger.LogResponse($"User #{HttpContext.GetCurrentUserId()} {(response.Result ? "LIKED" : "UNLIKED")} post #{request.PostId}", response.Error);

            return(response.IsSucceeded ? (IActionResult)Ok(response) : BadRequest(response));
        }
コード例 #3
0
ファイル: PostController.cs プロジェクト: TomeQ2k/_Smile
        public async Task <IActionResult> LikePost(LikePostRequest request)
        {
            var response = await mediator.Send(request);

            logger.LogResponse(
                $"User #{HttpContext.GetCurrentUserId()} {(response.LikeCreated ? "LIKED" : "UNLIKED")} post #{request.PostId}",
                response.Error);

            return(this.CreateResponse(response));
        }
コード例 #4
0
        public async Task <IActionResult> LikePost([FromBody] LikePostRequest request)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

            if (userId == null)
            {
                return(BadRequest());
            }

            var response = await _postService.LikePostAsync(request, userId);

            return(GenerateResponse(response));
        }