コード例 #1
0
ファイル: user.py プロジェクト: importcjj/poseidon
    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})
コード例 #2
0
ファイル: user.py プロジェクト: importcjj/poseidon
    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)
コード例 #3
0
ファイル: product.py プロジェクト: importcjj/poseidon
 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)
コード例 #4
0
ファイル: cart.py プロジェクト: importcjj/poseidon
 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)
コード例 #5
0
ファイル: cart.py プロジェクト: importcjj/poseidon
 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)
コード例 #6
0
ファイル: order.py プロジェクト: importcjj/poseidon
 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)
コード例 #7
0
ファイル: product.py プロジェクト: importcjj/poseidon
 def get(self):
     """
     Get all products
     """
     args = self.get_parser.parse_args()
     products = product_module.get_chunk(**args)
     return make_response(products)
コード例 #8
0
ファイル: order.py プロジェクト: importcjj/poseidon
    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)
コード例 #9
0
ファイル: cart.py プロジェクト: importcjj/poseidon
 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()
コード例 #10
0
ファイル: order.py プロジェクト: importcjj/poseidon
 def get(self):
     """
     Get all orders
     """
     orders = order_module.all_order()
     return make_response(orders)
コード例 #11
0
ファイル: user.py プロジェクト: importcjj/poseidon
 def get(self):
     """
     User logout
     """
     return make_response()