Exemple #1
0
class InterviewQuestion(db.Model):
    __tablename__ = "interviewquestions"
    id = db.Column(db.Integer, primary_key=True)
    application_id = db.Column(db.Integer, db.ForeignKey('applications.id'))
    title = db.Column(db.String(256))
    question = db.Column(db.String(256))

    def __repr__(self):
        return '<Interview Question %r' % self.Question

    def to_dict(self):
        return {
            c.key: getattr(self, c.key)
            for c in inspect(self).mapper.column_attrs
        }
Exemple #2
0
class Province(db.Model):
    __tablename__ = 'province'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    province_name = db.Column(db.String(10), nullable=False)
    city = db.relationship('City', backref='province', lazy='dynamic')

    def __init__(self, province_name):
        self.province_name = province_name

    @staticmethod
    def generateDict(province):
        province_dict = {}
        province_dict['province_id'] = province.id
        province_dict['provinceName'] = province.province_name
        return province_dict
Exemple #3
0
class City(db.Model):
    __tablename__ = 'city'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    city_name = db.Column(db.String(10), nullable=False)
    province_id = db.Column(db.Integer, db.ForeignKey('province.id'))

    def __init__(self, city_name, province_id):
        self.city_name = city_name
        self.province_id = province_id

    @staticmethod
    def generate_dict(city):
        city_dict = {}
        city_dict['city_id'] = city.id
        city_dict['cityName'] = city.city_name
        return city_dict
Exemple #4
0
class Transaction(db.Model):
    __tablename__ = 'transactions'

    id = db.Column(db.Integer, primary_key=True)
    user_requested_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    user_accepted = db.Column(db.String(256))
    requested_quantity = db.Column(db.Integer)
    accepted = db.Column(db.Boolean)
    returned = db.Column(db.Boolean)
    item = db.Column(db.String(256), db.ForeignKey('cars.name'))
    date_requested = db.Column(db.DateTime)
    date_accepted = db.Column(db.DateTime)
    date_returned = db.Column(db.DateTime)

    def __repr__(self):
        return '<Transaction %r>' % self.id
Exemple #5
0
class CommandConfig(db.Table, table_name="command_config"):
    """ Create db table for command config. """

    id = db.PrimaryKeyColumn()

    guild_id = db.Column(db.Integer(big=True), index=True)
    channel_id = db.Column(db.Integer(big=True))

    name = db.Column(db.String)
    whitelist = db.Column(db.Boolean)

    @classmethod
    def create_table(cls, *, exists_ok=True):
        statement = super().create_table(exists_ok=exists_ok)
        # create the unique index
        sql = "CREATE UNIQUE INDEX IF NOT EXISTS command_config_uniq_idx ON command_config (channel_id, name, whitelist);"
        return statement + "\n" + sql
Exemple #6
0
class StatisticsTable(db.Table, table_name="statistics"):
    id = db.PrimaryKeyColumn()
    message_deletes = db.Column(db.Integer(big=True))
    bulk_message_deletes = db.Column(db.Integer(big=True))
    message_edits = db.Column(db.Integer(big=True))
    bans = db.Column(db.Integer(big=True))
    unbans = db.Column(db.Integer(big=True))
    channel_deletes = db.Column(db.Integer(big=True))
    channel_creates = db.Column(db.Integer(big=True))
    command_count = db.Column(db.Integer(big=True))
Exemple #7
0
class User(db.Model):

    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False)
    email = db.Column(db.String, nullable=False)
    password = db.Column(db.String, nullable=False)
    posts = relationship("BlogPost", backref="author")

    def __init__(self, name, email, password):
        self.name = name
        self.email = email
        #self.password = password
        #self.password = bcrypt.generate_password_hash(password)

    def __repr__(self):
        return '<name {}'.format(self.name)
Exemple #8
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(10), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    telephone = db.Column(db.String(11), nullable=False)

    def __init__(self, username, password, telephone):
        self.username = username
        self.telephone = telephone
        self.password = generate_password_hash(password=password)

    def check_password(self, raw_password):
        result = check_password_hash(self.password, raw_password)
        return result

    def __repr__(self):
        return str(self.id)
Exemple #9
0
class SnipeEditTable(db.Table, table_name="snipe_edits"):
    id = db.PrimaryKeyColumn()

    user_id = db.Column(db.Integer(big=True))
    guild_id = db.Column(db.Integer(big=True))
    channel_id = db.Column(db.Integer(big=True))
    message_id = db.Column(db.Integer(big=True))
    before_content = db.Column(db.String())
    after_content = db.Column(db.String())
    edited_time = db.Column(db.Integer(big=True))
    jump_url = db.Column(db.String)
Exemple #10
0
class ModLogEntry(db.Table, table_name='modlog'):
    id = db.Column(db.Serial, primary_key=True)
    channel_id = db.Column(db.BigInt)
    message_id = db.Column(db.BigInt)
    guild_id = db.Column(db.BigInt)
    action = db.Column(db.String(length=16))
    mod_id = db.Column(db.BigInt)
    reason = db.Column(db.Text)
    extra = db.Column(db.Text)

    modlog_guild_id_index = db.Index(guild_id)
Exemple #11
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    username = db.Column(db.String(20))
    password_hash = db.Column(db.String(128))

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def validate_password(self, password):
        return check_password_hash(self.password_hash, password)

    def is_active(self):
        return True

    def get_id(self):
        return self.id

    def is_authenticated(self):
        return True
Exemple #12
0
class Commands(db.Table):
    id = db.PrimaryKeyColumn()

    guild_id = db.Column(db.Integer(big=True), index=True)
    channel_id = db.Column(db.Integer(big=True))
    author_id = db.Column(db.Integer(big=True), index=True)
    used = db.Column(db.Datetime, index=True)
    prefix = db.Column(db.String)
    command = db.Column(db.String, index=True)
    failed = db.Column(db.Boolean, index=True)
Exemple #13
0
class CategoryService(db.Model):
    """Categories to Services"""
    __tablename__ = 'categories_services'

    category_id = db.Column(db.Integer, db.ForeignKey(
        "categories.id", ondelete="CASCADE"), primary_key=True)
    service_id = db.Column(db.Integer, db.ForeignKey(
        "services.id", ondelete="CASCADE"), primary_key=True)

    def __repr__(self):
        """Representation of this class"""
        e = self
        return f"<CategoryService category_id={e.category_id} service_id={e.service_id}>"

    def serialize(self):
        """Serialize a CategoryService SQLAlchemy obj to dictionary."""

        return {
            "category_id": self.category_id,
            "service_id": self.service_id
        }
Exemple #14
0
class ModLogConfig(db.Table, table_name='modlog_config'):
    guild_id = db.Column(db.BigInt, primary_key=True)
    channel_id = db.Column(db.BigInt, default=0)

    enabled = db.Column(db.Boolean, default=True)
    log_auto = db.Column(db.Boolean, default=True)
    dm_user = db.Column(db.Boolean, default=True)
    poll_audit_log = db.Column(db.Boolean, default=True)

    events = db.Column(db.Integer, default=_default_flags.value)
Exemple #15
0
class SnipeDeleteTable(db.Table, table_name="snipe_deletes"):
    id = db.PrimaryKeyColumn()

    user_id = db.Column(db.Integer(big=True))
    guild_id = db.Column(db.Integer(big=True))
    channel_id = db.Column(db.Integer(big=True))
    message_id = db.Column(db.Integer(big=True))
    message_content = db.Column(db.String())
    attachment_urls = db.Column(db.Array(db.String()), nullable=True)
    delete_time = db.Column(db.Integer(big=True))
Exemple #16
0
class User(db.Model):
    """User Model"""

    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(30), nullable=False)
    last_name = db.Column(db.String(30), nullable=False)
    email = db.Column(db.String(200), nullable=False, unique=True)
    password = db.Column(db.Text, nullable=False)
    is_verified = db.Column(db.Boolean, server_default=text('0'))
    created_at = db.Column(db.DateTime, server_default=func.now())
    role_id = db.Column(db.Integer, db.ForeignKey('role.id'), nullable=False)
    role = db.relationship('Role', backref='users')
Exemple #17
0
class WarnEntries(db.Table, table_name='warn_entries'):
    id = db.Column(db.Serial, primary_key=True)
    guild_id = db.Column(db.BigInt)
    user_id = db.Column(db.BigInt)
    mod_id = db.Column(db.BigInt)
    reason = db.Column(db.Text)
    warned_at = db.Column(db.Timestamp)
Exemple #18
0
class ClassifyCrawlProgress(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = "classify_crawl_progresses"

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    model_id = db.Column(db.BigInt(unsigned=True), nullable=False)
    model = db.Column(db.String(255), nullable=False)
    total = db.Column(db.Integer, default=0)
    finished = db.Column(db.Integer, default=0)
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())
Exemple #19
0
class TagLookup(db.Table, table_name="tag_lookup"):
    id = db.PrimaryKeyColumn()

    # we will create more indexes manually
    name = db.Column(db.String, index=True)
    location_id = db.Column(db.Integer(big=True), index=True)

    owner_id = db.Column(db.Integer(big=True))
    created_at = db.Column(db.Datetime, default="now() at time zone 'utc'")
    tag_id = db.Column(db.ForeignKey("tags", "id"))

    @classmethod
    def create_table(cls, *, exists_ok=True):
        statement = super().create_table(exists_ok=exists_ok)

        # create the indexes
        sql = (
            "CREATE INDEX IF NOT EXISTS tag_lookup_name_trgm_idx ON tag_lookup USING GIN (name gin_trgm_ops);\n"
            "CREATE INDEX IF NOT EXISTS tag_lookup_name_lower_idx ON tag_lookup (LOWER(name));\n"
            "CREATE UNIQUE INDEX IF NOT EXISTS tag_lookup_uniq_idx ON tag_lookup (LOWER(name), location_id);"
        )

        return statement + "\n" + sql
Exemple #20
0
class TagTable(db.Table, table_name='tags'):
    guild_id = db.Column(db.BigInt)
    name = db.Column(db.Text)
    content = db.Column(db.Text)
    is_alias = db.Column(db.Boolean)

    # meta data
    created_at = db.Column(db.Timestamp, default="now() at time zone 'utc'")
    created_by = db.Column(db.BigInt)
    uses = db.Column(db.Integer, default=0)

    tags_index = db.Index('LOWER(name)', guild_id)
    __create_extra__ = ['PRIMARY KEY(name, guild_id)']
Exemple #21
0
class ProductItemDailyRank(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'product_item_daily_ranks'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    date = db.Column(db.Date, nullable=True)
    product_item_id = db.Column(db.BigInt(unsigned=True), db.ForeignKey('product_items.id'))
    classify_id = db.Column(db.BigInt(unsigned=True), db.ForeignKey('classifies.id'))
    rank = db.Column(db.Integer, default=0)
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())

    product_item = relationship('ProductItem', back_populates="daily_ranks")
Exemple #22
0
class User(db.Model):
    """Class for user entity in database"""
    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(64), unique=True, index=True, nullable=False)
    username = db.Column(db.String(32),
                         nullable=False,
                         unique=True,
                         index=True)
    _password = db.Column(db.String(128), nullable=False)
    first_name = db.Column(db.String(32))
    last_name = db.Column(db.String(32))
    uuid = db.Column(db.String(36))
    is_admin = db.Column(db.Boolean, default=False)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.uuid = str(uuid4())
        self.password = kwargs['password']

    def __str__(self):
        return f"User {self.username}"

    @hybrid_method
    def verify_password(self, password: str) -> bool:
        """
        Return true if password_hash and password are equals
        """
        return check_password_hash(self._password, password)

    @hybrid_property
    def password(self) -> str:
        """Password getter"""
        return self._password

    @password.setter
    def password(self, new_password: str):
        """Password setter that automatically generate hash"""
        self._password = generate_password_hash(new_password)

    def save(self):
        """Save entity to database"""
        db.session.add(self)
        db.session.commit()
Exemple #23
0
class User(db.Model,UserMixin):
    __tablname__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), doc='账户', nullable=False)
    password = db.Column(db.String(32), doc='密码', nullable=False)
    isAdmin = db.Column(db.Boolean, doc='是否管理员', default=False)
    create_time = db.Column(db.DateTime, default=datetime.now, nullable=False)
    update_time = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)

    def __str__(self):
        return "%s" % self.account
Exemple #24
0
class Article(db.Model):
    __tablname__ = "article"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), nullable=False)
    desc = db.Column(db.Text, nullable=False)
    content = db.Column(db.Text, nullable=False)
    publish_time = db.Column(db.Date,
                             default=datetime.now,
                             onupdate=datetime.now)
    author_id = db.Column(db.Integer,
                          db.ForeignKey("author.id"),
                          nullable=False)
    category_id = db.Column(db.Integer,
                            db.ForeignKey("category.id"),
                            nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)

    def __str__(self):
        return "%s" % self.title
Exemple #25
0
class Site(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'sites'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), default='')
    short_name = db.Column(db.String(255), default='')
    domain = db.Column(db.String(255), default='')
    status = db.Column(db.String(3), default='On')  # On Off
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())

    # 一对多关系 目标类中必须要存在product属性
    product_items = relationship('ProductItem', back_populates="site")
    shop_items = relationship('ShopItem', back_populates="site")
    site_config = relationship('SiteConfig', backref="site", uselist=False)
Exemple #26
0
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(256))
    email = db.Column(db.String(256))
    password = db.Column(db.String(256), nullable=False)
    date_created = db.Column(db.DateTime)
    admin = db.Column(db.Boolean)
    transactions = db.relationship("Transaction", backref="users", lazy=True)
    blacklist = db.relationship("Blacklist", backref="users", lazy=True)

    def __repr__(self):
        return '<User %r>' % self.name
Exemple #27
0
class External(db.Model):
    __tablename__ = "external"
    id = db.Column(db.Integer, primary_key=True)
    application_id = db.Column(db.Integer, db.ForeignKey('applications.id'))
    url = db.Column(db.String(256))
    position = db.Column(db.String(256))
    company = db.Column(db.String(256))
    date_posted = db.Column(db.String(256))
    deadline = db.Column(db.String(256))

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

    def to_dict(self):
        return {
            c.key: getattr(self, c.key)
            for c in inspect(self).mapper.column_attrs
        }
Exemple #28
0
class Tender(db.Model):
    __tablename__ = 'tender'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(20), nullable=False)
    content = db.Column(db.String(100), nullable=False)
    publish_date = db.Column(db.Date)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    city_id = db.Column(db.Integer, db.ForeignKey('city.id'))
    users = db.relationship('User', backref=db.backref('tenders'))

    def __init__(self, title, content, user_id, city_id, publish_date):
        self.title = title
        self.content = content
        self.user_id = user_id
        self.city_id = city_id
        self.publish_date = publish_date
Exemple #29
0
class Project(db.Model):

    __tablename__ = 'project'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False, unique=True)
    description = db.Column(db.String(255), nullable=False, server_default='')
    status_id = db.Column(db.Integer, db.ForeignKey('status.id'))
    status = db.relationship('Status', backref='projects')
    created_at = db.Column(db.DateTime,
                           server_default=func.now(),
                           nullable=False)
    organisation_id = db.Column(db.Integer, db.ForeignKey('organisation.id'))
    organisation = db.relationship('Organisation', backref='projects')
    created_by = db.Column(db.Integer,
                           db.ForeignKey('user.id'),
                           nullable=False)
    project_creator = db.relationship('User', backref='projects_created_by')
    project_users = db.relationship('User',
                                    backref='user_projects',
                                    secondary='user_project')
Exemple #30
0
class Organisation(db.Model):

    __tablename__ = 'organisation'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(70), nullable=False, unique=True)
    passcode = db.Column(db.Text, nullable=False)
    location = db.Column(db.String(30), nullable=False)
    registered_at = db.Column(db.DateTime,
                              server_default=func.now(),
                              nullable=False)
    registered_by = db.Column(db.Integer,
                              db.ForeignKey('user.id'),
                              nullable=False)
    organisation_registerer = db.relationship(
        'User', backref='organisation_registered', uselist=False)
    user_organisation = db.relationship('User',
                                        backref='users',
                                        secondary='user_organisation')