public ActionResult <Comment> Create([FromBody] CommentPayload payload) { try { var commentToAdd = new Comment { Author = payload.Author, BodyComm = payload.BodyComm, PostId = payload.PostId }; _db.Comments.Add(commentToAdd); _db.SaveChanges(); return(Ok(commentToAdd)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public IActionResult AddComment([FromBody] CommentPayload payload) { String[] authorization = Request.Headers["authorization"].ToString().Split(" "); String token = authorization[1]; String userId = ((JwtSecurityToken) new JwtSecurityTokenHandler().ReadToken(token)).Claims.First(claim => claim.Type == "id").Value; try { Comment comment = new Comment { Text = payload.Text, Date = DateTime.Now, PostId = payload.PostId, UserId = Int32.Parse(userId) }; _db.Comments.Add(comment); _db.SaveChanges(); return(Ok(new { message = "comment added" })); }catch (Exception ex) { return(StatusCode(500, $"Internal server error {ex}")); } }
public async Task Handle(CommentNotification notification, CancellationToken cancellationToken) { var payload = new CommentPayload( notification.Username, notification.Email, notification.IPAddress, notification.PostTitle, ContentProcessor.MarkdownToContent(notification.CommentContent, ContentProcessor.MarkdownConvertType.Html), notification.CreateTimeUtc ); var response = await _client.SendNotification(MailMesageTypes.NewCommentNotification, payload); var respBody = await response.Content.ReadAsStringAsync(cancellationToken); if (response.IsSuccessStatusCode) { _logger.LogInformation($"Email is sent, server response: '{respBody}'"); } else { throw new($"Email sending failed, response code: '{response.StatusCode}', response body: '{respBody}'"); } }
public ActionResult <Comment> AddComment([FromBody] CommentPayload payload) { var token = HttpContext.Request.Headers["token"].ToString(); var validation = ValidateJwtToken(token); if (validation != null) { if (payload.UserId != validation) { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } try { var commentToAdd = new Comment { UserId = payload.UserId, Text = payload.Text, PostId = payload.PostId, Username = payload.Username, }; _db.Comments.Add(commentToAdd); _db.SaveChanges(); return(Ok(commentToAdd)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } else { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } }