anhelados / routers /insumos.py
JairoDanielMT's picture
Update routers/insumos.py
33223a2 verified
raw
history blame
No virus
2.43 kB
from library.librerias import *
from models.insumos import Insumos
router = APIRouter(
prefix="/insumos",
tags=["Insumos"],
responses={404: {"description": "No encontrado"}},
)
"""CREATE TABLE insumos (
ID_Insumo INTEGER PRIMARY KEY AUTOINCREMENT,
Descripcion TEXT,
Tipo TEXT,
Costo REAL,
Cantidad INTEGER
);"""
@router.get("/")
def get_insumos():
try:
with DatabaseConnection().get_connection() as conn:
cursor = conn.cursor()
cursor.execute("SELECT * FROM insumos")
insumos = cursor.fetchall()
return insumos
except Exception as e:
print(e)
return []
@router.post("/")
def post_insumo(insumo: Insumos):
try:
with DatabaseConnection().get_connection() as conn:
cursor = conn.cursor()
cursor.execute(
"INSERT INTO insumos (Descripcion, Tipo, Costo, Cantidad) VALUES (?, ?, ?, ?)",
(
insumo.Descripcion,
insumo.Tipo,
insumo.Costo,
insumo.Cantidad,
),
)
conn.commit()
return {"message": "Insumo creado"}
except Exception as e:
print(e)
return []
@router.put("/")
def put_insumo(insumo: Insumos):
try:
with DatabaseConnection().get_connection() as conn:
cursor = conn.cursor()
cursor.execute(
"UPDATE insumos SET Descripcion = ?, Tipo = ?, Costo = ?, Cantidad = ? WHERE ID_Insumo = ?",
(
insumo.Descripcion,
insumo.Tipo,
insumo.Costo,
insumo.Cantidad,
insumo.ID_Insumo,
),
)
conn.commit()
return {"message": "Insumo actualizado"}
except Exception as e:
print(e)
return []
# search by descripcion in insumos table with like
@router.get("/{Descripcion}")
def get_insumo_by_descripcion(Descripcion: str):
try:
with DatabaseConnection().get_connection() as conn:
cursor = conn.cursor()
cursor.execute(
"SELECT * FROM insumos WHERE Descripcion LIKE ?", (f"%{Descripcion}%",)
)
insumo = cursor.fetchall()
return insumo
except Exception as e:
print(e)
return []