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
+19
View File
@@ -0,0 +1,19 @@
from database import db
from datetime import datetime
import uuid
class DispositivoNaoEncontrado(Exception):
pass
class Dispositivo(db.Model):
__tablename__ = 'dispositivos'
id = db.Column(db.Integer, primary_key=True)
usuario_id = db.Column(db.Integer, db.ForeignKey('usuarios.id'), nullable=False)
nome = db.Column(db.String(100), nullable=False)
descricao = db.Column(db.String(200))
chave = db.Column(db.String(36), unique=True, default=lambda: str(uuid.uuid4()), nullable=False)
ativo = db.Column(db.Boolean, default=True)
criado_em = db.Column(db.DateTime, default=datetime.utcnow)
+15
View File
@@ -0,0 +1,15 @@
from database import db
from datetime import datetime
class LeituraNaoEncontrada(Exception):
pass
class Leitura(db.Model):
__tablename__ = 'leituras'
id = db.Column(db.Integer, primary_key=True)
dispositivo_id = db.Column(db.Integer, db.ForeignKey('dispositivos.id'), nullable=False)
payload = db.Column(db.JSON, nullable=False)
criado_em = db.Column(db.DateTime, default=datetime.utcnow)
+21
View File
@@ -0,0 +1,21 @@
from database import db
from datetime import datetime
import uuid
class UsuarioNaoEncontrado(Exception):
pass
class EmailJaCadastrado(Exception):
pass
class Usuario(db.Model):
__tablename__ = 'usuarios'
id = db.Column(db.Integer, primary_key=True)
nome = db.Column(db.String(100), nullable=False)
email = db.Column(db.String(150), unique=True, nullable=False)
senha_hash = db.Column(db.String(255), nullable=False)
token_api = db.Column(db.String(36), unique=True, default=lambda: str(uuid.uuid4()))
criado_em = db.Column(db.DateTime, default=datetime.utcnow)