Spaces:
Running
Running
File size: 3,230 Bytes
35c6a2c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
from typing import List
from fastapi import APIRouter,Depends,HTTPException
from fastapi.security import OAuth2PasswordBearer
from sqlalchemy.orm import Session
from db.session import get_session
from schemas.TarifaSh import *
from cruds.TarifaCrud import *
from schemas.UsuarioSh import UserRead
from routes.UsuarioR import get_current_user
import pytz
router = APIRouter()
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/users/login")
BARBERO = "BARBERO"
# Obtener la zona horaria de Colombia
colombia_tz = pytz.timezone('America/Bogota')
# # Obtener la fecha actual en la zona horaria de Colombia
@router.post("/create-tarifa/",response_model=TarifaRead)
def create_tarifa(tarifa_create:TarifaCreate,db:Session = Depends(get_session),current_user: UserRead = Depends(get_current_user)):
if current_user.estado_usuario:
if current_user.rol == BARBERO:
fecha_actual_colombia = datetime.now(colombia_tz)
return create_new_tarifa(tarifa_create,current_user.id_usuario,fecha_actual_colombia,db)
else:
raise HTTPException(status_code=401, detail="No esta autorizado")
else:
raise HTTPException(status_code=401, detail="Su usuario esta inactivo")
@router.get("/get-tarifas/",response_model=List[TarifaRead])
def obtener_tarifas(db:Session = Depends(get_session),current_user: UserRead = Depends(get_current_user)):
if current_user.estado_usuario:
if current_user.rol == BARBERO:
tarifas = get_all_tarifas(db,current_user.id_usuario)
if tarifas is None:
raise HTTPException(status_code=404, detail="No existen tarifas")
else:
return tarifas
else:
raise HTTPException(status_code=401, detail="No esta autorizado")
else:
raise HTTPException(status_code=401, detail="Su usuario esta inactivo")
@router.post("/update-tarifa/",response_model=TarifaUpdate)
def update_tarifa(updateTarifa:TarifaUpdate,db:Session = Depends(get_session),current_user: UserRead = Depends(get_current_user)):
if current_user.estado_usuario:
if current_user.rol == BARBERO:
tarifas = tarifa_update(updateTarifa,db)
if tarifas is None:
raise HTTPException(status_code=404, detail="No existen tarifas")
else:
return tarifas
else:
raise HTTPException(status_code=401, detail="No esta autorizado")
else:
raise HTTPException(status_code=401, detail="Su usuario esta inactivo")
@router.post("/update-tarifa-status/",response_model=TarifaUpdate)
def update_tarifa_status(updateTarifaStatus:TarifaBase,db:Session = Depends(get_session),current_user: UserRead = Depends(get_current_user)):
if current_user.estado_usuario:
if current_user.rol == BARBERO:
tarifas = delete_tarifa(updateTarifaStatus,db)
if tarifas is None:
raise HTTPException(status_code=404, detail="No existen la Tarifa")
else:
return tarifas
else:
raise HTTPException(status_code=401, detail="No esta autorizado")
else:
raise HTTPException(status_code=401, detail="Su usuario esta inactivo") |