Coverage for backend \ app \ ParametrosSistema \ controllers \ parametroSistemaController.py: 77.78%

27 statements  

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

1from fastapi import APIRouter, Depends 

2from app.configuracionGeneral.schemasGenerales import respuestaApi 

3from app.ParametrosSistema.services.parametroSistemaService import ParametroSistemaService 

4from app.ParametrosSistema.schemas.parametroSistemaSchemas import * 

5from app.database import obtenerSesion 

6from app.configuracionGeneral.seguridadJWT import protegerRuta 

7 

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

9 

10@router.get("/", tags=["ParametrosSistema"], summary="Obtener todos los parámetros", status_code=200, response_model=respuestaApi) 

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

12 servicio = ParametroSistemaService(dbSession) 

13 return servicio.listarParametros() 

14 

15@router.get("/{idParametro}", tags=["ParametrosSistema"], summary="Obtener un parámetro por id", status_code=200, response_model=respuestaApi) 

16async def obtenerParametroPorId(idParametro: int, dbSession=Depends(obtenerSesion)): 

17 servicio = ParametroSistemaService(dbSession) 

18 return servicio.obtenerParametroPorId(idParametro) 

19 

20@router.post("/", tags=["ParametrosSistema"], summary="Crear un parámetro", status_code=201, response_model=respuestaApi) 

21async def crearParametro(parametro: ParametroSistemaCrearSchema, dbSession=Depends(obtenerSesion)): 

22 servicio = ParametroSistemaService(dbSession) 

23 return servicio.crearParametro(parametro) 

24 

25@router.put("/{idParametro}", tags=["ParametrosSistema"], summary="Actualizar un parámetro", status_code=200, response_model=respuestaApi) 

26async def actualizarParametro(idParametro: int, parametro: ParametroSistemaActualizarSchema, dbSession=Depends(obtenerSesion)): 

27 servicio = ParametroSistemaService(dbSession) 

28 return servicio.modificarParametro(idParametro, parametro) 

29 

30@router.delete("/{idParametro}", tags=["ParametrosSistema"], summary="Eliminar (soft delete) un parámetro por id", status_code=200, response_model=respuestaApi) 

31async def deshabilitarParametro(idParametro: int, dbSession=Depends(obtenerSesion)): 

32 servicio = ParametroSistemaService(dbSession) 

33 return servicio.deshabilitarParametro(idParametro)