Spaces:
Running
Running
import sys | |
from models.TarifaM import Tarifa | |
from fastapi import HTTPException | |
from schemas.TarifaSh import * | |
from sqlalchemy.orm import Session | |
from sqlalchemy import desc | |
from datetime import datetime | |
def create_new_tarifa(tarifa_create:TarifaCreate,id_usuario:str,fecha_hora:datetime,db:Session): | |
db_tarifa = Tarifa( | |
id_usuario = id_usuario, | |
descripcion = tarifa_create.descripcion, | |
costo = tarifa_create.costo, | |
created_at = fecha_hora | |
) | |
try: | |
db.add(db_tarifa) | |
db.commit() | |
db.refresh(db_tarifa) | |
db.close() | |
return db_tarifa | |
except Exception as e : | |
db.rollback() | |
# Imprimir el error en la consola | |
print(f"Error al crear una tarifa: {str(e)}",file=sys.stderr) | |
raise HTTPException(status_code=500,detail=f"Error al crear una tarifa: {str(e)} ") | |
def get_all_tarifas(db:Session,id_usuario:str): | |
tarifas = db.query(Tarifa).filter(Tarifa.id_usuario == id_usuario,Tarifa.estado_tarifa == 1).order_by(desc(Tarifa.created_at)).all() | |
if tarifas is None: | |
return None | |
return tarifas | |
def get_tarifa_by_id(id_tarifa:int,db:Session): | |
tarifa_db = db.query(Tarifa).filter(Tarifa.id_tarifa == id_tarifa).first() | |
return tarifa_db | |
def tarifa_update(tarifaUpdate:TarifaUpdate,db:Session): | |
tarifa_db = get_tarifa_by_id(tarifaUpdate.id_tarifa,db) | |
if tarifa_db: | |
try: | |
tarifa_db.descripcion = tarifaUpdate.descripcion | |
tarifa_db.costo = tarifaUpdate.costo | |
db.add(tarifa_db) | |
db.commit() | |
db.refresh(tarifa_db) | |
return tarifa_db | |
except Exception as e : | |
db.rollback() | |
print(f"Error al crear un usuario: {str(e)}",file=sys.stderr) | |
raise HTTPException(status_code=500,detail=f"Error al crear usuario: {str(e)} ") | |
raise HTTPException(status_code=404, detail="No existen tarifas") | |
def delete_tarifa(tarifaUpdateStatus:TarifaBase,db:Session): | |
tarifa_db = get_tarifa_by_id(tarifaUpdateStatus.id_tarifa,db) | |
if tarifa_db: | |
try: | |
tarifa_db.estado_tarifa = False | |
db.add(tarifa_db) | |
db.commit() | |
db.refresh(tarifa_db) | |
return tarifa_db | |
except Exception as e: | |
db.rollback() | |
print(f"Error al Editar Estado: {str(e)}",file=sys.stderr) | |
raise HTTPException(status_code=500,detail=f"Error al Editar usuario: {str(e)} ") | |
raise HTTPException(status_code=404, detail="No existe la tarifas") | |