Commit inicial: estrutura o projeto MVC

This commit is contained in:
Fernanda
2026-04-07 18:07:06 -03:00
parent 36777c4537
commit 4e21f32e6f
16 changed files with 286 additions and 63 deletions
View File
+44
View File
@@ -0,0 +1,44 @@
from flask import Blueprint, request, jsonify
from service.dispositivo_service import DispositivoService
from model.dispositivo import DispositivoNaoEncontrado
dispositivo_bp = Blueprint('dispositivo', __name__)
@dispositivo_bp.route('/dispositivos', methods=['POST'])
def criar():
dados = request.get_json()
dispositivo = DispositivoService.instancia().criar(
usuario_id=dados['usuario_id'],
nome=dados['nome'],
descricao=dados.get('descricao')
)
return jsonify({
"id": dispositivo.id,
"usuario_id": dispositivo.usuario_id,
"nome": dispositivo.nome,
"descricao": dispositivo.descricao,
"chave": dispositivo.chave,
"ativo": dispositivo.ativo
}), 201
@dispositivo_bp.route('/dispositivos/<int:usuario_id>', methods=['GET'])
def listar(usuario_id):
dispositivos = DispositivoService.instancia().listar_por_usuario(usuario_id)
return jsonify([{
"id": d.id,
"nome": d.nome,
"descricao": d.descricao,
"chave": d.chave,
"ativo": d.ativo
} for d in dispositivos])
@dispositivo_bp.route('/dispositivos/<int:id>', methods=['DELETE'])
def deletar(id):
try:
DispositivoService.instancia().deletar(id)
return jsonify({"mensagem": "Dispositivo deletado"}), 200
except DispositivoNaoEncontrado:
return jsonify({"erro": "Dispositivo nao encontrado"}), 404
+38
View File
@@ -0,0 +1,38 @@
from flask import Blueprint, request, jsonify
from service.usuario_service import UsuarioService
from model.usuario import EmailJaCadastrado, UsuarioNaoEncontrado
usuario_bp = Blueprint('usuario', __name__)
@usuario_bp.route('/auth/registro', methods=['POST'])
def registrar():
dados = request.get_json()
try:
usuario = UsuarioService.instancia().registrar(
nome=dados['nome'],
email=dados['email'],
senha=dados['senha']
)
return jsonify({
"id": usuario.id,
"nome": usuario.nome,
"email": usuario.email,
"token_api": usuario.token_api
}), 201
except EmailJaCadastrado:
return jsonify({"erro": "Email ja cadastrado"}), 409
@usuario_bp.route('/auth/usuario/<int:id>', methods=['GET'])
def buscar(id):
try:
usuario = UsuarioService.instancia().buscar_por_id(id)
return jsonify({
"id": usuario.id,
"nome": usuario.nome,
"email": usuario.email,
"token_api": usuario.token_api
})
except UsuarioNaoEncontrado:
return jsonify({"erro": "Usuario nao encontrado"}), 404