示例#1
0
        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" }));
        }
示例#2
0
        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" }));
            }
        }
示例#3
0
        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" }));
        }
示例#4
0
        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"));
        }
示例#5
0
        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" }));
        }
示例#6
0
        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" }));
        }