Coverage for backend \ app \ Productos \ controllers \ proveedorController.py: 86.36%
22 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
1from fastapi import APIRouter, Depends
2from app.Productos.services.proveedorService import ProveedorService
3from app.Productos.schemas.proveedorSchemas import *
4from app.database import obtenerSesion
5from app.configuracionGeneral.seguridadJWT import protegerRuta
6from app.configuracionGeneral.schemasGenerales import respuestaApi
8router = APIRouter(dependencies=[Depends(protegerRuta("Productos", "ALL"))])
10@router.get("/", tags=["Proveedor"], summary="Obtener todos los proveedores", status_code=200, response_model=respuestaApi)
11async def obtenerTodosLosProveedores(dbSession=Depends(obtenerSesion)):
12 return ProveedorService(dbSession).listarProveedores()
14@router.get("/{idProveedor}", tags=["Proveedor"], summary="Obtener un proveedor por id", status_code=200, response_model=respuestaApi)
15async def obtenerProveedorPorId(idProveedor: int, dbSession=Depends(obtenerSesion)):
16 return ProveedorService(dbSession).obtenerPorId(idProveedor)
18@router.post("/", tags=["Proveedor"], description="Crear un nuevo proveedor", status_code=201, response_model=respuestaApi)
19async def crearProveedor(proveedor: ProveedorCrearSchema, dbSession=Depends(obtenerSesion)):
20 return ProveedorService(dbSession).crearProveedor(proveedor)
22@router.put("/{idProveedor}", tags=["Proveedor"], summary="Actualizar un proveedor por id", status_code=200, response_model=respuestaApi)
23async def actualizarProveedor(idProveedor: int, proveedor: ProveedorActualizarSchema, dbSession=Depends(obtenerSesion)):
24 return ProveedorService(dbSession).modificarProveedor(idProveedor, proveedor)
26@router.delete("/{idProveedor}", tags=["Proveedor"], summary="Deshabilitar un proveedor por id", status_code=200, response_model=respuestaApi)
27async def deshabilitarProveedor(idProveedor: int, dbSession=Depends(obtenerSesion)):
28 return ProveedorService(dbSession).deshabilitarProveedor(idProveedor)