public IActionResult Post() { var auth = new AuthenticationController(); var db = new SmartPulseContext(); var token = Request.Cookies["token"]; var user = auth.isLogin(token); if (user != null) { var grids = db.SavedGrids.Where(g => g.user.email == user.email).Select(s => new { name = s.name }).ToList(); return(Ok(grids)); } return(Unauthorized(new { message = "unauthorized" })); }
public IActionResult Post([FromBody] User user) { var db = new SmartPulseContext(); if (user.email == null || user.email == "" || !new EmailAddressAttribute().IsValid(user.email)) { return(BadRequest(new { message = "email is invalid" })); } if (user.name == null || user.name == "" || user.name.Length < 2) { return(BadRequest(new { message = "name is invalid" })); } if (user.surname == null || user.surname == "" || user.surname.Length < 2) { return(BadRequest(new { message = "surname is invalid" })); } if (user.password == null || user.password == "" || user.password.Length < 8) { return(BadRequest(new { message = "password is invalid" })); } var u = db.Users.Where(u => u.email == user.email).FirstOrDefault(); if (u == null) { RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); byte[] buffer = new byte[512]; rng.GetBytes(buffer); string salt = BitConverter.ToString(buffer); var auth = new AuthenticationController(); var hashed = auth.CreatePassword(user.password, salt); user.password = hashed; user.salt = salt; db.Users.Add(user); db.SaveChanges(); return(Ok(new { message = "success" })); } else { return(Ok(new { message = "email is exist" })); } }
public IActionResult Post(string name) { var auth = new AuthenticationController(); var db = new SmartPulseContext(); var token = Request.Cookies["token"]; var user = auth.isLogin(token); if (user != null) { var grid = db.SavedGrids.FirstOrDefault(g => g.name == name && g.user.email == user.email); if (grid != null) { return(Ok(grid)); } else { return(NotFound(new { message = "not found" })); } } return(Unauthorized(new { message = "unauthorized" })); }
public IActionResult Post(string name) { var auth = new AuthenticationController(); var db = new SmartPulseContext(); var token = Request.Cookies["token"]; var user = auth.isLogin(token); if (user != null) { if (name != null) { var watch = db.WatchLists.FirstOrDefault(w => w.name == name && w.user.email == user.email); if (watch != null) { db.Remove(watch); db.SaveChanges(); return(Ok(new { message = "success" })); } } } return(BadRequest("qwe")); }
public IActionResult Post([FromBody] WatchList watchList) { var auth = new AuthenticationController(); var db = new SmartPulseContext(); string token = Request.Cookies["token"]; var user = auth.isLogin(token); if (user != null) { var w = db.WatchLists.FirstOrDefault(w => w.name == watchList.name); if (w != null) { w.json = watchList.json; db.SaveChanges(); return(Ok(new { message = "update success" })); } var thisUser = db.Users.FirstOrDefault(u => u.email == user.email); watchList.user = thisUser; db.WatchLists.Add(watchList); db.SaveChanges(); return(Ok(new { message = "success" })); } return(Unauthorized(new { message = "failed" })); }
public IActionResult Post([FromBody] User user) { var db = new SmartPulseContext(); var auth = new AuthenticationController(); if (Request.Cookies["token"] != null && Request.Cookies["token"] != "") { var tempUser = db.Users.FirstOrDefault(u => u.token == Request.Cookies["token"]); var emailFromToken = auth.ValidateJwtToken(Request.Cookies["token"]); if (tempUser != null) { if (tempUser.email == emailFromToken) { return(Ok(new { message = "success", token = user.token })); } Response.Cookies.Append("token", ""); tempUser.token = ""; db.SaveChanges(); } } var temp = db.Users.Where(u => u.email == user.email).FirstOrDefault(); if (temp != null) { var isLogin = auth.ValidatePassword(user.password, temp.password, temp.salt); if (isLogin) { var token = auth.GenerateJwtToken(temp.email); temp.token = token; db.SaveChanges(); Response.Cookies.Append("token", token); return(Ok(new { message = "success", token = token })); } } return(Unauthorized(new { message = "email or password incorrect" })); }