vst / app /models /models.py
MFF212's picture
Upload 16 files
13933bf verified
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)