コード例 #1
0
ファイル: main.py プロジェクト: 3LN35/G2M2E4-DESAFIO7
async def read_products():
    products_in_db = get_all_products()
    products_out = []
    for prod in products_in_db:
        product_out = ProductOut(**prod.dict())
        products_out.append(product_out)
    return products_out
コード例 #2
0
async def all_products(session: Session = Depends(get_session)):
    products_in_db = session.query(ProductInDB).order_by(ProductInDB.id)

    products_out: List[ProductOut] = []
    for product in products_in_db:
        product_out = ProductOut(**product.__dict__)
        products_out.append(product_out)

    return products_out
コード例 #3
0
async def create_product(product_create: ProductCreate):
    #Totas las comprobaciones Necesarias
    product_create = get_product(product_create.codigo)

    if product_create != None:
        raise HTTPException(status_code=400, detail="El producto ya existe")

    product_saved = save_product(ProductsInDB(**product_create.dict()))
    return ProductOut(**product_saved.dict())
コード例 #4
0
async def delete_product_codigo(codigo: str):
    product_in_db = get_product(codigo)

    if product_in_db == None:
        raise HTTPException(status_code=404,
                            detail="El producto no encontrado")

    product_deleted = delete_product(codigo)

    return ProductOut(**product_deleted.dict())
コード例 #5
0
async def update_product(product_create: ProductCreate):
    product_in_db = get_product(product_create.codigo)

    if product_in_db == None:
        raise HTTPException(status_code=404,
                            detail="El producto no encontrado")

    product_updated = save_product(ProductsInDB(**product_create.dict()))

    return ProductOut(**product_updated.dict())
コード例 #6
0
async def get_producto(codigo: str):

    product_in_db = get_product(codigo)

    if product_in_db == None:
        raise HTTPException(status_code=404, detail="El producto no existe")

    product_out = ProductOut(**product_in_db.dict())

    return product_out
コード例 #7
0
async def create_product(product: ProductIn,
                         session: Session = Depends(get_session)):
    product_in_db = ProductInDB(**product.dict())

    # Create
    session.add(product_in_db)
    session.commit()
    session.refresh(product_in_db)

    product_out = ProductOut(**product_in_db.__dict__)

    return product_out
コード例 #8
0
async def update_product(product: ProductOut,
                         session: Session = Depends(get_session)):
    product_in_db = session.query(ProductInDB).get(product.id)

    if product_in_db == None:
        raise HTTPException(status_code=404, detail='El producto no existe.')
    else:
        # Update
        product_in_db.nombre = product.nombre
        product_in_db.categoria = product.categoria
        product_in_db.precio = product.precio
        product_in_db.unidad = product.unidad
        product_in_db.proveedor = product.proveedor
        product_in_db.disponibilidad = product.disponibilidad
        product_in_db.url = product.url

        session.commit()
        session.refresh(product_in_db)

        product_out = ProductOut(**product_in_db.__dict__)

        return product_out
コード例 #9
0
async def get_product(id: int, session: Session = Depends(get_session)):
    product_in_db = session.query(ProductInDB).get(id)
    if product_in_db == None:
        raise HTTPException(status_code=404, detail="El producto no existe.")
    product_out = ProductOut(**product_in_db.__dict__)
    return product_out