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()); } } }
public ActionResult <User> GetUser(string email, [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 userApproved = _context.Users.Where(u => (u.Administrator == true) && (u.Id == Convert.ToInt32(id))).ToList(); var user = _context.Users.Where(u => u.Email == Cryptography.HashString(email)).FirstOrDefault(); if (userApproved.Count == 0) { if (Authentification_Token == AdminJWT) { return(user); } return(Forbid()); } else { if (user == null) { return(NotFound(new Error("User doesn't exists"))); } return(user); } } }
public ActionResult <List <User> > GetUsers([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 userApproved = _context.Users.Where(u => (u.Administrator == true) && (u.Id == Convert.ToInt32(id))).ToList(); if (userApproved.Count == 0) { if (Authentification_Token == AdminJWT) { return(_context.Users.ToList()); } return(Forbid()); } else { return(_context.Users.ToList()); } } }
public ActionResult <string> CheckUser([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 { return(JWT.ExtractUserId(jwtDecoded)); } }
public IActionResult PutUser([FromBody] User user, [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 { if (!UserExists(Cryptography.HashString(user.Email))) { return(NotFound(new Error("User doesn't exists"))); } _context.Update(user); _context.SaveChanges(); } return(NoContent()); }
public ActionResult <int> GetRating(int movieId, [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 == movieId).FirstOrDefault(); if (rating == null) { return(NotFound(new Error("Rating doesn't exist"))); } else { return(rating.Score); } } }
public ActionResult <Dictionary <int, int> > GetRatings([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 ratings = _context.Ratings.Where(u => u.UserId == Convert.ToInt32(id)).ToDictionary(u => u.MovieId, u => u.Score); if (ratings.Count == 0) { return(NotFound(new Error("User doesn't have ratings"))); } else { Console.WriteLine("Ratings: " + ratings); return(ratings); } } }