public IActionResult PutRating([FromBody] RequestRating requestRating, [FromHeader] string Authentification_Token) { string jwtDecoded = JWT.CheckJWT(Authentification_Token); if (jwtDecoded == "Token has expired" || jwtDecoded == "Token has invalid signature") { return(Unauthorized(new Error("Token has invalid signature or expired"))); } else { string id = JWT.ExtractUserId(jwtDecoded); var rating = _context.Ratings.Where(u => u.UserId == Convert.ToInt32(id) && u.MovieId == requestRating.MovieId).FirstOrDefault(); if (rating == null) { return(NotFound(new Error("Rating doesn't exist"))); } if (requestRating.Score < 1 || requestRating.Score > 5) { return(BadRequest(new Error("Score must be between 1 and 5"))); } else { rating.Score = requestRating.Score; _context.SaveChanges(); return(NoContent()); } } }
public IActionResult PostRating([FromBody] RequestRating requestRating, [FromHeader] string Authentification_Token) { string jwtDecoded = JWT.CheckJWT(Authentification_Token); if (jwtDecoded == "Token has expired" || jwtDecoded == "Token has invalid signature") { return(Unauthorized(new Error("Token has invalid signature or expired"))); } else { string id = JWT.ExtractUserId(jwtDecoded); if (_context.Ratings.Any(u => u.UserId == Convert.ToInt32(id) && u.MovieId == requestRating.MovieId)) { return(Conflict(new Error("Rating already exists"))); } if (requestRating.Score < 1 || requestRating.Score > 5) { return(BadRequest(new Error("Score must be between 1 and 5"))); } else { Rating newRating = new Rating(); newRating.MovieId = requestRating.MovieId; newRating.UserId = Convert.ToInt32(id); newRating.Score = requestRating.Score; _context.Add(newRating); _context.SaveChanges(); return(NoContent()); } } }