Beispiel #1
0
def list_items_cart(cart):
    list_items = []
    with session_scope() as db:
        for item in db.query(ItemCart).join(Cart).filter(ItemCart.cart_id == cart).all():
            list_items.append(item.as_dict())

    return list_items
Beispiel #2
0
def list_all_users():
    users_list = []
    with session_scope() as db:
        for user in db.query(User).all():
            users_list.append(user.as_dict())
        return users_list
    pass
Beispiel #3
0
def update_user_by_id(id: int, job: str):
    with session_scope() as db:
        user = db.query(User).filter(User.id == id).first()
        user.job = job
        db.add(user)
        return "updated"
    pass
Beispiel #4
0
def get_category_by_id(id: int):
    with session_scope() as db:
        category = db.query(Category).filter(Category.id == id).first()
        return Category(id=category.id,
                        name=category.name,
                        description=category.description)
    pass
Beispiel #5
0
def get_products_by_category(category: int):
    products = []
    with session_scope() as db:
        for product in db.query(Product).filter(
                Product.category_id == category).all():
            products.append(product.as_dict())

    return products if products else []
Beispiel #6
0
def login(user):
    with session_scope() as db:
        encode_password = encrypt(user.password)
        user = db.query(User).filter(
            and_(User.username == user.username,
                 User.password == encode_password)).first()

        user = user.as_dict()
        return user
Beispiel #7
0
def generate_token(email):
    new_token = random_token()
    with session_scope() as db:
        user = db.query(User).filter(User.email == email).first()
        user.token = new_token
        user.tte = datetime.now() + timedelta(minutes=5)
        db.add(user)
        send_email(new_token, email)
        return new_token
Beispiel #8
0
def insert_product(product, category):
    with session_scope() as db:
        p = Product(category_id=category.id,
                    name=product.name,
                    amount=product.amount,
                    price=product.price)
        db.add(p)
        return f"{p.name} inserted with success"
    pass
Beispiel #9
0
def generate_token(email):
    new_token = random_token()
    with session_scope() as db:
        user = db.query(User).filter(User.email == email).first()
        user.token = new_token
        user.tte = datetime.now() + timedelta(minutes=5)
        db.add(user)

        return new_token

    raise Exception('Error sending email')
Beispiel #10
0
def get_product_by_product_id(id: int, item_amount):
    with session_scope() as db:
        product = db.query(Product).filter(
            and_(Product.id == id, Product.amount >= item_amount)).first()
        if product:
            return Product(id=product.id,
                           category_id=product.category_id,
                           name=product.name,
                           amount=product.amount,
                           price=product.price)
        return None
Beispiel #11
0
def recover_password(user_recover):
    with session_scope() as db:
        user = db.query(User).filter(
            and_(User.username == user_recover.username,
                 User.token == user_recover.token,
                 User.tte > datetime.now())).first()
        user.token = None
        user.tte = None
        user.password = encrypt(user_recover.new_password)
        db.add(user)
        return True
    pass
Beispiel #12
0
def insert_user(user):
    with session_scope() as db:
        user_to_insert = User()
        user_to_insert.name = user.name
        user_to_insert.age = user.age
        user_to_insert.email = user.email
        user_to_insert.job = user.job
        user_to_insert.cpf = user.cpf
        user_to_insert.username = user.username
        user_to_insert.password = encrypt(user.password)
        user_to_insert.zip_code = user.zip_code
        user_to_insert.complement = user.complement
        user_to_insert.neighborhood = user.neighborhood
        user_to_insert.adress_number = user.adress_number
        user_to_insert.phone = user.phone
        db.add(user_to_insert)
        return user
Beispiel #13
0
def insert_item_cart(item, cart, product):
    with session_scope() as db:
        item_cart = db.query(ItemCart).join(Cart).filter(
            and_(
                ItemCart.product_id == product.id,
                ItemCart.cart_id == cart.id
                )
            ).first()
        if item_cart:
            item_cart.total += product.price * item.amount
            item_cart.amount += item.amount
        else:
            item_cart_total = product.price * item.amount
            item_cart = ItemCart(product_id=product.id, cart_id=cart.id, value=product.price,
                                 amount=item.amount, total=item_cart_total)

        db.add(item_cart)
        return
    pass
Beispiel #14
0
def get_product_by_product_id(id: int, item_amount):
    with session_scope() as db:
        product = db.query(Product).filter(
            and_(Product.id == id, Product.amount >= item_amount)).first()
        if product:
            return Product(id=product.id,
                           category_id=product.category_id,
                           name=product.name,
                           amount=product.amount,
                           price=product.price)
        return None


# def sum_all_itens_cart(item, cart, product):
#     with session_scope() as db:
#         total = product.price * item.amount
#         item_cart = ItemCart(product_id=item.id, cart_id=cart.id, value=product.value,
#                              amount=item.amount, total=total)
#         # somar os totais dos itens e dar um update no cart
#         cart = Cart(id=cart.id, user_id=cart.user_id, total=)
#         # db.add(p)
#         return,
#     pass
Beispiel #15
0
def insert_category(category):
    with session_scope() as db:
        cat = Category(name=category.name, description=category.description)
        db.add(cat)
Beispiel #16
0
def create_user_cart(user):
    with session_scope() as db:
        cart = Cart(user_id=user.id, total=0)
        db.add(cart)
        return
    pass
Beispiel #17
0
def delete_user_by_id(id: int):
    with session_scope() as db:
        user = db.query(User).filter(User.id == id).first()
        db.delete(user)
        return "deleted with success"
    pass
Beispiel #18
0
def get_cart_by_user_id(id: int):
    with session_scope() as db:
        cart = db.query(Cart).filter(Cart.user_id == id).first()
        return Cart(id=cart.id, user_id=cart.user_id, total=cart.total)
    pass
Beispiel #19
0
def set_total_cart_value(id: int, total_item: float):
    with session_scope() as db:
        cart = db.query(Cart).filter(Cart.user_id == id).first()
        cart.total += total_item
        db.add(cart)
        return Cart(id=cart.id, user_id=cart.user_id, total=cart.total)
Beispiel #20
0
def get_user_by_cpf(cpf: str):
    with session_scope() as db:
        user = db.query(User).filter(User.cpf == cpf).first()
        return User(id=user.id, name=user.name, age=user.age, job=user.job)
    pass
Beispiel #21
0
def get_user_by_id(id: int):
    with session_scope() as db:
        user = db.query(User).filter(User.id == id).first()
        return User(id=user.id, name=user.name, age=user.age, job=user.job)
    pass