from flask_sqlalchemy import SQLAlchemy from datetime import datetime db = SQLAlchemy() class Candidate(db.Model): __tablename__ = 'candidates' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(200), nullable=False) email = db.Column(db.String(200)) phone = db.Column(db.String(50)) score = db.Column(db.Float, default=0) status = db.Column(db.String(50), default='pending') # pending, shortlisted, rejected, scheduled job_title = db.Column(db.String(200)) skills_matched = db.Column(db.Text) # JSON list skills_missing = db.Column(db.Text) # JSON list reasoning = db.Column(db.Text) resume_filename = db.Column(db.String(300)) interview_scheduled = db.Column(db.String(100)) created_at = db.Column(db.DateTime, default=datetime.utcnow) def __repr__(self): return f'' class JobDescription(db.Model): __tablename__ = 'job_descriptions' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(200)) description = db.Column(db.Text) threshold = db.Column(db.Integer, default=70) created_at = db.Column(db.DateTime, default=datetime.utcnow)