Ejemplo n.º 1
0
class Project(db.Model):
    """Represents table holding all projects"""
    __tablename__ = 'project'
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    name = db.Column(db.String(25), nullable=False)
    description = db.Column(db.Text(), nullable=False)
    owner_id = db.Column(db.Integer,
                         db.ForeignKey('user_data.id'),
                         nullable=False)

    # Dataset is parent of view, thus this relationship helper class
    datasets = db.relationship('Dataset',
                               backref=backref('project'),
                               lazy='dynamic', passive_deletes=True
                               )

    # Project has a many-to-many relationship with User
    # passive_deletes = True to make cascade on delete work correctly
    # otherwise we get SET NULL-like behaviour
    users = db.relationship("Access", backref='project', passive_deletes=True)

    def __init__(self, name, descr, creator):
        self.name = name
        self.description = descr
        self.owner_id = creator
Ejemplo n.º 2
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index = True, unique=True)
    #how we relate this user to all of its many posts
    posts = db.relationship('Post', backref='author', lazy='dynamic')

    @property
    def is_authenticated(self):
        return True

    @property
    def is_active(self):
        return True

    @property
    def is_anonymous(self):
        return False

    def get_id(self):
        try:
            return unicode(self.id)  # python 2
        except NameError:
            return str(self.id)  # python 3

    def __repr__(self):
        return '<User %r>' % self.nickname
Ejemplo n.º 3
0
class AuthorizationData(database.Model):
    id = database.Column(database.String(250), primary_key=True)
    login = database.Column(database.String(50), unique=True)
    password = database.Column(database.String(500), nullable=True)

    def __repr__(self):
        return 'User %ds>' % self.__login
Ejemplo n.º 4
0
class User(UserMixin, database.Model):
    """User account model."""
    __tablename__ = 'flasklogin-users'
    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(100), nullable=False, unique=False)
    email = database.Column(database.String(40), unique=True, nullable=False)
    role = database.Column(database.String(40), unique=True, nullable=False)
    password = database.Column(database.String(200),
                               primary_key=False,
                               unique=False,
                               nullable=False)
    enrolled = database.relationship("EduSchedu",
                                     secondary=student_identifier,
                                     backref=database.backref('enrolled'),
                                     lazy='dynamic')
    approlled = database.relationship("ApptSchedu",
                                      secondary=student_appt,
                                      backref=database.backref('approlled'),
                                      lazy='dynamic')

    def avatar(self, size):
        digest = md5(self.email.lower().encode('utf-8')).hexdigest()
        return 'https://www.gravatar.com/avatar/{}?d=identicon&s={}'.format(
            digest, size)

    def set_password(self, password):
        self.password = generate_password_hash(password, method='sha256')

    def check_password(self, password):
        return self.password

    def __repr__(self):
        return "%s" % (self.name)
Ejemplo n.º 5
0
class Role(database.Model, RoleMixin):
    id = database.Column(database.Integer(), primary_key=True)
    name = database.Column(database.String(80), unique=True)
    description = database.Column(database.String(255))

    def __str__(self):
        return self.name
Ejemplo n.º 6
0
class Fund(database.Model):
    __tablename__ = 'fund'
    fund_id = database.Column(database.Integer, primary_key=True, autoincrement=True)
    fund_name = database.Column(database.String(120), nullable=False)

    def __init__(self, fund_name):
        self.fund_name = fund_name
Ejemplo n.º 7
0
class User(db.Model):
    """
        用户表
    """

    id = db.Column(db.Integer, primary_key = True)
    username = db.Column(db.String(64), index = True, unique = True)
    password = db.Column(db.String(120), )

    @property
    def is_authenticated(self):
        return True

    @property
    def is_active(self):
        return True

    @property
    def is_anonymous(self):
        return False

    def get_id(self):
        return str(self.id)
    def __repr__(self):
        return f'<User { self.username }>'
Ejemplo n.º 8
0
class User(database.Model, UserMixin):
    __tablename__ = "user"
    id = database.Column("id",
                         database.Integer,
                         primary_key=True,
                         autoincrement=True)
    username = database.Column("username",
                               database.String(255),
                               unique=True,
                               nullable=False)
    password = database.Column("password", database.Text, nullable=False)
    email = database.Column("email",
                            database.String(255),
                            unique=True,
                            nullable=False)
    posts = database.relationship("Post", backref="poster")
    sentMessages = database.relationship("Message",
                                         backref="sender",
                                         lazy="dynamic",
                                         foreign_keys="Message.senderId")
    receivedMessages = database.relationship("Message",
                                             backref="receiver",
                                             lazy="dynamic",
                                             foreign_keys="Message.receiverId")

    def __init__(self, username, password, email):
        self.username = username
        self.password = password
        self.email = email
Ejemplo n.º 9
0
class Registration(database.Model):
    def __init__(self, user, tour, date, paid):
        self.user = user
        self.tour = tour
        self.date = date
        self.isPaid = paid

    __tablename__ = 'registrations'

    id = database.Column(database.Integer, primary_key=True)

    tour_id = database.Column(database.Integer,
                              database.ForeignKey('tours.id'),
                              nullable=False)

    tour = database.relationship('Tour',
                                 backref=database.backref('registrations',
                                                          lazy='dynamic'))

    user_id = database.Column(database.Integer,
                              database.ForeignKey('users.id'),
                              nullable=False)

    user = database.relationship('User',
                                 backref=database.backref('registrations',
                                                          lazy='dynamic'))

    date = database.Column(database.DateTime)
    isPaid = database.Column(database.Boolean)

    def __repr__(self):
        return '<Registration \'{}\'>'.format(self.id)
Ejemplo n.º 10
0
class Portfolio(db.Model):  # type: ignore
    """ Database Table for portfolio """

    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.Text())

    def __repr__(self) -> str:
        return f"{self.id}"
Ejemplo n.º 11
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    body = db.Column(db.String(140))
    timestamp = db.Column(db.DateTime)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Post %r>' % (self.body)
Ejemplo n.º 12
0
class User(database.Model, UserMixin):
  id = database.Column(database.Integer, primary_key=True)
  email = database.Column(database.String(100), unique=True)
  password = database.Column(database.String(255))
  active = database.Column(database.Boolean)
  roles = database.relationship(
    'Role', secondary=user_role_relation_database, backref=database.backref('users'), lazy='dynamic'
  )
Ejemplo n.º 13
0
class Stage(database.Model):
    id = database.Column(database.Integer, primary_key=True, autoincrement=False)
    name = database.Column(database.String(30), unique=True)
    create_date = database.Column(database.DateTime, server_default=database.func.now())
    modify_date = database.Column(database.DateTime, server_onupdate=database.func.now())

    def __repr__(self):
        return f'<User ID: {self.user_id}, Stage ID {self.id}, Name {self.name}>'
Ejemplo n.º 14
0
class Custom_Routes(db.Model):  # type: ignore
    """ Database Table for Html Routes """

    id = db.Column(db.Integer, primary_key=True)
    path = db.Column(db.String(150))
    source = db.Column(db.Text())

    def __repr__(self) -> str:
        return f"{self.path}"
Ejemplo n.º 15
0
class Forum(database.Model):
    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(64), index=True, unique=True)
    short_name = database.Column(database.String(32), index=True, unique=True)
    creator_id = database.Column(
        database.Integer,
        database.ForeignKey('users.id')
    )
    threads = database.relationship('Thread', backref='forum', lazy='dynamic')
Ejemplo n.º 16
0
class Consumption(database.Model):
    id = database.Column(database.Integer, primary_key=True)
    sum = database.Column(database.Integer, unique=False)
    category = database.Column(database.String(150), unique=False)
    creation_date = database.Column(database.DateTime)
    user_id = database.Column(database.String(150), unique=False)

    def __repr__(self):
        return str(self.sum) + " " + str(self.category)
Ejemplo n.º 17
0
class Sbc(db.Model):
    __tablename__ = 'sbc'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    connected = db.Column(db.Boolean)
    description = db.Column(db.Text)
    # Foreign keys:
    logs = db.relationship('Logs', cascade="all, delete", backref='sbc', lazy=True)    
    forwarding = db.relationship('Forwarding', cascade="all, delete", backref="sbc", lazy=True)
Ejemplo n.º 18
0
class UserBadges(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    uid = db.Column(db.Integer, nullable=False)
    badgesID = db.Column(db.Integer, nullable=False)

    def addUserBadges(buid, bbadgesID):
        user_badge = UserBadges(uid=buid, badgesID=bbadgesID)
        db.session.add(user_badge)
        db.session.commit()
        return True
Ejemplo n.º 19
0
class Contact(db.Model):  # type: ignore
    """ Database Table for Contact details """

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(150))
    email = db.Column(db.String(150))
    message = db.Column(db.Text())

    def __repr__(self) -> str:
        return f"{self.name} -> {self.email}"
Ejemplo n.º 20
0
class Posts(db.Model):  # type: ignore
    """ Database Table for Blog post """

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(150))
    body = db.Column(db.Text())
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)

    def __repr__(self) -> str:
        return f"{self.title} -> {self.timestamp}"
Ejemplo n.º 21
0
class Posts(database.Model):
    id = database.Column(database.Integer, primary_key=True)
    title = database.Column(database.String)
    date = database.Column(database.DateTime)
    author = database.Column(database.String)
    private = database.Column(database.Integer)
    permissions = database.Column(database.String)
    short = database.Column(database.String)
    content = database.Column(database.String)
    expiration = database.Column(database.DateTime)
    enabled = database.Column(database.Integer)
Ejemplo n.º 22
0
class Commitment(database.Model):
    __tablename__ = 'commitment'
    commitment_id = database.Column(database.Integer, primary_key=True, autoincrement=True)
    fund_id = database.Column(database.ForeignKey('fund.fund_id'), nullable=False)
    date = database.Column(database.String(120), nullable=False)
    amount = database.Column(database.Integer, nullable=False)

    def __init__(self, fund_id, date, amount):
        self.fund_id = fund_id
        self.date = date
        self.amount = amount
Ejemplo n.º 23
0
class EduSchedu(database.Model):
    __tablename__ = 'classes'
    id = database.Column(database.Integer, primary_key=True)
    time = database.Column(TIME(), nullable=False)
    dow = database.Column(database.Integer, default='')
    classname = database.Column(database.String(100), default='')
    zoomlink = database.Column(database.String(500), default='')
    students = database.relationship("User",
                                     secondary=student_identifier,
                                     backref=database.backref('students'),
                                     lazy='dynamic')
Ejemplo n.º 24
0
class Call(database.Model):
    __tablename__ = 'call'
    call_id = database.Column(database.Integer, primary_key=True, autoincrement=True)
    investment_name = database.Column(database.String(120), nullable=False)
    date = database.Column(database.String(120), nullable=False)
    capital_requirement = database.Column(database.Integer, nullable=False)

    def __init__(self, investment_name, date, capital_requirement):
        self.investment_name = investment_name
        self.date = date
        self.capital_requirement = capital_requirement
class Address(database.Model):
    __tablename__ = 'address'

    address = database.Column(database.String(30), primary_key=True)
    city = database.Column(database.String(10), nullable=False)
    state_province = database.Column(database.String(10), nullable=False)
    postal_code = database.Column(database.String(5), nullable=False)
    country = database.Column(database.String(15), nullable=False)

    def __repr__(self):
        return '<Address {}>'.format(self.address)
Ejemplo n.º 26
0
class Like(database.Model):
    id = database.Column(database.Integer, primary_key=True)
    article_id = database.Column(database.Integer,
                                 database.ForeignKey("article.id"),
                                 nullable=False)
    user_id = database.Column(database.Unicode(36),
                              database.ForeignKey("user.id"),
                              nullable=False)

    def __repr__(self):
        return "Like('{}', '{}', {}')".format(self.id, self.article_id,
                                              self.user_id)
Ejemplo n.º 27
0
class Role(database.Model):
    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(64), unique=True)
    default = database.Column(database.Boolean, default=False, index=True)
    permissions = database.Column(database.Integer)
    users = database.relationship("User", backref="role", lazy="dynamic")
    companies = database.relationship("Company",
                                      backref="role",
                                      lazy="dynamic")

    def __init__(self, **kwargs):
        super(Role, self).__init__(**kwargs)
        if self.permissions is None:
            self.permissions = 0

    def add_permission(self, permission):
        if not self.has_permission(permission):
            self.permissions += permission

    def has_permission(self, permission):
        return self.permissions and permission == permission

    @staticmethod
    def insert_roles():
        default_role = "User"
        roles = {
            "User": [
                Permission.COMMENT, Permission.WRITE_ARTICLES,
                Permission.MODERATE_COMMENTS
            ],
            "Company": [
                Permission.COMMENT, Permission.WRITE_ARTICLES,
                Permission.MANAGE_PRODUCTS
            ]
        }

        for r in roles:
            role = Role.query.filter_by(name=r).first()
            if role is None:
                role = Role(name=r)
            role.reset_permissions()
            for permission in roles[r]:
                role.add_permission(permission)
            role.default = (role.name == default_role)
            database.session.add(role)
        database.session.commit()

    def remove_permission(self, permission):
        if self.has_permission(permission):
            self.permissions -= permission

    def reset_permissions(self):
        self.permissions = 0
Ejemplo n.º 28
0
class Todo(db.Model):
    """
    Database Model for Table Todos of Users
    """

    id = db.Column(db.Integer, primary_key=True)
    task = db.Column(db.String(140))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow())
    owner_id = db.Column(db.Integer, db.ForeignKey("user.id"))

    def __repr__(self):
        return f"{self.task}"
Ejemplo n.º 29
0
class User(db.Model, UserMixin):
    """
    Database Model for Table Users
    """

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    todos = db.relationship("Todo", backref="owner")

    def set_password(self, password: str):
        """ Set the hashed password for the user """
        self.password_hash = generate_password_hash(password)

    def check_password(self, password: str):
        """ Check the users password """
        return check_password_hash(self.password_hash, password)

    def is_active(self):
        """ True, as all users are active. """
        return True

    def get_id(self):
        """ Return the email address to satisfy Flask-Login's requirements. """
        return self.id

    def is_authenticated(self):
        """ Return True if the user is authenticated. """
        return self.authenticated

    def is_anonymous(self):
        """ False, as anonymous users aren't supported. """
        return False

    def __repr__(self):
        return f"{self.username} -> {self.email}"

    def remove_todo(self, task: str):
        """ Remove Todo from the user """
        for i in self.todos:
            if i.task == task:
                db.session.delete(i)
                db.commit()
            else:
                continue

    def add_todo(self, task: str):
        """ Add Todo to the user """
        td = Todo(task=task,
                  owner=User.query.filter_by(username=self.username).first())
        db.session.add(td)
        db.session.commit()
Ejemplo n.º 30
0
class Role(database.Model):
    def __init__(self, id_, name_):
        self.id = id_
        self.name = name_

    __tablename__ = 'roles'

    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(64), unique=True)

    def __repr__(self):
        return '<Role \'{}\', id: {}>'.format(self.name, self.id)