Spaces:
Configuration error
Configuration error
File size: 1,210 Bytes
151ec26 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from sqlalchemy import Column, String, Boolean
from sqlalchemy.orm import relationship
from backend.app.models.base import BaseModel
from backend.app.core.security import UserRole
class User(BaseModel):
__tablename__ = "users"
email = Column(String(255), unique=True, index=True, nullable=False)
hashed_password = Column(String(255), nullable=False)
full_name = Column(String(255), nullable=False)
role = Column(String(50), default=UserRole.PATIENT.value, nullable=False)
is_active = Column(Boolean, default=True, nullable=False)
is_verified = Column(Boolean, default=False, nullable=False)
# Relationships
profile = relationship("PatientProfile", back_populates="user", uselist=False, cascade="all, delete-orphan", lazy="selectin")
documents = relationship("MedicalDocument", back_populates="user", cascade="all, delete-orphan", lazy="selectin")
conversations = relationship("AIConversation", back_populates="user", cascade="all, delete-orphan", lazy="selectin")
audit_logs = relationship("AuditLog", back_populates="user", lazy="selectin")
history = relationship("AnalysisHistory", back_populates="user", cascade="all, delete-orphan", lazy="selectin")
|