Пример #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)
Пример #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)
Пример #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()) 
Пример #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)
Пример #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)
Пример #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()
        }
Пример #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))
Пример #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'))
Пример #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())
Пример #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)
Пример #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)
Пример #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)
Пример #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')
Пример #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)
Пример #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
Пример #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)
Пример #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)
Пример #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)
Пример #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}>'
Пример #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
Пример #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}
Пример #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)
Пример #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')
Пример #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()
Пример #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
Пример #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())
Пример #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}
Пример #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}"
Пример #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)