Coverage for backend \ app \ ParametrosSistema \ services \ parametroSistemaService.py: 100.00%
40 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 app.ParametrosSistema.repositories.parametroSistemaRepository import ParametroSistemaRepository
2from app.configuracionGeneral.schemasGenerales import respuestaApi
3from fastapi import HTTPException
4from app.ParametrosSistema.schemas.parametroSistemaSchemas import *
6class ParametroSistemaService:
7 def __init__(self, dbSession):
8 self.dbSession = dbSession
9 # Usar nombre completo de atributo para consistencia con otros servicios
10 self.parametroSistemaRepository = ParametroSistemaRepository(dbSession)
12 def listarParametros(self):
13 parametros = self.parametroSistemaRepository.listarParametros()
14 if not parametros:
15 return respuestaApi(success=True, message="No se encontraron parámetros", data=[])
16 datos = [ParametroSistemaRespuestaSchema.from_orm(p) for p in parametros]
17 return respuestaApi(success=True, message="Parámetros encontrados", data=datos)
19 def obtenerParametroPorId(self, idParametro: int):
20 parametro = self.parametroSistemaRepository.obtenerPorId(idParametro)
21 if parametro is None:
22 raise HTTPException(status_code=404, detail="Parámetro no encontrado")
23 parametro = ParametroSistemaRespuestaSchema.from_orm(parametro)
24 return respuestaApi(success=True, message="Parámetro encontrado", data=parametro)
26 def crearParametro(self, parametro: ParametroSistemaCrearSchema):
27 creado = self.parametroSistemaRepository.crearParametro(parametro)
28 if creado is None:
29 raise HTTPException(status_code=400, detail="La clave del parámetro ya existe")
30 creado = ParametroSistemaRespuestaSchema.from_orm(creado)
31 return respuestaApi(success=True, message="Parámetro creado", data=creado)
33 def modificarParametro(self, idParametro: int, parametro: ParametroSistemaActualizarSchema):
34 actualizado = self.parametroSistemaRepository.modificarParametro(idParametro, parametro)
35 if actualizado is False:
36 raise HTTPException(status_code=400, detail="La clave del parámetro ya existe")
37 if actualizado is None:
38 raise HTTPException(status_code=404, detail="Parámetro no encontrado")
39 actualizado = ParametroSistemaRespuestaSchema.from_orm(actualizado)
40 return respuestaApi(success=True, message="Parámetro actualizado", data=actualizado)
42 def deshabilitarParametro(self, idParametro: int):
43 eliminado = self.parametroSistemaRepository.deshabilitarParametro(idParametro)
44 if eliminado is None:
45 raise HTTPException(status_code=404, detail="Parámetro no encontrado")
46 eliminado = ParametroSistemaRespuestaSchema.from_orm(eliminado)
47 return respuestaApi(success=True, message="Parámetro deshabilitado", data=eliminado)