Exemplo n.º 1
0
class Organization(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(200), unique=True) 
    org_key =db.Column(db.String(100), unique=True)# some key for new users to register wth
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now()) 
    whois_enabled = db.Column(db.Boolean, default=True)
    ipinfo_enabled = db.Column(db.Boolean, default=True)
    vt_enabled = db.Column(db.Boolean, default=False)
    vt_api_key = db.Column(db.String(1000))
    shodan_enabled = db.Column(db.Boolean, default=False)
    shodan_api_key = db.Column(db.String(1000))
    urlscan_enabled = db.Column(db.Boolean, default=False)
    urlscan_api_key = db.Column(db.String(1000))
    emailrep_enabled = db.Column(db.Boolean, default=False)
    emailrep_api_key = db.Column(db.String(1000))
    riskiq_enabled = db.Column(db.Boolean, default=False)
    riskiq_username = db.Column(db.String(50))
    riskiq_api_key = db.Column(db.String(50))
    gn_enabled = db.Column(db.Boolean, default=False)
    gn_api_key = db.Column(db.String(50))
    av_enabled = db.Column(db.Boolean, default=False)
    av_api_key = db.Column(db.String(100))
    misp_enabled = db.Column(db.Boolean, default=False)
    misp_api_key = db.Column(db.String(100))
    misp_url = db.Column(db.String(1000))
    hibp_api_key = db.Column(db.String(100))
    hibp_enabled = db.Column(db.Boolean, default=False)
    hunter_api_key = db.Column(db.String(100))
    hunter_enabled = db.Column(db.Boolean, default=False)
    slack_webhook = db.Column(db.String(1000))
    slack_webhook_on_report_create = db.Column(db.Boolean, default=False)
    slack_webhook_on_req_create = db.Column(db.Boolean, default=False)
    slack_webhook_on_req_update = db.Column(db.Boolean, default=False)
Exemplo n.º 2
0
class Songs(db.Model):
    __tablename__ = 'Songs'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    duration = db.Column(db.Integer, nullable=False)
    upload_time = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), nullable=True)

    def __init__(self, data):
        self.name = data.get('name')
        self.duration = data.get('duration')

    def save(self):
        db.session.add(self)
        db.session.commit()

    def update(self, data):
        for key, item in data.items():
            setattr(self, key, item)
        self.updated_at = func.now()
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()

    @staticmethod
    def get_all():
        return Songs.query.all()

    @staticmethod
    def get_one(song_id):
        return Songs.query.get(song_id)
Exemplo n.º 3
0
class Consumers(db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    organization = db.Column(db.Integer, db.ForeignKey('organization.id'))# add foreign key 
    name = db.Column(db.String(100))
    email = db.Column(db.String(100))
    poc = db.Column(db.String(100))
    subtitle = db.Column(db.String(100))
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now()) 
Exemplo n.º 4
0
class Comments(db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    user = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    report = db.Column(db.Integer, db.ForeignKey('reports.id'), nullable=True)
    requirement = db.Column(db.Integer, db.ForeignKey('reports.id'), nullable=True)
    comment = db.Column(db.String(100000), nullable=True)
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now()) 
    indicator = db.Column(db.Integer, db.ForeignKey('indicators.id'), nullable=True)
Exemplo n.º 5
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    organization = db.Column(db.Integer, db.ForeignKey('organization.id'))# add foreign key 
    email = db.Column(db.String(100), unique=True)
    password = db.Column(db.String(100))
    name = db.Column(db.String(1000))
    tn_api_key = db.Column(db.String(50))
    role = db.Column(db.String(50), default='user')
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now())  
    new_user = db.Column(db.Boolean, default=True)
Exemplo n.º 6
0
class RegularTask(db.Model):
    __tablename__ = 'tasks'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(120), nullable=False)
    label = db.Column(db.String(120), nullable=False)
    task_desc = db.Column(db.String(400), nullable=False)
    time_created = db.Column(db.DateTime(), nullable=False)
    end_time = db.Column(db.DateTime())
    is_done = db.Column(db.Boolean(), nullable=False)

    def save_task(self):
        ses = db.session
        ses.add(self)
        ses.commit()

    @classmethod
    def get_task_by_user(cls, username):
        return list(
            map(lambda x: x.serialize,
                cls.query.filter_by(username=username).all()))

    @classmethod
    def get_task_by_user_and_id(cls, username, id):
        return cls.query.filter_by(username=username, id=id).first()

    @classmethod
    def get_task_by_user_and_id_json(cls, username, id):
        return list(
            map(lambda x: x.serialize,
                cls.query.filter_by(username=username, id=id).all()))

    def mark_as_done(self):
        self.is_done = not self.is_done
        db.session.commit()

    def delete_task(self):
        db.session.delete(self)
        db.session.commit()

    def update(self):
        db.session.commit()

    @property
    def serialize(self):
        return {
            'id': self.id,
            'label': self.label,
            'task_desc': self.task_desc,
            'username': self.username,
            'is_done': self.is_done,
            'time_created': self.time_created.isoformat(),
            'end_time': self.end_time.isoformat()
        }
Exemplo n.º 7
0
class Reports(db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    title = db.Column(db.String(500))
    content = db.Column(db.String(100000))
    creator = db.Column(db.String(100))   
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now()) 
    friendly_id = db.Column(db.String(100))
    is_archived = db.Column(db.Boolean, default=False)
    #tags = db.Column(db.String(1000))
#    linked_reqs = db.Column(db.String(1000))
    tlp = db.Column(db.String(100))
Exemplo n.º 8
0
class Product(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    sku = db.Column(db.String(12), unique=True)
    name = db.Column(db.String(64))
    discription = db.Column(db.Text, nullable=True)
    price = db.Column(db.Numeric(10, 2))
    image = db.Column(db.Text, nullable=True)
    created = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    def __str__(self):
        return f"{self.id}-{self.name}"
class Energy(db.Model):
    __tablename__ = "energy"
    id = db.Column(db.Integer, primary_key=True)
    energy = db.Column(db.Float(64))
    measurement_time = db.Column(db.DateTime(), default=sql.func.now())
    created = db.Column(
        db.DateTime(),
        default=sql.func.now()  # use db to set timestamp
    )
    updated = db.Column(db.DateTime(),
                        default=sql.func.now(),
                        onupdate=sql.func.now())
    asset_id = Column(Integer, ForeignKey('asset.id'))
Exemplo n.º 10
0
class FlattenArray(db.Model):
    """
	Here the table name is defined, the id field is created as
	primary key, the array field es created to save de flatten array
	and the created at field and updated_at filed are created 
	"""
    __tablename__ = 'flatten_array'
    id = db.Column(db.Integer, primary_key=True)
    array = db.Column(db.String(500))
    created_at = db.Column(db.DateTime(), default=datetime.datetime.now())
    updated_at = db.Column(db.DateTime(),
                           onupdate=datetime.datetime.now(),
                           default=datetime.datetime.now())
Exemplo n.º 11
0
class Podcasts(db.Model):
    __tablename__ = 'Podcasts'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    duration = db.Column(db.Integer, nullable=False)
    upload_time = db.Column(db.DateTime(timezone=True), server_default=func.now())
    host = db.Column(db.String(100), nullable=False)
    _participants = db.Column('participants', db.Text, nullable=True, )
    updated_at = db.Column(db.DateTime(timezone=True), nullable=True)

    @hybrid_property
    def participants(self):
        if self._participants:
            return self._participants.split(',')

    @participants.setter
    def participants(self, participants):
        if participants:
            self._participants = ",".join(participants)
        else:
            self._participants = None

    def __init__(self, data):
        self.name = data.get('name')
        self.duration = data.get('duration')
        self.host = data.get('host')
        self.participants = data.get('participants')

    def save(self):
        db.session.add(self)
        db.session.commit()

    def update(self, data):
        for key, item in data.items():
            setattr(self, key, item)
        self.updated_at = func.now()
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()

    @staticmethod
    def get_all():
        return Podcasts.query.all()

    @staticmethod
    def get_one(podcast_id):
        return Podcasts.query.get(podcast_id)
Exemplo n.º 12
0
class Requirements(db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    friendly_id = db.Column(db.String(100), unique=True)
    title = db.Column(db.String(500))
    owner = db.Column(db.String(100))
    priority = db.Column(db.String(100))
    summary = db.Column(db.String(10000))
    gaps = db.Column(db.String(10000))
    collection_requirements = db.Column(db.String(10000))
    deliverables = db.Column(db.String(10000))
    time_requirement = db.Column(db.Date())
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now()) 
    creator = db.Column(db.String(100))
    is_archived = db.Column(db.Boolean, default=False)
Exemplo n.º 13
0
class SuperAdmin(db.Model):

    __bind_key__ = 'super-admins'
    __tablename__ = 'super-admins'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    name = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    pwdhash = db.Column(db.String(54))
    is_active = db.Column(db.Boolean(), default=True)
    is_staff = db.Column(db.Boolean(), default=True)
    is_admin = db.Column(db.Boolean(), default=True)
    is_super_admin = db.Column(db.Boolean(), default=True)
    created_on = db.Column(db.DateTime(), default=datetime.datetime.now())

    def __init__(self, username, name, email, password):
        self.username = username.lower()
        self.name = name.lower()
        self.email = email.lower()
        self.set_password(password)

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

    def check_password(self, password):
        return check_password_hash(self.pwdhash, password)
Exemplo n.º 14
0
class User(db.Model, UserMixin):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    active = db.Column('is_active',
                       db.Boolean(),
                       nullable=False,
                       server_default='1')

    # User authentication information. The collation='NOCASE' is required
    # to search case insensitively when USER_IFIND_MODE is 'nocase_collation'.
    email = db.Column(db.String(255, collation='NOCASE'))
    username = db.Column(db.String(100, collation='NOCASE'),
                         nullable=False,
                         unique=True)
    password = db.Column(db.String(255), nullable=False, server_default='')
    email_confirmed_at = db.Column(db.DateTime())

    # User information
    first_name = db.Column(db.String(100, collation='NOCASE'),
                           nullable=False,
                           server_default='')
    last_name = db.Column(db.String(100, collation='NOCASE'),
                          nullable=False,
                          server_default='')

    # Define the relationship to Role via UserRoles
    roles = db.relationship('Role', secondary='user_roles')
Exemplo n.º 15
0
class Asset(db.Model):
    __tablename__ = "asset"
    id = db.Column(db.Integer, primary_key=True)
    role = db.Column(db.String(32))
    manufacturer = db.Column(db.String(32))
    model = db.Column(db.String(32))
    serial_number = db.Column(db.String(32))
    latitude = db.Column(db.Float(64))
    longitude = db.Column(db.Float(64))
    energy_unit = db.Column(db.String(32))
    is_accumulated = db.Column(db.Boolean)
    created = db.Column(db.DateTime(), default=sql.func.now())
    updated = db.Column(db.DateTime(),
                        default=sql.func.now(),
                        onupdate=sql.func.now())
    measurements = relationship(Energy)
Exemplo n.º 16
0
class Transaction(db.Model):
    __tablename__ = "transaction"
    transaction_id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey("user.user_id"),
                        nullable=False)
    pool_id = db.Column(db.Integer,
                        db.ForeignKey("pool.pool_id"),
                        nullable=True)
    pool_hash = db.Column(db.String(100),
                          db.ForeignKey("pool.pool_hash"),
                          nullable=True)
    transaction_amount_buy = db.Column(db.Float(precision=5, asdecimal=True),
                                       nullable=True)
    transaction_amount_sell = db.Column(db.Float(precision=5, asdecimal=True),
                                        nullable=True)
    transaction_is_deposit = db.Column(db.Boolean, nullable=True)
    transaction_wallet_to = db.Column(db.String(100), nullable=True)
    transaction_wallet_from = db.Column(db.String(100), nullable=True)
    transaction_status = db.Column(
        db.Integer, default=0
    )  # Determines if this transaction is win/loss 0 = in progress 1 = win -1 = loss 2 = deposited
    transaction_tcreate = db.Column(db.DateTime(timezone=True),
                                    default=func.now())
    transaction_tmodified = db.Column(db.DateTime(timezone=True),
                                      default=func.now(),
                                      onupdate=func.now())

    # pool = db.relationship(
    #     "Pool",
    #     backref="transaction",
    #     primaryjoin="Transaction.pool_id == Pool.pool_id",
    # )

    user = db.relationship(
        "User",
        backref="transaction",
        primaryjoin="Transaction.user_id == User.user_id",
    )

    # Transaction status
    TRANSACTION_IN_PROGRESS = 0
    TRANSACTION_POOL_WIN = 1
    TRANSACTION_POOL_LOSS = -1
    TRANSACTION_IS_DEPOSIT = 2
    TRANSACTION_CANCELLED = 3
Exemplo n.º 17
0
class Report(db.Model):
    __tablename__ = 'report'
    id = db.Column(db.Integer(), primary_key=True, comment='主键,自增')
    case_names = db.Column(db.String(128), nullable=True, comment='用例的名称集合')
    read_status = db.Column(db.String(16), nullable=True, comment='阅读状态')
    performer = db.Column(db.String(16), nullable=True, comment='执行者')
    project_id = db.Column(db.String(16), nullable=True)
    create_time = db.Column(db.DateTime(), index=True, default=datetime.now)
Exemplo n.º 18
0
class Show(db.Model):
    __tablename__ = 'Show'

    id = db.Column(db.Integer, primary_key=True)
    start_time = db.Column(db.DateTime(), nullable=False)
    venue_id = db.Column(db.Integer, db.ForeignKey('Venue.id'), nullable=False)
    artist_id = db.Column(db.Integer,
                          db.ForeignKey('Artist.id'),
                          nullable=False)
Exemplo n.º 19
0
class Event(db.Model):
    __tablename__ = 'events'
    id = db.Column(db.Integer, primary_key=True)
    dt = db.Column(db.DateTime(), default=datetime.utcnow)
    event_type = db.Column(db.String(128), nullable=False)
    payload = db.Column(db.Text)
    state = db.Column(db.Integer, default=0)

    def __repr__(self):
        return '<Event {id}>'.format(id=self.id)
Exemplo n.º 20
0
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    email = db.Column(db.String(50), nullable=False, unique=True)
    password_hash = db.Column(db.String(100), nullable=False)
    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

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

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

    def __repr__(self):
        return f'<{self.id}:{self.username}>'
Exemplo n.º 21
0
class Views(db.Model):
    __tablename__ = 'views'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, nullable=False)
    type = db.Column(db.String(10), nullable=False)
    obj_id = db.Column(db.Integer, nullable=False)
    created = db.Column(db.DateTime(), nullable=False, default=datetime.now())

    def __init__(self, user, type, obj):
        self.user_id = user
        self.type = type
        self.obj_id = obj
Exemplo n.º 22
0
class Consulta(db.Model):

    # table name
    __tablename__ = 'consulta'
    IdConsulta = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    IdObraSocial = db.Column(db.Integer(), nullable=False)
    IdGestionturno = db.Column(db.Integer(), nullable=False)
    Fecha = db.Column(db.DateTime(), nullable=False)
    IdPaciente = db.Column(db.Integer(), nullable=False)

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Exemplo n.º 23
0
class Show(db.Model):
    __tablename__ = 'show'

    id = db.Column(db.Integer, primary_key=True)
    venue_id = db.Column(db.Integer, db.ForeignKey(Venue.id), nullable=False)
    artist_id = db.Column(db.Integer, db.ForeignKey(Artist.id), nullable=False)
    start_time = db.Column(db.DateTime())

    @hybrid_property
    def start_time_pretty(self):
        # return self.shows_count['upcoming']
        return format_datetime(self.start_time)
Exemplo n.º 24
0
class IssueHistory(db.Model):
    __tablename__ = 'issue_history'
    id = db.Column(db.Integer, primary_key=True)
    issue_id = db.Column(db.Integer,
                         db.ForeignKey('issues.id'),
                         nullable=False)
    status_id = db.Column(db.Integer, db.ForeignKey('statuses.id'))
    create_time = db.Column(db.DateTime(), default=datetime.utcnow)
    reason = db.Column(db.Text)
    note = db.Column(db.Text)
    issue = db.relationship('Issue')
    status = db.relationship('Status')
Exemplo n.º 25
0
class USSDModel(db.Model):
    __tablename__ = 'farmers'
    id = db.Column(db.Integer(), primary_key=True)
    sessionID = db.Column(db.String(120), nullable=False)
    phoneNumber = db.Column(db.String(120), nullable=False)
    name = db.Column(db.String(120), nullable=False)
    county = db.Column(db.String(120), nullable=False)
    location = db.Column(db.String(120), nullable=False)
    products = db.Column(db.String(), nullable=False)
    ready = db.Column(db.String(120), nullable=False)
    quantity = db.Column(db.String(120), nullable=False)
    time_created = db.Column(db.DateTime(timezone=True), server_default=func.now())
    time_updated = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    # CREATE
    def create_record(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def fetch_all(cls):
        return cls.query.order_by(cls.time_created.desc()).all()
Exemplo n.º 26
0
class Phone(db.Model):
    __tablename__ = 'unique_phones'
    id = db.Column(db.Integer(), primary_key=True)
    sessionID = db.Column(db.String(120), nullable=False)
    phoneNumber = db.Column(db.String(120), nullable=False)
    time_created = db.Column(db.DateTime(timezone=True), server_default=func.now())
    time_updated = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    # CREATE
    def create_record(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def fetch_all(cls):
        return cls.query.order_by(cls.time_created.desc()).all()

    @classmethod
    def fetch_one(cls,id):
        rec=cls.query.filter_by(sessionID = id).first()
        if rec:
            return True
        else:
            return False
Exemplo n.º 27
0
class User(db.Model, UserMixin):

    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)

    # User authentication information. The collation='NOCASE' is required
    # to search case insensitively when USER_IFIND_MODE is 'nocase_collation'.
    email = db.Column(db.String(255, collation='NOCASE'),
                      nullable=False,
                      unique=True)
    email_confirmed_at = db.Column(db.DateTime())
    password = db.Column(db.String(255), nullable=False, server_default='')

    # User information
    first_name = db.Column(db.String(100, collation='NOCASE'),
                           nullable=False,
                           server_default='')
    last_name = db.Column(db.String(100, collation='NOCASE'),
                          nullable=False,
                          server_default='')
    phone = db.Column(db.String(100), nullable=True)
    show_whats = db.Column('show_whats',
                           db.Integer(),
                           nullable=False,
                           default='1')
    can_email = db.Column('can_email',
                          db.Integer(),
                          nullable=False,
                          default='1')
    status = db.Column(db.String(100), nullable=True)
    active = db.Column('is_active', db.Integer(), nullable=False, default='1')
    last_login = db.Column(db.DateTime())
    created = db.Column(db.DateTime(), nullable=False, default=datetime.now())
    last_modified = db.Column(db.DateTime(),
                              nullable=False,
                              default=datetime.now())
Exemplo n.º 28
0
class Persona(db.Model):

    # table name
    __tablename__ = 'persona'
    IdPersona = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    Apellido = db.Column(db.String(), nullable=False)
    Celular = db.Column(db.String(), nullable=False)
    Direccion = db.Column(db.String(), nullable=False)
    Dni = db.Column(db.String(), nullable=False)
    Email = db.Column(db.String(), nullable=False)
    FechaNacimiento = db.Column(db.DateTime(), nullable=False)
    Nombre = db.Column(db.String(), nullable=False)
    Tel = db.Column(db.String(), nullable=False)

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Exemplo n.º 29
0
class Expense(db.Model):
    __tablename__ = "expense"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    item = db.Column(db.String(100), nullable=False)
    quantity = db.Column(db.Integer, nullable=False)
    date = db.Column(db.DateTime(), default=datetime.utcnow())
    price = db.Column(db.Integer, nullable=False, default=0)
    owner_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    def __init__(self, item, quantity, price):
        self.item = item
        self.quantity = quantity
        self.price = price
        self.date = datetime.utcnow()

    def __str__(self):
        return f"{self.item} and {self.date}"
Exemplo n.º 30
0
class Issue(db.Model):
    __tablename__ = 'issues'
    id = db.Column(db.Integer, primary_key=True)
    status_id = db.Column(db.Integer, db.ForeignKey('statuses.id'), default=2)
    category_id = db.Column(db.Integer, db.ForeignKey('categories.id'))
    customer_id = db.Column(db.Integer, nullable=False)
    body = db.Column(db.Text, nullable=False)
    create_data = db.Column(db.DateTime(), default=datetime.utcnow)
    rating = db.Column(db.Integer)
    management_id = db.Column(db.Integer)
    contractor = db.Column(db.String(256))
    contractor_id = db.Column(db.Integer)
    status = db.relationship('Status')
    category = db.relationship('Category')

    def __repr__(self):
        return '<Issue {id}>'.format(id=self.id)