public IHttpActionResult Put([FromBody]Post post)
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var tPost = _postsSvc.GetPost(post.Id);
var isAllowed = User.Identity.GetUserName() == tPost.User.UserName;
if (!isAllowed)
{
var notAllowedResult = new Post
{
Error = new Error
{
Id = (int)Common.Utils.Constants.Error.RequestNotAllowed,
Message = "Request not allowed. You cannot edit someone else's post."
}
};
return Ok(notAllowedResult);
}
return Ok(_postsSvc.UpdatePost(post));
}
catch (Exception ex)
{
_errorSignaler.SignalFromCurrentContext(ex);
var errorResult = new Post
{
Error = new Error
{
Id = (int)Common.Utils.Constants.Error.InternalError,
Message = ex.Message
}
};
return Ok(errorResult);
}
}