health-apps-backend/models/Users.py

28 lines
1.2 KiB
Python

from sqlalchemy import Column, Integer, String
from database import Base
from sqlalchemy import Enum
from enums.enums import ClinicUserRoles, UserType
from models.CustomBase import CustomBase
from sqlalchemy.orm import relationship
class Users(Base, CustomBase):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
username = Column(String, index=True)
email = Column(String, unique=True, index=True)
password = Column(String)
clinicRole = Column(Enum(ClinicUserRoles), nullable=True)
userType = Column(Enum(UserType), nullable=True)
profile_pic = Column(String, nullable=True)
mobile = Column(String, nullable=True)
# Notification relationships
sent_notifications = relationship("Notifications", foreign_keys="Notifications.sender_id", back_populates="sender")
received_notifications = relationship("Notifications", foreign_keys="Notifications.receiver_id", back_populates="receiver")
# FCM relationships
fcm = relationship("Fcm", back_populates="user")
# Clinics created by this user
created_clinics = relationship("Clinics", back_populates="creator")
clinic_file_verifications = relationship("ClinicFileVerifications", back_populates="last_changed_by_user")