コード例 #1
0
    def __call__(self, request, category_name):

        if request.is_json:

            data = request.get_json()
            owner_email = data['owner_email']
            product_name = data['name']

            owner = User.get_by_email(owner_email)
            category = Category.get_category_by_name(category_name)

            if (owner and category):
                if Product.is_product_on_category(Category, product_name,
                                                  category_name):
                    new_product = Product(name=product_name,
                                          price=data['price'],
                                          units=data['units'],
                                          owner=owner,
                                          category=category)
                    return new_product.save()
                else:
                    return response_message(
                        False,
                        f"Product {product_name} already exists on {category_name}"
                    )
            else:
                return response_message(False,
                                        "Owner or category doesn't exist")
        else:
            return response_message(
                False, "The request payload is not in JSON format")
コード例 #2
0
 def __call__(self,category_name):
     if validate_category(category_name):
         query_products=Product.get_products_by_category(Category,User,category_name).all()
         if query_products:
             product_schema=ProductSchema(many=True,exclude=("category",))
             products_by_category=product_schema.dump(query_products)
             return jsonify({"Products": products_by_category})
         else:
             return response_message(False, f"Category {category_name} doesn't exist or doesn't have products yet")
     else:
         return response_message(False, f"{category_name} is not a valid category")
コード例 #3
0
ファイル: delete_user.py プロジェクト: LTSpark/FlaskStoreAPI
 def __call__(self, user_email):
     if not validate_email(user_email):
         return response_message(False, "{user_email} is not a valid email")
     delete_user = User.query.filter_by(active=True,
                                        email=user_email).first()
     if delete_user:
         if delete_user.delete():
             return response_message(True, "Successfull delete")
         else:
             return response_message(True, "Couldn't delete {delete_user}")
     else:
         return response_message(False,
                                 "Not found user with email {user_email}")
コード例 #4
0
ファイル: get_user.py プロジェクト: LTSpark/FlaskStoreAPI
    def __call__(self, user_email):

        if validate_email(user_email):
            query_user = User.query.filter_by(active=True,
                                              email=user_email).first()
            if query_user:
                user_schema = UserSchema()
                user = user_schema.dump(query_user)
                return jsonify({'user': user})
            else:
                return response_message(False, f"{user_email} doesn't exists")
        else:
            return response_message(False,
                                    f"{user_email} is not a valid email")
コード例 #5
0
 def __call__(self,term):
     query_user=User.get_users_like(term)
     if query_user:
         user_schema=UserSchema(many=True)
         user=user_schema.dump(query_user)
         return jsonify({'users': user})
     else:
         return response_message(False, f"No users like {term}")
コード例 #6
0
 def save(self):
     if validate_product(self.name, self.price, self.units):
         try:
             db.session.add(self)
             db.session.commit()
             return response_message(
                 True,
                 f"product {self.name} has been created successfully.")
         except IntegrityError as e:
             db.session.rollback()
             return {
                 "ok": False,
                 "message": f"product {self.name} couldn't be created",
                 "errors": e
             }
     else:
         return response_message(
             False, f"product {self.name} could not be created")
コード例 #7
0
    def __call__(self, request, category_name):

        if not request.is_json:
            return response_message(
                False, "The request payload is not in JSON format")

        product_name = request.json["product_name"]
        delete_product = Product.get_product_on_category(
            Category, product_name, category_name)
        if delete_product:
            if delete_product.delete():
                return response_message(True, "Successfull delete")
            else:
                return response_message(False,
                                        "Couldn't delete {product_name}")
        else:
            return response_message(
                True,
                f'Product {product_name} from category {category_name} not found'
            )
コード例 #8
0
ファイル: create_user.py プロジェクト: LTSpark/FlaskStoreAPI
    def __call__(self,request):

        if request.is_json:
            data=request.get_json()
            age=data['age']
            job=data['job']
            city=data['city']
            gender=data['gender']

            new_user=User(
                name=data['name'],
                email=data['email'],
                active= True,
                role=data['role'],
                password=data['password']
            )

            if new_user.save(age,job,city,gender):      
                return response_message(True,f"user {new_user.name} has been created successfully.")
            else:
                return response_message(False, f"user {new_user.name} could not be created")
        else:
            return response_message(False, "The request payload is not in JSON format")