Coverage for backend \ app \ Productos \ controllers \ categoriaProductoController.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.categoriaProductoService import CategoriaProductoService
3from app.Productos.schemas.categoriaProductoSchemas 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=["CategoriaProducto"], summary="Obtener todas las categorias", status_code=200, response_model=respuestaApi)
11async def obtenerTodasLasCategorias(dbSession=Depends(obtenerSesion)):
12 return CategoriaProductoService(dbSession).listarCategorias()
14@router.get("/{idCategoria}", tags=["CategoriaProducto"], summary="Obtener una categoria por id", status_code=200, response_model=respuestaApi)
15async def obtenerCategoriaPorId(idCategoria: int, dbSession=Depends(obtenerSesion)):
16 return CategoriaProductoService(dbSession).obtenerPorId(idCategoria)
18@router.post("/", tags=["CategoriaProducto"], description="Crear una nueva categoria", status_code=201, response_model=respuestaApi)
19async def crearCategoria(categoria: CategoriaProductoCrearSchema, dbSession=Depends(obtenerSesion)):
20 return CategoriaProductoService(dbSession).crearCategoria(categoria)
22@router.put("/{idCategoria}", tags=["CategoriaProducto"], summary="Actualizar una categoria por id", status_code=200, response_model=respuestaApi)
23async def actualizarCategoria(idCategoria: int, categoria: CategoriaProductoActualizarSchema, dbSession=Depends(obtenerSesion)):
24 return CategoriaProductoService(dbSession).modificarCategoria(idCategoria, categoria)
26@router.delete("/{idCategoria}", tags=["CategoriaProducto"], summary="Deshabilitar una categoria por id", status_code=200, response_model=respuestaApi)
27async def deshabilitarCategoria(idCategoria: int, dbSession=Depends(obtenerSesion)):
28 return CategoriaProductoService(dbSession).deshabilitarCategoria(idCategoria)