Пример #1
0
class Role(db.Model):
    IdRole = db.Column(db.Integer, primary_key=True)
    Role = db.Column(db.String(250), nullable=False)
    CreatedAt = db.Column(db.DateTime, nullable=False)

    def __repr__(self):
        return f"Role('{self.IdRole}','{self.Role},'{self.CreatedAt}')"
Пример #2
0
class Employee(db.Model):
    __tablename__ = 'employee'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    country = db.Column(db.String(12))
    city = db.Column(db.String(12))
    salary = db.Column(db.Integer)
Пример #3
0
class OrderStatus(db.Model):
    IdOrderStatus = db.Column(db.Integer, primary_key=True)
    OrderStatus = db.Column(db.String(250), nullable=False)
    CreatedAt = db.Column(db.DateTime, nullable=False)

    def __repr__(self):
        return f"OrderStatus('{self.IdOrderStatus}','{self.OrderStatus}','{self.CreatedAt}')"
Пример #4
0
class Situation(db.Model):
    IdSituation = db.Column(db.Integer, primary_key=True)
    Situation = db.Column(db.String(250), nullable=False)
    CreatedAt = db.Column(db.DateTime, nullable=False)

    def __repr__(self):
        return f"Situation('{self.IdSituation}','{self.Situation}','{self.CreatedAt}')"
Пример #5
0
class Time(db.Model):
    IdTime = db.Column(db.Integer, primary_key=True)
    TimeDec = db.Column(db.String(250), nullable=False)
    CreatedAt = db.Column(db.DateTime, nullable=False)

    def __repr__(self):
        return f"Time('{self.IdTime}','{self.TimeDec }','{self.CreatedAt}')"
Пример #6
0
class Priority(db.Model):
    IdPriority = db.Column(db.Integer, primary_key=True)
    PriorityName = db.Column(db.String(250), nullable=False)
    CreatedAt = db.Column(db.DateTime, nullable=False)

    def __repr__(self):
        return f"Priority('{self.IdPriority}','{self.PriorityName}','{self.CreatedAt}')"
Пример #7
0
class Users(db.Model, UserMixin):

    __tablename__ = 'Users'
    __bind_key__ = 'flask'

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

    def __init__(self, **kwargs):
        for property, value in kwargs.items():
            # depending on whether value is an iterable or not, we must
            # unpack it's value (when **kwargs is request.form, some values
            # will be a 1-element list)
            if hasattr(value, '__iter__') and not isinstance(value, str):
                # the ,= unpack of a singleton fails PEP8 (travis flake8 test)
                value = value[0]

            if property == 'password':
                value = hash_pass(value)  # we need bytes here (not plain str)

            setattr(self, property, value)

    # repr method represents how one object of this datatable
    # will look like
    def __repr__(self):
        return str(self.username)
Пример #8
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)
    dam_id = db.Column(db.Integer, db.ForeignKey('dam.id'), nullable=False)

    def __repr__(self):
        return f"User({self.username}, {self.dam_id})"
Пример #9
0
class Size(db.Model):
    IdSize = db.Column(db.Integer, primary_key=True)
    Size = db.Column(db.String(250), nullable=False)
    Enabled = db.Column(db.Integer, db.ForeignKey('situation.IdSituation'))
    CreatedAt = db.Column(db.DateTime, nullable=False)
    situation = db.relationship('Situation', backref='Size')

    def __repr__(self):
        return f"Portion('{self.IdSize }','{self.Enabled }','{self.Size }','{self.CreatedAt}')"
Пример #10
0
class Categories(db.Model):
    IdCategory = db.Column(db.Integer, primary_key=True)
    Category = db.Column(db.String(250), nullable=False)
    Enabled = db.Column(db.Integer, db.ForeignKey('situation.IdSituation'))
    CreatedAt = db.Column(db.DateTime, nullable=False)
    situation = db.relationship('Situation', backref='Categories')

    def __repr__(self):
        return f"Categories('{self.IdCategory}','{self.Category },'{self.Enabled}','{self.CreatedAt}')"
Пример #11
0
class IncidentalFinding(db.Model):
    __tablename__ = 'incidental_findings'

    id = db.Column(db.Integer, primary_key=True)
    session_id = db.Column(db.Integer,
                           db.ForeignKey('sessions.id'),
                           nullable=False)
    session = db.relationship('Session', back_populates="incidental_findings")
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    user = db.relationship('User', back_populates="incidental_findings")
Пример #12
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(60), unique=True, nullable=False)
    role = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)

    def __repr__(self):
        return f"User('{self.name}', '{self.email}')"
Пример #13
0
class ExtraService(db.Model):
    IdService = db.Column(db.Integer, primary_key=True)
    Name = db.Column(db.String(250), nullable=False)
    Price = db.Column(db.String(250), nullable=False)
    Enabled = db.Column(db.Integer, db.ForeignKey('situation.IdSituation'))
    CreatedAt = db.Column(db.DateTime, nullable=False)
    situation = db.relationship('Situation', backref='ExtraService')

    def __repr__(self):
        return f"ExtraService('{self.IdService}','{self.Name},'{self.Price}','{self.Enabled}','{self.CreatedAt}')"
Пример #14
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
Пример #15
0
class Data(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    data = db.Column(db.Integer, nullable=False)
    timestamp = db.Column(db.DateTime,
                          nullable=False,
                          default=datetime.datetime.utcnow())
    device_id = db.Column(db.Integer,
                          db.ForeignKey('device.id'),
                          nullable=False)

    def __repr__(self):
        return f"Data({self.data}, {self.timestamp})"
Пример #16
0
class User(db.Model, UserMixin):
    # define a user with username and password and email adress. Only users can add devices to the device list
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default='default.jpg')
    password = db.Column(db.String(60), nullable=False)

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
Пример #17
0
class Site(db.Model):
    __tablename__ = 'sites'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    studies = db.relationship('Study',
                              secondary=study_site_table,
                              back_populates='sites')
    sessions = db.relationship('Session')

    def __repr__(self):
        return ('<Site {}>'.format(self.name))
Пример #18
0
class ScanType(db.Model):
    __tablename__ = 'scantypes'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    metrictypes = db.relationship('MetricType', back_populates="scantype")
    scans = db.relationship("Scan", back_populates='scantype')
    studies = db.relationship("Study",
                              secondary=study_scantype_table,
                              back_populates="scantypes")

    def __repr__(self):
        return ('<ScanType {}>'.format(self.name))
Пример #19
0
class MetricValue(db.Model):
    __tablename__ = 'scanmetrics'

    id = db.Column(db.Integer, primary_key=True)
    _value = db.Column('value', db.String)
    scan_id = db.Column(db.Integer, db.ForeignKey('scans.id'), nullable=False)
    scan = db.relationship('Scan', back_populates="metricvalues")
    metrictype_id = db.Column(db.Integer, db.ForeignKey('metrictypes.id'))
    metrictype = db.relationship('MetricType', back_populates="metricvalues")

    @property
    def value(self):
        """Returns the value field from the database.
        The value is stored as a string.
        If the value contains '::' character this will convert it to a list,
        otherwise it will attempt to cast to Float.
        Failing that the value is returned as a string.
        """
        if self._value is None:
            return (None)
        value = self._value.split('::')
        try:
            value = [float(v) for v in value]
        except ValueError:
            return (''.join(value))
        if len(value) == 1:
            return (value[0])
        else:
            return (value)

    @value.setter
    def value(self, value, delimiter=None):
        """Stores the value in the database as a string.
        If the delimiter is specified any characters matching delimiter are
        replaced with '::' for storage.

        Keyword arguments:
        [delimiter] -- optional character string that is replaced by '::' for
            database storage.
        """
        if delimiter is not None:
            try:
                value = value.replace(delimiter, '::')
            except AttributeError:
                pass
        self._value = str(value)

    def __repr__(self):
        return ('<Scan {}: Metric {}: Value {}>'.format(
            self.scan.name, self.metrictype.name, self.value))
Пример #20
0
class MetricType(db.Model):
    __tablename__ = 'metrictypes'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(12))
    scantype_id = db.Column(db.Integer,
                            db.ForeignKey('scantypes.id'),
                            nullable=False)
    scantype = db.relationship('ScanType', back_populates='metrictypes')
    metricvalues = db.relationship('MetricValue')

    db.UniqueConstraint('name', 'scantype_id')

    def __repr__(self):
        return ('<MetricType {}>'.format(self.name))
Пример #21
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(60), unique=True, nullable=False)
    role = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)

    def __repr__(self):
        return f"User('{self.name}', '{self.email}'')"

    def __init__(self, name, role, email, password):
        self.name = name
        self.role = role
        self.email = email
        self.password = password
Пример #22
0
class Card(db.Model):
    __tablename__ = 'card'
    id = db.Column(db.Integer, primary_key=True)
    header = db.Column(db.String(20))
    icon = db.Column(db.String(10))
    category = db.Column(db.String(10))
    title = db.Column(db.String(12))
    footer_icon = db.Column(db.String(10))
    footer_title = db.Column(db.String(12))
    footer_text = db.Column(db.String(20))
Пример #23
0
class Lo(db.Model):

    __tablename__ = "los"
    __table_args__ = {'extend_existing': True}  # Makes sure database is updated and we don't get errors on restart

    lo_id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.String(40), primary_key=True)
    name = db.Column(db.String(40))  # Short LO name. Example: #linearsystems
    description = db.Column(db.String(500))  # Longer LO description
    term = db.Column(db.Integer)  # Integer indicating the term. For example, 22 means Spring 2021
    co_id = db.Column(db.Integer)  # ID of associated Course Outcome
    co_desc = db.Column(db.String(500))  # Description of associated Course Outcome
    course = db.Column(db.String(10))  # Short Course name. Example: CS162
    mean = db.Column(db.String(4))  # Mean of HC score
Пример #24
0
class Post(db.Model):
    __tablename__ = "posts"
    title = db.Column(db.String(255))
    link = db.Column(db.String(255))
    tag = db.Column(db.String(60))
    datetime = db.Column(db.String(60))
    origin = db.Column(db.String(60))
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 外键名为 '表名.字段名'
    author_id = db.Column(db.Integer, db.ForeignKey("authors.id"))
    # 创建一个属性代表它的作者对象
    author = db.relationship("Author", back_populates="posts")

    def __init__(self, title, link, tag, origin, author):
        self.title = title
        self.link = link
        self.tag = tag
        self.origin = origin
        self.datetime = None
        self.author = author
        if isinstance(author, Author):
            self.author_id = author.id
        else:
            # 抛出异常
            raise Exception(TypeError)

    @dateTimeFormatter
    def setDateTime(self, date=None):
        self.datetime = date

    # 重写输出函数,方便打印
    def __repr__(self):
        return "Class:{}<id:{} title:{} link:{} tag:{} datetime:{} origin:{}>".format(
            "Post", self.id, self.title, self.link, self.tag, self.datetime,
            self.origin)
Пример #25
0
class Analysis(db.Model):
    __tablename__ = 'analyses'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False)
    description = db.Column(db.String, nullable=False)
    software = db.Column(db.String)
    analysis_comments = db.relationship('ScanComment')

    def get_users(self):
        """
        Returns a list of unique user objects who have posted comments
        on this analysis.
        """
        user_ids = [comment.user_id for comment in self.analysis_comments]
        user_ids = set(user_ids)
        users = [User.query.get(uid) for uid in user_ids]
        return users

    def __repr__(self):
        return ('<Analysis:{} {}>'.format(self.id, self.name))
Пример #26
0
class Dam(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(60), unique=True, nullable=False)
    status = db.Column(db.String(10), nullable=False, default="NORMAL")
    location = db.Column(db.String(60), nullable=False)
    state = db.Column(db.String(20), nullable=False)
    latitude = db.Column(db.String(10), nullable=False)
    longitude = db.Column(db.String(10), nullable=False)
    frl = db.Column(db.Integer, nullable=False)
    devices = db.relationship('Device', backref='installed_at', lazy=True)
    users = db.relationship('User', backref='works_at', lazy=True)

    def __repr__(self):
        return f"Dam({self.name}, {self.state}, {self.frl})"
Пример #27
0
class Author(db.Model):
    __tablename__ = "authors"
    name = db.Column(db.String(255))
    link = db.Column(db.String(255))
    create_time = db.Column(db.String(60))
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # 创建一个属性记录属于他的文章
    posts = db.relationship("Post", back_populates="author")

    def __init__(self, link, name):
        self.link = link
        self.name = name
        self.create_time = None

    @dateTimeFormatter
    def setCreateTime(self, date=None):
        self.create_time = date

    # 重写输出函数,方便打印
    def __repr__(self):
        return "Class:{}<id:{} name:{} link:{} create_time:{}>".format(
            "Author", self.id, self.name, self.link, self.create_time)
Пример #28
0
class temperatur(db.Model):
    temp_id = db.Column(db.Integer, primary_key=True)
    temp_date = db.Column(db.DateTime, default=datetime.utcnow)
    temp_fahrenheit = db.Column(db.Float)
    temp_celcius = db.Column(db.Float)
    temp_humidity = db.Column(db.Float)
    temp_sensor_desc = db.Column(db.String(100))
    temp_sensor_pin = db.Column(db.String(25))

    def __repr__(self):
        return f'<Sensor {temp_sensor_pin} Desc {temp_sensor_desc} Date {temp_date.strftime("%Y-%m-%d %H:%M:%S")} Temp {temp_fahrenheit}/{temp_celcius} Hum {temp_humidity}'
Пример #29
0
class Users(db.Model, UserMixin):
    IdUser = db.Column(db.Integer, primary_key=True)
    IdRole = db.Column(db.Integer, db.ForeignKey('role.IdRole'))
    FirstName = db.Column(db.String(250), nullable=True)
    LastName = db.Column(db.String(250), nullable=True)
    Email = db.Column(db.String(250), nullable=True)
    PhoneNumber = db.Column(db.String(250), nullable=True)
    Address = db.Column(db.String(250), nullable=True)
    Pasword = db.Column(db.String(250), nullable=True)
    CreatedAt = db.Column(db.DateTime, nullable=False)
    Enabled = db.Column(db.Integer, db.ForeignKey('situation.IdSituation'))
    role = db.relationship('Role', backref="Users")
    situation = db.relationship('Situation', backref='Users')

    def get_reset_token(self, expires_sec=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.IdUser}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except TypeError:
            print('Type error in verify reset token')
        except Exception as e:
            print("Error '{0}' occurred. Arguments {1}.".format(
                e.message, e.args))
        finally:
            if user_id is None:
                user_id = None
        return Users.query.get(user_id)

    def __repr__(self):
        return f"Users('{self.IdUser}','{self.IdRole},'{self.FirstName}','{self.LastName}','{self.Email}','{self.PhoneNumber}','{self.Address}','{self.Pasword}','{self.CreatedAt}','{self.Enabled}')"

    def get_id(self):
        return (self.IdUser)
Пример #30
0
class Tasks(db.Model):

    __tablename__ = 'Tasks'
    __bind_key__ = 'flask'

    id = db.Column(db.Integer, primary_key=True)
    created = db.Column(db.DateTime, default=datetime.utcnow)
    ownerid = db.Column(db.Integer, db.ForeignKey('Users.id'))
    marketid = db.Column(db.String(64), nullable=False)
    taskid = db.Column(db.String(64), nullable=False)
    taskicon = db.Column(db.String(64), nullable=False)
    taskname = db.Column(db.String(64), nullable=False)
    progress = db.Column(db.String(64), default='?/?')
    completion = db.Column(db.Integer, default=0)

    # repr method represents how one object of this datatable
    # will look like
    def __repr__(self):
        return str(self.taskname)