File size: 1,897 Bytes
c4d6e1d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e224aa9
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from sqlalchemy import create_engine, Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

Base = declarative_base()

class Candidate(Base):
    
    __tablename__ = 'candidates'
    id = Column(Integer, primary_key=True)
    unique_id = Column(String, unique=True)  
    name = Column(String)  
    location = Column(String)
    experience = Column(String)
    education = Column(String)
    skills = Column(String)

class Job(Base):
    
    __tablename__ = 'jobs'
    id = Column(Integer, primary_key=True)
    unique_id = Column(String, unique=True) 
    title = Column(String)
    description = Column(String)

DATABASE_URL = "sqlite:////tmp/ats_demo.db"

engine = create_engine(DATABASE_URL, echo=False)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()

def save_candidate(parsed_data, unique_id):

    candidate = Candidate(
        unique_id=unique_id,
        name=parsed_data.get("name"),
        location=parsed_data.get("location"),
        experience=parsed_data.get("experience"),
        education=parsed_data.get("education"),
        skills=parsed_data.get("skills")
    )
    session.add(candidate)
    session.commit()

def save_job(job_title, job_description, unique_id):

    job = Job(
        unique_id=unique_id,
        title=job_title,
        description=job_description
    )
    session.add(job)
    session.commit()

def delete_candidate(unique_id):

    candidate = session.query(Candidate).filter_by(unique_id=unique_id).first()
    if candidate:
        session.delete(candidate)
        session.commit()
        return True
    return False

def delete_job(unique_id):
    
    job = session.query(Job).filter_by(unique_id=unique_id).first()
    if job:
        session.delete(job)
        session.commit()
        return True
    return False