class Application(db.Model, EntityMixin):
    __tablename__ = 'application'
    id = db.Column(db.Integer, primary_key=True)
    application_token = db.Column(db.String(255))
    position_id = db.Column(
        db.Integer, db.ForeignKey('position.id',
                                  name='application_position_fk'))
    position = db.relationship('Position')
    company_id = db.Column(
        db.Integer, db.ForeignKey('company.id', name='application_company_fk'))
    company = db.relationship('Company')
    talent_id = db.Column(
        db.Integer, db.ForeignKey('talent.id', name='application_talent_fk'))
    talent = db.relationship('Talent')
    status = db.Column(db.Integer, default=0)
    step = db.Column(db.String(255))
    language = db.Column(db.Integer)
    application_date = db.Column(db.DateTime)

    outcome_status = db.Column(db.Integer)
    outcome_email_status = db.Column(db.String(255))

    want_feedback = db.Column(db.Boolean, default=True, server_default='1')

    average_rating = db.Column(db.Float, default=None)
    feedback_score = db.Column(db.Float, default=None)
    feedback_rating = db.Column(db.Float, default=None)
    recommendation_similarity = db.Column(db.Float, default=None)
Exemplo n.º 2
0
class Cart(db.Model):
    __tablename__ = 'cart'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    item_id = db.Column(db.Integer, db.ForeignKey('item.id'), nullable=False)
    date = db.Column(db.Date, nullable=False)
    duration = db.Column(db.Integer, nullable=False)
    qty = db.Column(db.Integer, nullable=False)
    status = db.Column(db.Boolean, nullable=False)
    price = db.Column(db.Integer, nullable=False)

    response_fields = {
        'id': fields.Integer,
        'user_id': fields.Integer,
        'item_id': fields.Integer,
        'date': fields.String,
        'duration': fields.Integer,
        'qty': fields.Integer,
        'status': fields.Boolean,
        'price': fields.Integer
    }

    def __init__(self, user_id, item_id, date, duration, qty, status, price):
        self.user_id = user_id
        self.item_id = item_id
        self.date = date
        self.duration = duration
        self.qty = qty
        self.status = status
        self.price = price

    def __repr__(self):
        return '<cart %r>' % self.id
Exemplo n.º 3
0
class Position(db.Model, EntityMixin):
    __tablename__ = 'position'
    id = db.Column(db.Integer, primary_key=True)
    position_token = db.Column(db.String(255))
    name = db.Column(db.String(255))
    internal_name = db.Column(db.String(255))
    language = db.Column(db.Integer)
    company_id = db.Column(db.Integer,
                           db.ForeignKey('company.id', name='position_ibfk_1'))
    company = db.relationship('Company')
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', name="position_user_fk"))
    user = db.relationship('User')
    expiration_date = db.Column(db.DateTime)
    description = db.Column(db.Text)
    template_id = db.Column(db.String(255))
    link = db.Column(db.String(2047))
    starting_date = db.Column(db.DateTime)
    employment_type = db.Column(db.String(255))
    reason_for_vacancy = db.Column(db.String(255))
    business_unit_id = db.Column(
        db.Integer,
        db.ForeignKey('business_unit.id', name="job_business_unit_fk"))
    business_unit = db.relationship('BusinessUnit',
                                    backref=backref('jobs', lazy='dynamic'))

    status = db.Column(db.Integer, default=INACTIVE)
    approval_time = db.Column(db.DateTime)

    active_applications = db.relationship(
        "Application",
        primaryjoin='and_(Application.position_id==Position.id)',
        viewonly=True)
class ApplicationEvent(db.Model, EntityMixin):
    __tablename__ = 'application_event'
    id = db.Column(db.Integer, primary_key=True)
    applicant_id = db.Column(db.Integer, db.ForeignKey('application.id'))
    application = db.relationship('Application')
    application_event_token = db.Column(db.String(255))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship('User')
    status = db.Column(db.Integer)
    step = db.Column(db.String(255))
    time = db.Column(db.DateTime, default=datetime.datetime.utcnow)
    note = db.Column(db.String(255))
    duration = db.Column(db.Integer, nullable=True)
Exemplo n.º 5
0
class BusinessUnit(db.Model, EntityMixin):
    __tablename__ = 'business_unit'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    business_unit_token = db.Column(db.String(255))
    parent_id = db.Column(
        db.Integer,
        db.ForeignKey('business_unit.id', name='business_unit_parent_fk'))
    parent = relationship('BusinessUnit', remote_side=[id])
    company_id = db.Column(db.Integer,
                           db.ForeignKey('company.id',
                                         name='business_unit_ibfk_1'),
                           nullable=False)
    company = db.relationship('Company')
    json_data = db.Column(db.Text)
Exemplo n.º 6
0
class EventGuest(db.Model):
    __tablename__ = 'eventguest'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer,db.ForeignKey('user.id'), nullable=False)
    event_id = db.Column(db.Integer, db.ForeignKey('event.id'), nullable=False)

    response_fields={
        'id': fields.Integer,
        'user_id': fields.Integer,
        'event_id': fields.Integer,
    }

    def __init__(self, user_id, event_id):
        self.user_id = user_id
        self.event_id = event_id

    def __repr__(self):
        return str(self.id) + str(self.user_id) + str(self.event_id)
class TalentCommunities(db.Model, EntityMixin):
    __tablename__ = 'talent_communities'
    talent_id = db.Column(db.Integer,
                          db.ForeignKey('talent.id',
                                        name="talent_communities_talent_fk",
                                        ondelete="CASCADE"),
                          primary_key=True)
    community_id = db.Column(db.Integer,
                             db.ForeignKey(
                                 'community.id',
                                 name="talent_communities_community_fk",
                                 ondelete="CASCADE"),
                             primary_key=True)

    talent = db.relationship("Talent")
    community = db.relationship("Community")

    def __init__(self, talent_id, community_id):
        self.talent_id = talent_id
        self.community_id = community_id
class ApplicationFeedback(db.Model, EntityMixin):
    __tablename__ = 'application_feedback'
    id = db.Column(db.Integer, primary_key=True)
    application_feedback_token = db.Column(db.String(255))
    application_id = db.Column(db.Integer,
                               db.ForeignKey('application.id'),
                               nullable=False)
    application = db.relationship('Application')
    rating = db.Column(db.Integer)
    rating_time = db.Column(db.DateTime())
    rating_message = db.Column(db.Text)
Exemplo n.º 9
0
class PositionRights(db.Model, EntityMixin):
    __tablename__ = 'position_rights'
    id = db.Column(db.Integer, primary_key=True)
    position_id = db.Column(
        db.Integer,
        db.ForeignKey('position.id', name='position_right_position_fk'))
    position = relationship("Position",
                            backref=backref("rights",
                                            cascade="all, delete-orphan",
                                            viewonly=True))
    user_id = db.Column(
        db.Integer, db.ForeignKey('user.id', name='position_right_user_fk1'))
    user = relationship("User",
                        backref=backref("jobs_has_rights_to",
                                        cascade="all, delete-orphan",
                                        viewonly=True))
    role = db.Column(db.String(64))
    json_data, data = json_property('json_data',
                                    db.Column(MEDIUMTEXT),
                                    default={})
Exemplo n.º 10
0
class Shop(db.Model):
    __tablename__ = 'shop'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    name = db.Column(db.String(100), nullable=False)
    address = db.Column(db.String(100), nullable=False)
    city = db.Column(db.String(30), nullable=False)
    province = db.Column(db.String(30), nullable=False)
    telephone = db.Column(db.String(15), nullable=False)
    photo = db.Column(db.Text, nullable=True)
    status = db.Column(db.Boolean, nullable=False)

    response_fields = {
        'id': fields.Integer,
        'user_id': fields.Integer,
        'name': fields.String,
        'address': fields.String,
        'city': fields.String,
        'province': fields.String,
        'telephone': fields.String,
        'photo': fields.String,
        'status': fields.Boolean,
    }

    transaction_response_fields = {
        'id': fields.Integer,
        'name': fields.String,
        'address': fields.String,
        'city': fields.String,
        'province': fields.String,
        'telephone': fields.String,
    }

    name_response_fields = {
        'id': fields.Integer,
        'name': fields.String,
    }

    def __init__(self, user_id, name, address, city, province, telephone,
                 photo, status):
        self.user_id = user_id
        self.name = name
        self.address = address
        self.city = city
        self.province = province
        self.telephone = telephone
        self.photo = photo
        self.status = status

    def __repr__(self):
        return '<Shop %r>' % self.id
class Community(db.Model, EntityMixin):
    __tablename__ = 'community'
    id = db.Column(db.Integer, primary_key=True)
    company_id = db.Column(
        db.Integer,
        db.ForeignKey('company.id',
                      name='community_ibfk_1',
                      ondelete="CASCADE"))
    name = db.Column(db.String(255))

    def __init__(self, name, company_id):
        self.name = name
        self.company_id = company_id

    def serialize(self):
        return {"id": self.id, "name": self.name}
Exemplo n.º 12
0
class Item(db.Model):
    __tablename__ = 'item'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    shop_id = db.Column(db.Integer, db.ForeignKey('shop.id'), nullable=False)
    name = db.Column(db.String(100), nullable=False)
    qty = db.Column(db.Integer, nullable=False)
    price = db.Column(db.Integer, nullable=False)
    status = db.Column(db.String(10), nullable=False)
    category = db.Column(db.String(30), nullable=False)
    description = db.Column(db.Text, nullable=True)
    detail = db.Column(db.Text, nullable=True)
    photo = db.Column(db.Text, nullable=True)

    response_fields = {
        'id': fields.Integer,
        'shop_id': fields.Integer,
        'name': fields.String,
        'qty': fields.Integer,
        'price': fields.Integer,
        'status': fields.String,
        'category': fields.String,
        'description': fields.String,
        'detail': fields.String,
        'photo': fields.String,
    }

    name_response_fields = {
        'id': fields.Integer,
        'name': fields.String,
    }

    def __init__(self, shop_id, name, qty, price, status, category,
                 description, detail, photo):
        self.shop_id = shop_id
        self.name = name
        self.qty = qty
        self.price = price
        self.status = status
        self.category = category
        self.description = description
        self.detail = detail
        self.photo = photo

    def __repr__(self):
        return '<Item %r>' % self.id
Exemplo n.º 13
0
class User(db.Model, EntityMixin):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(255), default="")
    last_name = db.Column(db.String(255), default="")
    title = db.Column(db.String(255), default="")
    user_token = db.Column(db.String(255))

    company_id = db.Column(db.Integer, db.ForeignKey('company.id', name='company_userfk_1'))
    company = db.relationship('Company')
    photoname = db.Column(db.String(255))
    language = db.Column(db.Integer)

    confirmed_at = db.Column(db.DateTime())
    last_login_at = db.Column(db.DateTime())
    current_login_at = db.Column(db.DateTime())
    login_count = db.Column(db.Integer)
    roles = db.Column(db.Text)
    password = db.Column(db.String(255))
    email = db.Column(db.String(255))
class Talent(db.Model, EntityMixin):
    __tablename__ = 'talent'

    id = db.Column(db.Integer, primary_key=True)
    company_id = db.Column(
        db.Integer, db.ForeignKey('company.id', name='company_talent_fk'))
    talent_token = db.Column(db.String(255), nullable=False)
    company = db.relationship('Company')

    talent_community = db.Column(db.Boolean, default=False, server_default='0')
    confirmed_talent_community = db.Column(db.Boolean,
                                           default=False,
                                           server_default='0')
    applications = db.relationship('Application', cascade="all, delete-orphan")
    talent_communities = db.relationship('TalentCommunities',
                                         cascade="all, delete-orphan")
    communities = association_proxy('talent_communities', 'community')
    time_confirmed_membership = db.Column(db.DateTime)
    time_added_to_talent_community = db.Column(db.DateTime, default=None)
    language = db.Column(db.Integer)
    image = db.Column(db.String(255))
Exemplo n.º 15
0
class Event(db.Model):
    __tablename__ = 'event'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    nama = db.Column(db.String(30), nullable=False)
    ip = db.Column(db.String(20), nullable=False)
    waktu = db.Column(db.String(30), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    response_fields = {
        'id': fields.Integer,
        'nama': fields.String,
        'ip': fields.String,
        'waktu': fields.String,
        'user_id': fields.Integer
    }

    def __init__(self, nama, ip, waktu, user_id):
        self.nama = nama
        self.ip = ip
        self.waktu = waktu
        self.user_id = user_id

    def __repr__(self):
        return '<Event %r>' % self.id