Coverage for backend \ app \ Clientes \ controllers \ clienteController.py: 86.36%

22 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-29 16:13 -0500

1from fastapi import APIRouter, Depends 

2from app.Clientes.services.clienteService import ClienteService 

3from app.Clientes.schemas.clienteSchemas import * 

4from app.database import obtenerSesion 

5from app.configuracionGeneral.seguridadJWT import protegerRuta 

6from app.configuracionGeneral.schemasGenerales import respuestaApi 

7 

8router = APIRouter(dependencies=[Depends(protegerRuta("Cliente", "ALL"))]) 

9 

10@router.get("/", tags=["Clientes"], summary="Obtener todos los clientes", status_code=200, response_model=respuestaApi) 

11async def obtenerTodosLosClientes(dbSession=Depends(obtenerSesion)): 

12 return ClienteService(dbSession).listarClientes() 

13 

14@router.get("/{idCliente}", tags=["Clientes"], summary="Obtener un cliente por id", status_code=200, response_model=respuestaApi) 

15async def obtenerCliente(idCliente: int, dbSession=Depends(obtenerSesion)): 

16 return ClienteService(dbSession).obtenerPorId(idCliente) 

17 

18@router.post("/", tags=["Clientes"], description="Crear un nuevo cliente", status_code=201, response_model=respuestaApi) 

19async def crearCliente(cliente: ClienteCrearSchema, dbSession=Depends(obtenerSesion)): 

20 return ClienteService(dbSession).crearCliente(cliente) 

21 

22@router.put("/{idCliente}", tags=["Clientes"], summary="Actualizar un cliente por id", status_code=200, response_model=respuestaApi) 

23async def actualizarCliente(idCliente: int, cliente: ClienteActualizarSchema, dbSession=Depends(obtenerSesion)): 

24 return ClienteService(dbSession).modificarCliente(idCliente, cliente) 

25 

26@router.delete("/{idCliente}", tags=["Clientes"], summary="Deshabilitar un cliente por id", status_code=200, response_model=respuestaApi) 

27async def deshabilitarCliente(idCliente: int, dbSession=Depends(obtenerSesion)): 

28 return ClienteService(dbSession).deshabilitarCliente(idCliente)