vst / app /models /models.py
MFF212's picture
Upload 16 files
13933bf verified
Raw History Blame Contribute Delete
1.83 kB
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from app.database.database import Base
class VisitorLog(Base):
__tablename__ = "visitor_log"
sl_no = Column(Integer, primary_key=True, index=True, autoincrement=True)
full_name = Column(String(255), nullable=False)
email_address = Column(String(255), nullable=False)
phone_number = Column(String(20), nullable=False)
company_name = Column(String(255), nullable=True)
qid_id_number = Column(String(50), nullable=True)
purpose_of_visit = Column(String(500), nullable=False)
person_to_meet = Column(String(255), nullable=False)
preferred_datetime = Column(DateTime, nullable=False)
reference_number = Column(String(50), unique=True, nullable=False, index=True)
# Relationship with MeetingStatus
meeting_status = relationship("MeetingStatus", back_populates="visitor_log")
class MeetingStatus(Base):
__tablename__ = "meeting_status"
sl_no = Column(Integer, primary_key=True, index=True, autoincrement=True)
reference_number = Column(String(50), ForeignKey("visitor_log.reference_number"), nullable=False, unique=True)
status = Column(String(50), nullable=False)
email_send = Column(String(10), nullable=True) # Assuming this is a Yes/No or similar status
# Relationship with VisitorLog
visitor_log = relationship("VisitorLog", back_populates="meeting_status")
class PersonToMeet(Base):
__tablename__ = "person_to_meet"
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
name = Column(String(255), nullable=False)
phone_number = Column(String(20), nullable=False, unique=True)
department = Column(String(255), nullable=False)
email_id = Column(String(255), nullable=False)