コード例 #1
0
        public bool Remove([FromHeader] string auth, [FromRoute] string uid)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return(false);
            }

            HttpContext.Response.Headers.Add("auth", auth);

            return(ShoppingListStore.Remove(uid, user).Result);
        }
コード例 #2
0
        public async Task <IDictionary <string, string> > Shared([FromHeader] string auth)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return(null);
            }

            HttpContext.Response.Headers.Add("auth", auth);

            var res = await ShoppingListStore.GetShared(user);

            return(res);
        }
コード例 #3
0
        public async void Edit([FromHeader] string auth, [FromForm] string uid, [FromForm] string name)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return;
            }

            HttpContext.Response.Headers.Add("auth", auth);
            if (await ShoppingListStore.ExistName(name, user))
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Conflict;
                return;
            }

            await ShoppingListStore.EditName(user, uid, name);
        }
コード例 #4
0
        public async void Share([FromHeader] string auth, [FromForm] string uid, [FromForm] string friend)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return;
            }

            HttpContext.Response.Headers.Add("auth", auth);
            if (!ShoppingListStore.Exists(uid, user).Result || !UserStore.Exists(friend).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
                return;
            }

            await ShoppingListStore.Share(uid, user, friend);
        }
コード例 #5
0
        public async void EditProduct([FromHeader] string auth, [FromForm] string product,
                                      [FromForm] string uid, [FromForm] long quantity)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return;
            }

            HttpContext.Response.Headers.Add("auth", auth);
            if (!ProductStore.Exists(product).Result || !ShoppingListStore.Exists(uid, user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
                return;
            }

            await ShoppingListStore.Restock(uid, product, quantity, user);
        }
コード例 #6
0
        public async Task <Inventory <WantedProduct> > Info([FromHeader] string auth, [FromRoute] string uid)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return(null);
            }

            HttpContext.Response.Headers.Add("auth", auth);
            var u = await ShoppingListStore.Get(uid, user);

            if (u != null)
            {
                return(u);
            }
            HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
            return(null);
        }
コード例 #7
0
        public async void Add([FromHeader] string auth, [FromForm] string name)
        {
            string user;

            if ((user = JwtBuilder.UserJwtToken(auth).Result) == null || !UserStore.Exists(user).Result)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                return;
            }

            HttpContext.Response.Headers.Add("auth", auth);
            if (await ShoppingListStore.ExistName(name, user))
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Conflict;
            }
            else
            {
                await ShoppingListStore.Add(new Inventory <WantedProduct>(name), user);
            }
        }