Skip to content

crud.py

Função que retorna todos elementos

Source code in backend\crud.py
6
7
8
def get_products(db: Session):
    """Função que retorna todos elementos"""
    return db.query(ProductModel).all()

Função que recebe um id e retorna somente ele

Source code in backend\crud.py
11
12
13
def get_product_by_id(db: Session, product_id: int):
    """Função que recebe um id e retorna somente ele"""
    return db.query(ProductModel).filter(ProductModel.id == product_id).first()

Função que cria um novo elemento

Source code in backend\crud.py
16
17
18
19
20
21
22
def create_product(db: Session, product: productCreate):
    """Função que cria um novo elemento"""
    db_product = ProductModel(**product.model_dump())
    db.add(db_product)
    db.commit()
    db.refresh(db_product)
    return db_product

Função que deleta um elemento

Source code in backend\crud.py
24
25
26
27
28
29
30
31
32
def delete_product(db: Session, product_id: int):
    """Função que deleta um elemento"""
    db_product = db.query(ProductModel).filter(ProductModel.id == product_id).first()
    if db_product is None:
        return None  # Retorne None se o produto não for encontrado

    db.delete(db_product)
    db.commit()
    return db_product

Função que atualiza um elemento

Source code in backend\crud.py
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
def update_product(db: Session, product_id: int, product: productUpdate):
    """Função que atualiza um elemento"""
    db_product = db.query(ProductModel).filter(ProductModel.id == product_id).first()

    if db_product is None:
        return None

    if product.nome is not None:
        db_product.nome = product.nome
    if product.descricao is not None:
        db_product.descricao = product.descricao
    if product.preço is not None:
        db_product.preço = product.preço
    if product.categoria is not None:
        db_product.categoria = product.categoria
    if product.email_fornecedor is not None:
        db_product.email_fornecedor = product.email_fornecedor

    db.commit()
    return db_product