from model.dispositivo import Dispositivo, DispositivoNaoEncontrado from dao.dispositivo_dao import DispositivoDao class DispositivoService: _instancia = None @classmethod def instancia(cls): if cls._instancia is None: cls._instancia = cls() return cls._instancia def __init__(self): self.dao = DispositivoDao.instancia() def criar(self, usuario_id, nome, descricao=None): dispositivo = Dispositivo(usuario_id=usuario_id, nome=nome, descricao=descricao) return self.dao.criar(dispositivo) def buscar_por_id(self, id): dispositivo = self.dao.buscar_por_id(id) if not dispositivo: raise DispositivoNaoEncontrado() return dispositivo def buscar_por_chave(self, chave): dispositivo = self.dao.buscar_por_chave(chave) if not dispositivo: raise DispositivoNaoEncontrado() return dispositivo def listar_por_usuario(self, usuario_id): return self.dao.listar_por_usuario(usuario_id) def deletar(self, id): dispositivo = self.dao.buscar_por_id(id) if not dispositivo: raise DispositivoNaoEncontrado() self.dao.deletar(dispositivo)