Commit inicial: estrutura o projeto MVC
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from model.usuario import Usuario, UsuarioNaoEncontrado, EmailJaCadastrado
|
||||
from dao.usuario_dao import UsuarioDao
|
||||
import bcrypt
|
||||
|
||||
|
||||
class UsuarioService:
|
||||
_instancia = None
|
||||
|
||||
@classmethod
|
||||
def instancia(cls):
|
||||
if cls._instancia is None:
|
||||
cls._instancia = cls()
|
||||
return cls._instancia
|
||||
|
||||
def __init__(self):
|
||||
self.dao = UsuarioDao.instancia()
|
||||
|
||||
def registrar(self, nome, email, senha):
|
||||
if self.dao.buscar_por_email(email):
|
||||
raise EmailJaCadastrado()
|
||||
|
||||
senha_hash = bcrypt.hashpw(
|
||||
senha.encode('utf-8'),
|
||||
bcrypt.gensalt()
|
||||
).decode('utf-8')
|
||||
|
||||
usuario = Usuario(nome=nome, email=email, senha_hash=senha_hash)
|
||||
return self.dao.criar(usuario)
|
||||
|
||||
def buscar_por_id(self, id):
|
||||
usuario = self.dao.buscar_por_id(id)
|
||||
if not usuario:
|
||||
raise UsuarioNaoEncontrado()
|
||||
return usuario
|
||||
Reference in New Issue
Block a user