Spaces:
Sleeping
Sleeping
File size: 1,220 Bytes
96df7b1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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'<Candidate {self.name} | {self.score}%>'
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)
|