class Admin(db.Model): __tablename__ = "admin" id = db.Column(db.String(255), nullable=False, primary_key=True) fullname = db.Column(db.String(255)) email = db.Column(db.String(120)) def __repr__(self): return '<Admin: {}, id: {}>'.format(self.fullname, self.id)
class Major(db.Model): __tablename__ = "majors" title = db.Column(db.String(255), primary_key=True) best_job_1 = db.Column(db.Text) best_job_2 = db.Column(db.Text) best_job_3 = db.Column(db.Text) best_jobs = db.Column(db.Text) def to_dict(self): data = self.__dict__.copy() data['title'] = self.title data.pop('_sa_instance_state') return data
class MatchRequest(db.Model): __tablename__ = "match_request" id = db.Column(db.Integer, primary_key=True, autoincrement=True) job_id = db.Column(db.Integer) major = db.Column(db.String(255)) requesting_user_id = db.Column(db.String(255)) # who needs a job? worker_id = db.Column(db.String(255)) # who is assigned to this? status = db.Column(db.String(10), default=MatchStatus.pending.value) created_on = db.Column(db.DateTime, default=datetime.utcnow) updated_on = db.Column(db.DateTime, default=datetime.utcnow) def __repr__(self): import pdb pdb.set_trace() return 'User: {}, Job: {}, Status: {}'.format(self.requesting_user_id, self.job_id, self.status) def to_dict(self): data = self.__dict__.copy() return data
class JobListing(db.Model): __tablename__ = "job_listings" jobKey = db.Column(db.String(255), nullable=False, primary_key=True) source = db.Column(db.String(255), nullable=False) created = db.Column(db.DateTime, nullable=False) jobTitle = db.Column(db.String(255)) company = db.Column(db.String(255)) city = db.Column(db.String(255)) state = db.Column(db.String(255)) country = db.Column(db.String(255)) url = db.Column(db.String(255)) snippet = db.Column(db.String(255)) indeedApply = db.Column(db.Boolean) coverLetter = db.Column(db.Boolean) questions = db.Column(db.Text)
class Job(db.Model): __tablename__ = "jobs" id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) top_skills = db.Column(db.JSON) work_styles = db.Column(db.JSON) avg_salary = db.Column(db.Integer) description = db.Column(db.Text) duties = db.Column(db.Text) # industry = db.Column(db.Text) how_to_become = db.Column(db.Text) education = db.Column(db.Text) licenses = db.Column(db.Text) qualities = db.Column(db.Text) advancement = db.Column(db.Text) avg_length_of_employment_yr = db.Column(db.Float) majors = db.Column(db.Text) degrees = db.Column(db.Text) skills = db.Column(db.Text) other_skills = db.Column(db.Text) top_employers = db.Column(db.Text) career_path = db.Column(db.Text) def to_dict(self): data = self.__dict__.copy() data['title'] = self.title data.pop('_sa_instance_state') return data def __repr__(self): return "<Job (title='%s', salary='%s')" % (self.title, self.avg_salary)
class Resume(db.Model): __tablename__ = "resume" id = db.Column(db.String(255), primary_key=True) data = db.Column(db.LargeBinary(length=(2**24) - 1)) name = db.Column(db.String(45)) contentType = db.Column(db.String(120))
class User(db.Model): __tablename__ = "users" id = db.Column(db.String(255), nullable=False, primary_key=True) fullname = db.Column(db.String(255)) phone = db.Column(db.String(255)) email = db.Column(db.String(120)) major = db.Column(db.String(120)) college = db.Column(db.String(255)) graduationMonth = db.Column(db.Integer) graduationYear = db.Column(db.Integer) gpa = db.Column(db.String(10)) currentLocation = db.Column(db.String(120)) desiredLocation1 = db.Column(db.String(120)) desiredLocation2 = db.Column(db.String(120)) desiredLocation3 = db.Column(db.String(120)) usAuthorized = db.Column(db.Boolean, default=False) over18 = db.Column(db.Boolean, default=True) def __repr__(self): return 'User: {}, id: {}'.format(self.fullname, self.id) def to_dict(self): data = self.__dict__.copy() return data