Coverage for backend \ app \ Usuarios \ services \ usuarioService.py: 100.00%
49 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.Usuarios.repositories.usuarioRepository import UsuarioRepository
2from app.configuracionGeneral.schemasGenerales import respuestaApi
3from fastapi import HTTPException
4from app.Usuarios.schemas.usuarioSchemas import *
6class UsuarioService:
7 def __init__(self, dbSession):
8 self.dbSession = dbSession
9 self.usuarioRepository = UsuarioRepository(dbSession)
12 def validarCredenciales(self, cedula, password):
13 print(cedula, password)
14 usuario=self.usuarioRepository.validarCredenciales(cedula, password)
15 print(usuario)
16 if usuario is None:
17 raise HTTPException(status_code=401, detail="Credenciales incorrectas")
19 usuario=UsuarioRespuestaSchema.from_orm(usuario).model_dump()
22 if usuario["activoUsuario"] == False:
23 raise HTTPException(status_code=403, detail="El usuario esta deshabilitado")
24 #devolver el idUsuario, cedula, nombreCompleto, idRol y rol como diccionario para el JWT
25 usuario={
26 "idUsuario": usuario["idUsuario"],
27 "cedula": usuario["cedulaUsuario"],
28 "nombreCompleto": usuario["nombreCompleto"],
29 "idRol": usuario["rol"]["idRol"],
30 "rol": usuario["rol"]["nombreRol"]
31 }
33 return usuario
35 def listarUsuarios(self):
36 usuarios=self.usuarioRepository.listarUsuarios()
37 if usuarios is None:
38 return respuestaApi(success=True, message="No se encontraron usuarios", data=[])
39 usuarios=[UsuarioRespuestaSchema.from_orm(usuario) for usuario in usuarios]
40 return respuestaApi(success=True, message="Usuarios encontrados", data=usuarios)
42 def obtenerPorId(self, idUsuario: int):
43 usuario=self.usuarioRepository.obtenerUsuarioPorId(idUsuario)
44 if usuario is None:
45 raise HTTPException(status_code=404, detail="Usuario no encontrado")
46 usuario=UsuarioRespuestaSchema.from_orm(usuario)
47 return respuestaApi(success=True, message="Usuario encontrado", data=usuario)
49 def crearUsuario(self, usuario: UsuarioCrearSchema):
50 usuarioCreado=self.usuarioRepository.crearUsuario(usuario)
51 if usuarioCreado is None:
52 raise HTTPException(status_code=400, detail="La cedula ya esta registrada")
54 usuarioCreado=UsuarioRespuestaSchema.from_orm(usuarioCreado)
56 return respuestaApi(success=True, message="Usuario creado", data=usuarioCreado)
58 def modificarUsuario(self, idUsuario: int, usuario: UsuarioActualizarSchema):
59 usuarioActualizado=self.usuarioRepository.modificarUsuario(idUsuario, usuario)
60 if usuarioActualizado is None:
61 raise HTTPException(status_code=404, detail="Usuario no encontrado")
62 usuarioActualizado=UsuarioRespuestaSchema.from_orm(usuarioActualizado)
63 return respuestaApi(success=True, message="Usuario actualizado", data=usuarioActualizado)
65 def deshabilitarUsuario(self, idUsuario: int):
66 usuarioDeshabilitado=self.usuarioRepository.deshabilitarUsuario(idUsuario)
67 if usuarioDeshabilitado is None:
68 raise HTTPException(status_code=404, detail="Usuario no encontrado")
69 usuarioDeshabilitado=UsuarioRespuestaSchema.from_orm(usuarioDeshabilitado)
70 return respuestaApi(success=True, message="Usuario deshabilitado", data=usuarioDeshabilitado)