Adicionar app/models.py
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
from sqlalchemy import Column, String, Boolean, Text, DateTime, Integer
|
||||
from datetime import datetime
|
||||
from db import Base
|
||||
|
||||
class User(Base):
|
||||
__tablename__ = "users"
|
||||
id = Column(String, primary_key=True)
|
||||
email = Column(String, unique=True)
|
||||
name = Column(String)
|
||||
twofa_enabled = Column(Boolean, default=False)
|
||||
twofa_method = Column(String, default="totp")
|
||||
twofa_secret = Column(String)
|
||||
twofa_sensitive_actions = Column(Boolean, default=False)
|
||||
|
||||
class Preferences(Base):
|
||||
__tablename__ = "preferences"
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
user_id = Column(String)
|
||||
preferred_mode = Column(String, default="conversar")
|
||||
auto_search = Column(Boolean, default=True)
|
||||
auto_monitoring = Column(Boolean, default=False)
|
||||
preferred_export = Column(String, default="pdfa")
|
||||
likes_suggestions = Column(Boolean, default=True)
|
||||
likes_quick_actions = Column(Boolean, default=True)
|
||||
|
||||
class Conversation(Base):
|
||||
__tablename__ = "conversations"
|
||||
id = Column(String, primary_key=True)
|
||||
user_id = Column(String)
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
mode = Column(String)
|
||||
context_summary = Column(Text)
|
||||
|
||||
class Message(Base):
|
||||
__tablename__ = "messages"
|
||||
id = Column(String, primary_key=True)
|
||||
conversation_id = Column(String)
|
||||
role = Column(String)
|
||||
content = Column(Text)
|
||||
metadata = Column(Text)
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
|
||||
class MonitoringTopic(Base):
|
||||
__tablename__ = "monitoring_topics"
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
user_id = Column(String)
|
||||
label = Column(String)
|
||||
sources = Column(Text)
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
active = Column(Boolean, default=True)
|
||||
|
||||
class Alert(Base):
|
||||
__tablename__ = "alerts"
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
user_id = Column(String)
|
||||
monitoring_topic_id = Column(Integer)
|
||||
title = Column(String)
|
||||
description = Column(Text)
|
||||
source = Column(String)
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
|
||||
class AuditTrail(Base):
|
||||
__tablename__ = "audit_trail"
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
user_email = Column(String)
|
||||
action = Column(String)
|
||||
details = Column(Text)
|
||||
timestamp = Column(DateTime, default=datetime.utcnow)
|
||||
Reference in New Issue
Block a user