Ejemplo n.º 1
0
class Supervisors(db.Model):
    __tablename__ = dbtableprefix + "supervisors"
    id = db.Column(db.Integer(), primary_key=True)
    hostname = db.Column(db.Text())
    url = db.Column(db.Text())
    start_time = db.Column(db.DateTime(), server_default=db.func.now())
    role = db.Column(db.Text())
Ejemplo n.º 2
0
class UserDictKeys(db.Model):
    __tablename__ = dbtableprefix + "userdictkeys"
    indexno = db.Column(db.Integer(), primary_key=True)
    filename = db.Column(db.String(255), index=True)
    key = db.Column(db.String(250), index=True)
    user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'), index=True)
    temp_user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'tempuser.id', ondelete='CASCADE'), index=True)
Ejemplo n.º 3
0
class Install(db.Model):
    __tablename__ = dbtableprefix + "install"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    hostname = db.Column(db.Text())
    version = db.Column(db.Integer())
    packageversion = db.Column(db.Text())
    package_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'package.id', ondelete='CASCADE'))
Ejemplo n.º 4
0
class UserAuthModel(db.Model, UserMixin):
    __tablename__ = dbtableprefix + 'user_auth'
    id = db.Column(db.Integer, primary_key=True, unique=True)
    user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'), index=True)
    password = db.Column(db.String(255), nullable=False, server_default='')
    reset_password_token = db.Column(db.String(100), nullable=False, server_default='')
    #active = db.Column(db.Boolean(), nullable=False, server_default='0')
    user = db.relationship('UserModel', uselist=False, primaryjoin="UserModel.id==UserAuthModel.user_id", back_populates="user_auth")
Ejemplo n.º 5
0
class MyUserInvitation(db.Model):
    __tablename__ = dbtableprefix + 'user_invite'
    id = db.Column(db.Integer, primary_key=True, unique=True)
    email = db.Column(db.String(255), nullable=False)
    role_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'role.id', ondelete='CASCADE'))
    # save the user of the invitee
    invited_by_user_id = db.Column(db.Integer, db.ForeignKey(dbtableprefix + 'user.id'))
    # token used for registration page to identify user registering
    token = db.Column(db.String(100), nullable=False, server_default='')
Ejemplo n.º 6
0
class UserRoles(db.Model):
    __tablename__ = dbtableprefix + 'user_roles'
    id = db.Column(db.Integer(), primary_key=True)
    user_id = db.Column(
        db.Integer(),
        db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    role_id = db.Column(
        db.Integer(),
        db.ForeignKey(dbtableprefix + 'role.id', ondelete='CASCADE'))
Ejemplo n.º 7
0
class PackageAuth(db.Model):
    __tablename__ = dbtableprefix + 'package_auth'
    id = db.Column(db.Integer, primary_key=True)
    package_id = db.Column(
        db.Integer(),
        db.ForeignKey(dbtableprefix + 'package.id', ondelete='CASCADE'))
    user_id = db.Column(
        db.Integer(),
        db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    authtype = db.Column(db.String(255), server_default='owner')
Ejemplo n.º 8
0
class UploadsRoleAuth(db.Model):
    __tablename__ = dbtableprefix + "uploadsroleauth"
    id = db.Column(db.Integer(), primary_key=True)
    uploads_indexno = db.Column(db.Integer(),
                                db.ForeignKey(dbtableprefix +
                                              'uploads.indexno',
                                              ondelete='CASCADE'),
                                nullable=False,
                                index=True)
    role_id = db.Column(db.Integer(),
                        db.ForeignKey(dbtableprefix + 'role.id',
                                      ondelete='CASCADE'),
                        nullable=False,
                        index=True)
Ejemplo n.º 9
0
class MachineLearning(db.Model):
    __tablename__ = dbtableprefix + "machinelearning"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    group_id = db.Column(db.String(1024))
    key = db.Column(db.String(1024), index=True)
    independent = db.Column(db.Text())
    dependent = db.Column(db.Text())
    info = db.Column(db.Text())
    create_time = db.Column(db.DateTime())
    modtime = db.Column(db.DateTime())
    active = db.Column(db.Boolean(), nullable=False, server_default=false())
Ejemplo n.º 10
0
class Shortener(db.Model):
    __tablename__ = dbtableprefix + "shortener"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    short = db.Column(db.String(250), nullable=False, unique=True)
    filename = db.Column(db.String(255), index=True)
    uid = db.Column(db.String(250))
    user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    temp_user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'tempuser.id', ondelete='CASCADE'))
    key = db.Column(db.String(255), index=True)
    index = db.Column(db.Integer())
    modtime = db.Column(db.DateTime(), server_default=db.func.now())
Ejemplo n.º 11
0
class UploadsUserAuth(db.Model):
    __tablename__ = dbtableprefix + "uploadsuserauth"
    id = db.Column(db.Integer(), primary_key=True)
    uploads_indexno = db.Column(db.Integer(),
                                db.ForeignKey(dbtableprefix +
                                              'uploads.indexno',
                                              ondelete='CASCADE'),
                                nullable=False,
                                index=True)
    user_id = db.Column(db.Integer(),
                        db.ForeignKey(dbtableprefix + 'user.id',
                                      ondelete='CASCADE'),
                        index=True)
    temp_user_id = db.Column(db.Integer(),
                             db.ForeignKey(dbtableprefix + 'tempuser.id',
                                           ondelete='CASCADE'),
                             index=True)
Ejemplo n.º 12
0
class JsonStorage(db.Model):
    __tablename__ = dbtableprefix + "jsonstorage"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    filename = db.Column(db.String(255), index=True)
    key = db.Column(db.String(250), index=True)
    if dbprefix.startswith('postgresql'):
        data = db.Column(JSONB)
    else:
        data = db.Column(db.Text())
    tags = db.Column(db.Text())
    modtime = db.Column(db.DateTime(), server_default=db.func.now())
    persistent = db.Column(db.Boolean(), nullable=False, server_default=false())
Ejemplo n.º 13
0
class UserDict(db.Model):
    __tablename__ = dbtableprefix + "userdict"
    indexno = db.Column(db.Integer(), primary_key=True)
    filename = db.Column(db.String(255), index=True)
    key = db.Column(db.String(250), index=True)
    dictionary = db.Column(db.Text())
    user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    encrypted = db.Column(db.Boolean(), nullable=False, server_default='1')
    modtime = db.Column(db.DateTime())
Ejemplo n.º 14
0
class Attachments(db.Model):
    __tablename__ = dbtableprefix + "attachments"
    id = db.Column(db.Integer(), primary_key=True)
    key = db.Column(db.String(250))
    dictionary = db.Column(db.Text())
    question = db.Column(db.Integer())
    filename = db.Column(db.Text())
    encrypted = db.Column(db.Boolean(), nullable=False, server_default='1')
Ejemplo n.º 15
0
class EmailAttachment(db.Model):
    __tablename__ = dbtableprefix + "emailattachment"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    email_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'email.id', ondelete='CASCADE'))
    index = db.Column(db.Integer())
    content_type = db.Column(db.Text())
    extension = db.Column(db.Text())
    upload = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'uploads.indexno', ondelete='CASCADE'))
Ejemplo n.º 16
0
class GlobalObjectStorage(db.Model):
    __tablename__ = dbtableprefix + "globalobjectstorage"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    key = db.Column(db.String(1024), index=True)
    value = db.Column(db.Text())
    encrypted = db.Column(db.Boolean(), nullable=False, server_default=true())
    user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    temp_user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'tempuser.id', ondelete='CASCADE'))
Ejemplo n.º 17
0
class Uploads(db.Model):
    __tablename__ = dbtableprefix + "uploads"
    indexno = db.Column(db.Integer(), primary_key=True, unique=True)
    key = db.Column(db.String(250), index=True)
    filename = db.Column(db.String(255), index=True)
    yamlfile = db.Column(db.String(255), index=True)
    private = db.Column(db.Boolean(), nullable=False, server_default=true())
    persistent = db.Column(db.Boolean(), nullable=False, server_default=false())
Ejemplo n.º 18
0
class Package(db.Model):
    __tablename__ = dbtableprefix + 'package'
    id = db.Column(db.Integer, primary_key=True, unique=True)
    name = db.Column(db.String(255), nullable=False)
    type = db.Column(db.Text()) #github, zip, pip
    giturl = db.Column(db.String(255), nullable=True)
    gitsubdir = db.Column(db.Text(), nullable=True)
    upload = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'uploads.indexno', ondelete='CASCADE'))
    package_auth = db.relationship('PackageAuth', uselist=False, primaryjoin="PackageAuth.package_id==Package.id")
    version = db.Column(db.Integer(), server_default='1')
    packageversion = db.Column(db.Text())
    limitation = db.Column(db.Text())
    dependency = db.Column(db.Boolean(), nullable=False, server_default='0')
    core = db.Column(db.Boolean(), nullable=False, server_default='0')
    active = db.Column(db.Boolean(), nullable=False, server_default='1')
    gitbranch = db.Column(db.String(255), nullable=True)
Ejemplo n.º 19
0
class Email(db.Model):
    __tablename__ = dbtableprefix + "email"
    id = db.Column(db.Integer(), primary_key=True)
    short = db.Column(
        db.String(250),
        db.ForeignKey(dbtableprefix + 'shortener.short', ondelete='CASCADE'))
    all_addr = db.Column(db.Text())
    to_addr = db.Column(db.Text())
    cc_addr = db.Column(db.Text())
    from_addr = db.Column(db.Text())
    reply_to_addr = db.Column(db.Text())
    return_path_addr = db.Column(db.Text())
    subject = db.Column(db.Text())
    datetime_message = db.Column(db.DateTime())
    datetime_received = db.Column(db.DateTime())
Ejemplo n.º 20
0
class TempUser(db.Model):
    __tablename__ = dbtableprefix + 'tempuser'
    id = db.Column(db.Integer, primary_key=True, unique=True)
Ejemplo n.º 21
0
class SpeakList(db.Model):
    __tablename__ = dbtableprefix + "speaklist"
    id = db.Column(db.Integer(), primary_key=True)
    filename = db.Column(db.Text())
    key = db.Column(db.String(250))
    phrase = db.Column(db.Text())
    question = db.Column(db.Integer())
    type = db.Column(db.String(20))
    language = db.Column(db.String(10))
    dialect = db.Column(db.String(10))
    upload = db.Column(
        db.Integer(),
        db.ForeignKey(dbtableprefix + 'uploads.indexno', ondelete='CASCADE'))
    encrypted = db.Column(db.Boolean(), nullable=False, server_default='1')
    digest = db.Column(db.Text())
Ejemplo n.º 22
0
class ObjectStorage(db.Model):
    __tablename__ = dbtableprefix + "objectstorage"
    id = db.Column(db.Integer(), primary_key=True)
    key = db.Column(db.Text())
    value = db.Column(db.Text())
Ejemplo n.º 23
0
class Uploads(db.Model):
    __tablename__ = dbtableprefix + "uploads"
    indexno = db.Column(db.Integer(), primary_key=True)
    key = db.Column(db.String(250))
    filename = db.Column(db.Text())
    yamlfile = db.Column(db.Text())
Ejemplo n.º 24
0
class ChatLog(db.Model):
    __tablename__ = dbtableprefix + "chatlog"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    filename = db.Column(db.String(255), index=True)
    key = db.Column(db.String(250), index=True)
    message = db.Column(db.Text())
    user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    temp_user_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'tempuser.id', ondelete='CASCADE'))
    owner_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'user.id', ondelete='CASCADE'))
    temp_owner_id = db.Column(db.Integer(), db.ForeignKey(dbtableprefix + 'tempuser.id', ondelete='CASCADE'))
    open_to_peer = db.Column(db.Boolean(), nullable=False, server_default='0')
    encrypted = db.Column(db.Boolean(), nullable=False, server_default='1')
    modtime = db.Column(db.DateTime())
Ejemplo n.º 25
0
class UserModel(db.Model, UserMixin):
    __tablename__ = dbtableprefix + 'user'
    id = db.Column(db.Integer, primary_key=True, unique=True)
    social_id = db.Column(db.String(255), nullable=False, unique=True)
    nickname = db.Column(db.String(255), nullable=False)
    email = db.Column(db.String(255), nullable=True, unique=True, index=True)
    confirmed_at = db.Column(db.DateTime())
    active = db.Column('active', db.Boolean(), nullable=False, server_default='0')
    first_name = db.Column(db.String(255), nullable=False, server_default='')
    last_name = db.Column(db.String(255), nullable=False, server_default='')
    country = db.Column(db.String(3))
    subdivisionfirst = db.Column(db.String(255))
    subdivisionsecond = db.Column(db.String(255))
    subdivisionthird = db.Column(db.String(255))
    organization = db.Column(db.String(255))
    timezone = db.Column(db.String(64))
    language = db.Column(db.String(64))
    user_auth = db.relationship('UserAuthModel', uselist=False, primaryjoin="UserAuthModel.user_id==UserModel.id", back_populates="user")
    roles = db.relationship('Role', secondary=dbtableprefix + 'user_roles', backref=db.backref(dbtableprefix + 'user', lazy='dynamic'))
    password = db.Column(db.String(255), nullable=False, server_default='') # work around a bug
    otp_secret = db.Column(db.String(255), nullable=True)
    pypi_username = db.Column(db.String(255), nullable=True)
    pypi_password = db.Column(db.String(255), nullable=True)
    modified_at = db.Column(db.DateTime())
    last_login = db.Column(db.DateTime())
    #email_is_phone_number = db.Column(db.Boolean(), nullable=True, server_default='0')
    limited_api = False
    def same_as(self, user_id):
        if self.limited_api:
            return False
        return self.id == user_id
    def has_role_or_permission(self, *specified_role_names, permissions=None):
        if self.limited_api:
            if isinstance(permissions, list):
                for task in permissions:
                    if self.can_do(task):
                        return True
            return False
        role_result = super().has_role(*specified_role_names)
        if not role_result and isinstance(permissions, list):
            for task in permissions:
                if self.can_do(task):
                    return True
        return role_result
    def can_do(self, task):
        if self.is_anonymous:
            return False
        if self.limited_api:
            return bool(task in self.limits)
        if hasattr(self, 'roles'):
            roles = self.roles
        else:
            if hasattr(self, 'user_profile') and hasattr(self.user_profile, 'roles'):
                roles = self.user_profile.roles
            else:
                roles = None
        for role in roles:
            if role.name in allowed and task in allowed[role.name]:
                return True
        return False
Ejemplo n.º 26
0
class ObjectStorage(db.Model):
    __tablename__ = dbtableprefix + "objectstorage"
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    key = db.Column(db.String(1024), index=True)
    value = db.Column(db.Text())
Ejemplo n.º 27
0
class UserModel(db.Model, UserMixin):
    __tablename__ = dbtableprefix + 'user'
    id = db.Column(db.Integer, primary_key=True)
    social_id = db.Column(db.String(255), nullable=False, unique=True)
    nickname = db.Column(db.String(255), nullable=False)
    email = db.Column(db.String(255), nullable=True, unique=True)
    confirmed_at = db.Column(db.DateTime())
    active = db.Column('active',
                       db.Boolean(),
                       nullable=False,
                       server_default='0')
    first_name = db.Column(db.String(255), nullable=False, server_default='')
    last_name = db.Column(db.String(255), nullable=False, server_default='')
    country = db.Column(db.String(3))
    subdivisionfirst = db.Column(db.String(255))
    subdivisionsecond = db.Column(db.String(255))
    subdivisionthird = db.Column(db.String(255))
    organization = db.Column(db.String(255))
    timezone = db.Column(db.String(64))
    language = db.Column(db.String(64))
    user_auth = db.relationship(
        'UserAuthModel',
        uselist=False,
        primaryjoin="UserAuthModel.user_id==UserModel.id")
    roles = db.relationship('Role',
                            secondary=dbtableprefix + 'user_roles',
                            backref=db.backref(dbtableprefix + 'user',
                                               lazy='dynamic'))
    password = db.Column(db.String(255), nullable=False,
                         server_default='')  # work around a bug
    otp_secret = db.Column(db.String(255), nullable=True)
    pypi_username = db.Column(db.String(255), nullable=True)
    pypi_password = db.Column(db.String(255), nullable=True)
    modified_at = db.Column(db.DateTime())
Ejemplo n.º 28
0
class Role(db.Model):
    __tablename__ = dbtableprefix + 'role'
    id = db.Column(db.Integer(), primary_key=True, unique=True)
    name = db.Column(db.String(50), unique=True, index=True)
    description = db.Column(db.String(255))