Job_Tracker_API / app /models /application.py
abdullah090809's picture
Backend i guess complete
cf25e9f
Raw
History Blame Contribute Delete
986 Bytes
import enum
from sqlalchemy import Column, Date, DateTime, Enum, ForeignKey, Integer, String, Text, func
from app.cores.database import Base
from sqlalchemy.orm import relationship
class ApplicationStatus(str, enum.Enum):
applied = "applied"
interview = "interview"
offer = "offer"
rejected = "rejected"
class Application(Base):
__tablename__ = "applications"
id = Column(Integer, primary_key=True, nullable=False)
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
company = Column(String, nullable=False)
role = Column(String, nullable=False)
status = Column(Enum(ApplicationStatus), nullable=False, default=ApplicationStatus.applied)
applied_date = Column(Date, nullable=False)
jd_text = Column(Text, nullable=True)
notes = Column(Text, nullable=True)
created_at = Column(DateTime(timezone=True), server_default=func.now())
owner = relationship("User", back_populates="applications")