public static Post ToModel(this PostVModel p) { return(new Post { Id = p.Id, Title = p.Title, CategoryId = p.CategoryId }); }
public async Task <IActionResult> Create([FromBody] PostVModel post) { var newPost = post.ToModel(); newPost.UserId = UserId; newPost = _posts.Create(newPost, UserId); await _posts.SaveAsync(); _logger.LogInformation($"User: {UserId} created a new post {newPost}"); return(Created(Request.Path.Value, newPost.ToVModel())); }
public async Task <IActionResult> Update([FromBody] PostVModel post) { var oldPost = await _posts.GetByIdAsync(post.Id); if (oldPost.UserId != UserId) { throw new UnauthorizedAccessException(userMismatchMessage); } oldPost.Title = post.Title; _posts.Update(oldPost, UserId); await _posts.SaveAsync(); _logger.LogInformation($"User: {UserId} modified a his post {oldPost}"); return(Ok(oldPost.ToVModel())); }