def post(self): """ User login Method: GET Parameter: username<str> password<str> Success Response { } """ args = self.post_parser.parse_args() try: token = user_module.user_login(**args) except (PoseidonError, TokenManagerError) as e: if e.message == 'Error Password': return make_response(status_code=481, code=400) elif e.message == 'Token Not Created': return make_response(status_code=460, code=400) return make_response({'token': token})
def post(self): """ Create a new account Parameter: username<str> password<str> Success { data:{ id:<int> username:<str> }, message:"Created", status_code:201 } Success code: 201 - Created Error code: 480 - Duplicate Username """ args = self.post_parser.parse_args() try: account = user_module.create_user(**args) except PoseidonError as e: if e.message == 'Duplicate Username': return make_response(status_code=480, code=400) return make_response(account, status_code=201)
def get(self, product_id): """ Get info of one product """ try: product = product_module.get_product(product_id) except PoseidonError as e: if e.message == 'Product Not Found': return make_response(status_code=450, code=400) return make_response(product)
def get(self): """ Get products in the user's cart """ user_id = g.user_id try: cart = cart_module.get_cart(user_id) except PoseidonError as e: if e.message == 'Cart Not Found': return make_response(status_code=451, code=400) return make_response(cart)
def put(self): """ Add product to user's shopping cart """ user_id = g.user_id args = self.put_parser.parse_args() try: left = cart_module.put_item(user_id=user_id, **args) except PoseidonError as e: if e.message == 'In No Stock': return make_response(status_code=461, code=400) return make_response({'stock': left}, status_code=201)
def post(self): """ Create a new order for the user """ user_id = g.user_id order = order_module.create_order(user_id) return make_response(order, status_code=201)
def get(self): """ Get all products """ args = self.get_parser.parse_args() products = product_module.get_chunk(**args) return make_response(products)
def get(self): """ Get all Orders of the user """ user_id = g.user_id orders = order_module.get_order(user_id) return make_response(orders)
def delete(self): """ Remove product from user's shopping cart """ user_id = g.user_id args = self.delete_parser.parse_args() cart_module.delete_item(user_id, **args) return make_response()
def get(self): """ Get all orders """ orders = order_module.all_order() return make_response(orders)
def get(self): """ User logout """ return make_response()