Skip to content

router.py

Define as rotas da API para gerenciamento de produtos.

Endpoints

GET /products

Retorna a lista de todos os produtos.

Source code in backend\router.py
17
18
19
@router.get("/products", response_model=List[productResponse])
def get_all_products(db: Session = Depends(get_db)):
    return get_products(db)

GET /products/{product_id}

Retorna um produto específico com base no ID.

Source code in backend\router.py
22
23
24
25
26
27
@router.get("/products/{product_id}", response_model=productResponse)
def get_product(product_id: int, db: Session = Depends(get_db)):
    product = get_product_by_id(db, product_id)
    if product is None:
        raise HTTPException(status_code=404, detail="O Produto não existe")
    return product 

POST /products

Cria um novo produto.

Source code in backend\router.py
30
31
32
@router.post("/products", response_model=productResponse)
def create_new_product(product: productCreate, db: Session = Depends(get_db)):
    return create_product(db, product)

DELETE /products/{product_id}

Deleta um produto pelo ID.

Source code in backend\router.py
35
36
37
38
39
40
@router.delete("/products/{product_id}", response_model=productResponse)
def delete_product_by_id(product_id: int, db: Session = Depends(get_db)):
    product_db = delete_product(db, product_id)
    if product_db is None:
        raise HTTPException(status_code=404, detail="O Produto não existe")
    return product_db

PUT /products/{product_id}

Atualiza os detalhes de um produto pelo ID.

Source code in backend\router.py
43
44
45
46
47
48
@router.put("/products/{product_id}", response_model=productResponse)
def update_product_by_id(product_id: int, product: productUpdate, db: Session = Depends(get_db)):
    product_db = update_product(db, product_id, product)
    if product_db is None:
        raise HTTPException(status_code=404, detail="O Produto não existe")
    return product_db