コード例 #1
0
class Funding(db.Model):
    __tablename__ = 'funding'

    funding_id: int = db.Column(db.Integer,
                                primary_key=True,
                                nullable=False,
                                unique=True,
                                autoincrement=True)
    email: str = db.Column(db.String(50), primary_key=True, nullable=False)
    code: str = db.Column(db.String(10), primary_key=True, nullable=False)
    title: str = db.Column(db.String(45))
    body: str = db.Column(db.String(1600))
    expiration: datetime = db.Column(db.DateTime)
    title_img_path: str = db.Column(db.String(100))
    cover_img_path: str = db.Column(db.String(100))
    header_img_paths: str = db.Column(db.String(500))
    host: str = db.Column(db.String(10))
    created_at: datetime = db.Column(db.DateTime,
                                     nullable=False,
                                     server_default=db.FetchedValue())
    updated_at: datetime = db.Column(db.DateTime,
                                     nullable=False,
                                     server_default=db.FetchedValue())

    ideas: List[Idea] = db.relationship('Idea',
                                        secondary='funding_has_idea',
                                        backref='fundings')
    tag: List[Tag] = db.relationship('Tag',
                                     secondary='funding_has_tag',
                                     backref='fundings')
コード例 #2
0
class Order(db.Model):
    __tablename__ = 'order'
    __table_args__: Tuple[ForeignKeyConstraint, Index] = (
        db.ForeignKeyConstraint(
            ('funding_funding_id', 'funding_email', 'funding_code'),
            ['funding.funding_id', 'funding.email', 'funding.code']),
        db.Index('fk_order_funding1_idx', 'funding_funding_id',
                 'funding_email', 'funding_code'))

    code: str = db.Column(db.String(10), primary_key=True, nullable=False)
    email: str = db.Column(db.String(50), primary_key=True, nullable=False)
    payee: str = db.Column(db.String(10), nullable=False)
    destination: str = db.Column(db.String(50), nullable=False)
    status: Type[Enum] = db.Column(db.Enum(OrderStatusEnum),
                                   nullable=False,
                                   server_default=db.FetchedValue())
    ordered_at: str = db.Column(db.DateTime,
                                nullable=False,
                                server_default=db.FetchedValue())
    funding_funding_id: int = db.Column(db.Integer,
                                        primary_key=True,
                                        nullable=False)
    funding_email: str = db.Column(db.String(50),
                                   primary_key=True,
                                   nullable=False)
    funding_code: str = db.Column(db.String(10),
                                  primary_key=True,
                                  nullable=False)

    funding: Funding = db.relationship(
        'Funding',
        primaryjoin='and_(Order.funding_funding_id == Funding.funding_id, '
        'Order.funding_email == Funding.email, '
        'Order.funding_code == Funding.code)',
        backref='orders')
コード例 #3
0
class SecurityPolicy(db.Model):
    __tablename__ = 'security_policy'

    id = db.Column(db.String(50), primary_key=True)
    login_failed_attempts = db.Column(db.SmallInteger,
                                      server_default=db.FetchedValue())
    logout_after_inactivate = db.Column(db.BigInteger,
                                        server_default=db.FetchedValue())
    password_expiration = db.Column(db.Integer,
                                    server_default=db.FetchedValue())
    password_min_length = db.Column(db.SmallInteger,
                                    server_default=db.FetchedValue())
    password_max_length = db.Column(db.SmallInteger,
                                    server_default=db.FetchedValue())
    password_include_symbol = db.Column(db.Integer,
                                        server_default=db.FetchedValue())
    password_include_number = db.Column(db.Integer,
                                        server_default=db.FetchedValue())
    password_include_lower_case = db.Column(db.Integer,
                                            server_default=db.FetchedValue())
    password_include_upper_case = db.Column(db.Integer,
                                            server_default=db.FetchedValue())
    modified_date = db.Column(db.BigInteger)
    modified_by = db.Column(db.String(50))

    @staticmethod
    def insert_policy():
        _id = str(uuid.uuid1())
        policy = SecurityPolicy(id=_id)
        db.session.add(policy)
        db.session.commit()
コード例 #4
0
class User(UserMixin, db.Model):
    __tablename__ = 'users'

    id = db.Column(db.String(50), primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    password_hash = db.Column(db.String(255), nullable=False)
    login_failed_attempts = db.Column(db.SmallInteger,
                                      server_default=db.FetchedValue())
    firstname = db.Column(db.String(100))
    lastname = db.Column(db.String(100))
    title = db.Column(db.String(50), server_default=db.FetchedValue())
    is_active = db.Column(db.Boolean, default=True)
    group_id = db.Column(db.ForeignKey('groups.id'), index=True)
    lang = db.Column(db.String(50))
    company = db.Column(db.String(50))
    address = db.Column(db.String(255))
    mobile = db.Column(db.String(50))
    force_change_password = db.Column(db.Integer,
                                      server_default=db.FetchedValue())
    create_date = db.Column(db.BigInteger)
    created_by = db.Column(db.ForeignKey('users.id'), index=True)
    modified_date = db.Column(db.BigInteger)
    modified_by = db.Column(db.ForeignKey('users.id'), index=True)

    group = db.relationship('Group',
                            primaryjoin='User.group_id == Group.id',
                            backref='user_groups')
    parent = db.relationship('User',
                             remote_side=[id],
                             primaryjoin='User.created_by == User.id',
                             backref='user_users')
    parent1 = db.relationship('User',
                              remote_side=[id],
                              primaryjoin='User.modified_by == User.id',
                              backref='user_users_0')

    @staticmethod
    def insert_user():
        user = User.query.filter_by(username='******').first()
        if user is None:
            _id = str(uuid.uuid1())
            user = User(id=_id,
                        username='******',
                        password_hash=hash_password('admin@1234'),
                        group_id=admin_group_id)
            db.session.add(user)
            db.session.commit()

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)

    def can(self, perm):
        return self.group is not None and self.group.has_permission(perm)
コード例 #5
0
class UserDisplay(db.Model):
    __tablename__ = 'users_display'

    id = db.Column(db.String(50), primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    login_failed_attempts = db.Column(db.SmallInteger,
                                      server_default=db.FetchedValue())
    firstname = db.Column(db.String(100))
    lastname = db.Column(db.String(100))
    title = db.Column(db.String(50), server_default=db.FetchedValue())
    is_active = db.Column(db.Boolean, default=True)
    group_id = db.Column(db.String(50))
    lang = db.Column(db.String(50))
    company = db.Column(db.String(50))
    address = db.Column(db.String(255))
    mobile = db.Column(db.String(50))
    force_change_password = db.Column(db.Integer,
                                      server_default=db.FetchedValue())
    create_date = db.Column(db.BigInteger)
    modified_date = db.Column(db.BigInteger)
    modified_by = db.Column(db.ForeignKey('users.id'), index=True)
コード例 #6
0
class Idea(db.Model):
    __tablename__ = 'idea'

    idea_id: int = db.Column(db.Integer,
                             primary_key=True,
                             nullable=False,
                             autoincrement=True)
    email: str = db.Column(db.String(50), primary_key=True, nullable=False)
    code: str = db.Column(db.String(10), primary_key=True, nullable=False)
    title: str = db.Column(db.String(45))
    body: str = db.Column(db.String(1600))
    created_at: datetime = db.Column(db.DateTime,
                                     nullable=False,
                                     server_default=db.FetchedValue())
    updated_at: datetime = db.Column(db.DateTime,
                                     nullable=False,
                                     server_default=db.FetchedValue())

    tag: List[Tag] = db.relationship('Tag',
                                     secondary='idea_has_tag',
                                     backref='ideas')
コード例 #7
0
class FundingStatus(Funding):
    __tablename__ = 'funding_status'
    __table_args__: Tuple[ForeignKeyConstraint] = (db.ForeignKeyConstraint(
        ('funding_funding_id', 'funding_email', 'funding_code'),
        ['funding.funding_id', 'funding.email', 'funding.code'],
        ondelete='CASCADE',
        onupdate='CASCADE'), )

    funding_funding_id: int = db.Column(db.Integer,
                                        primary_key=True,
                                        nullable=False)
    funding_email: str = db.Column(db.String(50),
                                   primary_key=True,
                                   nullable=False)
    funding_code: str = db.Column(db.String(10),
                                  primary_key=True,
                                  nullable=False)
    balance: int = db.Column(db.Integer,
                             nullable=False,
                             server_default=db.FetchedValue())
    participants_num: int = db.Column(db.Integer,
                                      nullable=False,
                                      server_default=db.FetchedValue())
    status: Type[Enum] = db.Column(db.Enum(FundingStatusEnum))