Ejemplo n.º 1
0
    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})
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 def get(self):
     """
     Get all products
     """
     args = self.get_parser.parse_args()
     products = product_module.get_chunk(**args)
     return make_response(products)
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
 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()
Ejemplo n.º 10
0
 def get(self):
     """
     Get all orders
     """
     orders = order_module.all_order()
     return make_response(orders)
Ejemplo n.º 11
0
 def get(self):
     """
     User logout
     """
     return make_response()