Пример #1
0
class File(db.Model):
    __tablename__ = 'file'

    id = db.Column(db.Integer, primary_key=True)
    url = db.Column(db.String)
    created_at = db.Column(db.Date())
    deleted_at = db.Column(db.Date())

    person = db.relationship("Person", back_populates="file")
    aid_institution = db.relationship("AidInstitution", back_populates="file")
    chat_history_media = db.relationship('ChatHistoryMedia',
                                         back_populates='file')

    def __init__(self, url, created_at):
        self.url = url
        self.created_at = created_at

    def patch_model(self, content):
        self.url = content['url'] if content.get('url') else self.url
        self.deleted_at = content['deletedAt'] if content.get(
            'deletedAt') else self.deleted_at

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

    def serialize(self):
        return {
            'id': self.id,
            'url': self.url,
            'createdAt': self.created_at,
            'deletedAt': self.deleted_at
        }
Пример #2
0
class Point(db.Model):  # 계측기
    id = db.Column(db.Integer, primary_key=True)
    area = db.Column(db.String(10), nullable=True)  # 구역명
    number = db.Column(db.String(10), nullable=False)  # 계측기명
    type = db.Column(db.String(10), nullable=False)  # 계측기 종류
    installdate = db.Column(db.Date(), nullable=True)  # 설치일시
    startdate = db.Column(db.Date(), nullable=True)  # 초기치일시
    enddate = db.Column(db.Date(), nullable=True)  # 종료일시
    locate = db.Column(db.String(20), nullable=True)  # 설치 위치
    active = db.Column(db.Integer(), default=True)  # 활성화
    cst01 = db.Column(db.Float(), nullable=True)  # 상수값
    cst02 = db.Column(db.Float(), nullable=True)  # 상수값
    cst03 = db.Column(db.Float(), nullable=True)  # 상수값
    cst04 = db.Column(db.Float(), nullable=True)  # 상수값
    cst05 = db.Column(db.Float(), nullable=True)  # 상수값
    cst06 = db.Column(db.Float(), nullable=True)  # 상수값
    cst07 = db.Column(db.Float(), nullable=True)  # 상수값
    cst08 = db.Column(db.Float(), nullable=True)  # 상수값
    cst09 = db.Column(db.Float(), nullable=True)  # 상수값
    cst10 = db.Column(db.Float(), nullable=True)  # 상수값
    cst11 = db.Column(db.Float(), nullable=True)  # 상수값
    cst12 = db.Column(db.Float(), nullable=True)  # 상수값
    cst13 = db.Column(db.Float(), nullable=True)  # 상수값
    cst14 = db.Column(db.Float(), nullable=True)  # 상수값
    cst15 = db.Column(db.Float(), nullable=True)  # 상수값
    cst16 = db.Column(db.Float(), nullable=True)  # 최종데이터
    cst17 = db.Column(db.Float(), nullable=True)  # 최종데이터
    cst18 = db.Column(db.Float(), nullable=True)  # 최종데이터
    memo = db.Column(db.Text(), nullable=True)  # 히스토리
Пример #3
0
class Employees(db.Model):

	id = db.Column(db.Integer, primary_key = True)
	user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable = False)
	first_name = db.Column(db.String(45), nullable = False)
	last_name = db.Column(db.String(45), nullable = True)
	reporting_manager_id = db.Column(db.Integer, db.ForeignKey('employees.id'), nullable = True)
	designation = db.Column(db.String(45), nullable = False)
	department_id = db.Column(db.Integer, db.ForeignKey('department.id'), nullable = False)
	religion = db.Column(db.Enum('Islam','Christianity', 'Hinduism', 'Other'), nullable = False)
	general_leaves_remaining = db.Column(db.Float, nullable = False)
	medical_leaves_remaining = db.Column(db.Integer, nullable = False)
	general_leaves_availed = db.Column(db.Float, nullable = False)
	medical_leaves_availed = db.Column(db.Integer, nullable = False)
	date_of_joining = db.Column(db.Date(), nullable = False)
	salary = db.Column(db.Float, nullable = False)
	first_year = db.Column(db.Boolean, nullable = False)
	last_updated  = db.Column(db.Date(), nullable = False)
	
	user = db.relationship('User', uselist=False, backref=db.backref('employee', uselist=False), 
		lazy='joined', foreign_keys=[user_id])
	
	balance_sheet = db.relationship('Balance_sheet', backref='employee', lazy='joined')

	encashment = db.relationship('Encashment', backref='employee', lazy='joined')

	department = db.relationship('Department', uselist=False, backref=db.backref('employee', uselist=False), 
		lazy='joined', foreign_keys=[department_id])
	
	manager = db.relationship('Employees', backref=db.backref('subordinates', lazy='dynamic'), 
		remote_side=[id], lazy='joined', foreign_keys=[reporting_manager_id])
Пример #4
0
class Loan(Base):
    __tablename__ = 'loan'
    service_id = db.Column(db.Integer(),
                           db.ForeignKey('service.id', ondelete='CASCADE'))
    user_id = db.Column(db.Integer(),
                        db.ForeignKey('auth_user.id', ondelete='CASCADE'))
    date_filed = db.Column(db.DateTime, default=db.func.current_timestamp())
    amount = db.Column(db.Numeric(15, 2), nullable=False)
    terms = db.Column(db.Integer(), nullable=False)
    interest_rate = db.Column(db.Numeric(15, 2))
    previous_balance = db.Column(db.Numeric(15, 2))
    processing_fee = db.Column(db.Numeric(15, 2))
    net_proceeds = db.Column(db.Numeric(15, 2), nullable=False)
    first_due_date = db.Column(db.Date(), nullable=False)
    last_due_date = db.Column(db.Date())
    memberbank_id = db.Column(db.Integer())
    status = db.Column(db.String(20))

    user = db.relationship('User', uselist=False, backref='loan')
    service = db.relationship('Service', uselist=False)

    # the bank reference is only for convenience
    #    user can remove his bank detail anytime

    def __repr__(self):
        if self.user.detail:
            return f"{self.user.detail.last_name} {self.user.detail.first_name}, "\
                   f"{self.service.name}, {self.amount} [{self.id}]"
        else:
            return "<detail not defined>"
Пример #5
0
class IntlConferenceSupport(db.Model):
    __tablename__ = 'researcher_intl_conference_supports'
    id = db.Column('id', db.Integer, primary_key=True, autoincrement=True)
    qualification = db.Column('qualification', db.String())
    article_title = db.Column('article_title',
                              db.String(),
                              info={'label': 'ชื่อผลงานวิจัย'})
    organizer = db.Column('organizer',
                          db.String(),
                          info={'label': 'หน่วยงานผู้จัดประชุม'})
    venue = db.Column('venue', db.String(), info={'label': 'สถานที่จัดประชุม'})
    conference_date = db.Column('conference_date',
                                db.Date(),
                                info={'label': 'วันที่จัดประชุม'})
    presentation_date = db.Column('presentation_date',
                                  db.Date(),
                                  info={'label': 'วันที่นำเสนอผลงาน'})
    presentation_type = db.Column('presentation_type',
                                  db.String(),
                                  info={'label': 'ประเภทการนำเสนอ'})
    amount = db.Column('amount',
                       db.Numeric(),
                       default=0.0,
                       info={'label': 'จำนวนเงินที่ขอสนับสนุน'})
    researcher_id = db.Column('researcher_id', db.ForeignKey('users.id'))
    researcher = db.relationship(
        User, backref=db.backref('intl_conference_supports'))
    submitted_at = db.Column('submitted_at', db.DateTime(timezone=True))
    edited_at = db.Column('edited_at', db.DateTime(timezone=True))
    approved_at = db.Column('approved_at', db.DateTime(timezone=True))
Пример #6
0
class CissViewContasReceber(db.Model):
    """
        Representa a View CONTAS_RECEBER_SALDOS_VIEW
        do Ciss
    """
    __bind_key__ = 'ciss'
    __tablename__ = 'CONTAS_RECEBER_SALDOS_VIEW'

    idempresa = db.Column(db.Integer, primary_key=True)
    idtitulo = db.Column(db.Integer, primary_key=True)
    digitotitulo = db.Column(db.Integer, primary_key=True)
    origemmovimento = db.Column(db.String(5))
    dtmovimento = db.Column(db.Date())
    dtvencimento = db.Column(db.Date())
    valliquidotitulo = db.Column(db.Numeric(12, 3))
    valtitulo = db.Column(db.Numeric(12, 3))

    flagbaixada = db.Column(
        db.String(1), db.CheckConstraint("flagbaixada='T' or flagbaixada='F'"))
    idclifor = db.Column(db.Integer,
                         db.ForeignKey('CLIENTE_FORNECEDOR.idclifor'),
                         primary_key=True)
    idrecebimento = db.Column(db.Integer,
                              db.ForeignKey('FORMA_PAGREC.idrecebimento'))

    # relacionamento que possui o cliente da relação com CLIENTE_FORNECEDOR
    cliente = db.relationship('CissClienteFornecedor')
Пример #7
0
class Ibcontract(db.Model): # feed static data from daily statement reports
    assetCategory = db.Column(db.String(25), nullable=True)
    symbol = db.Column(db.String(50), nullable=True) # derviative / underlying
    description = db.Column(db.String(75), nullable=True) # for human only, don't use for mapping
    conid = db.Column(db.BigInteger, primary_key=True)
    isin = db.Column(db.String(25), nullable=True)
    listingExchange = db.Column(db.String(25), nullable=True)
    underlyingConid = db.Column(db.Numeric(15, asdecimal=False), nullable=True)
    underlyingSymbol = db.Column(db.String(50), nullable=True)
    underlyingSecurityID = db.Column(db.String(25), nullable=True)
    underlyingListingExchange = db.Column(db.String(25), nullable=True)
    multiplier = db.Column(db.Numeric(15, 6), nullable=True)
    strike = db.Column(db.Numeric(15, 6), nullable=True)
    expiry = db.Column(db.Date(), nullable=True) # derivative
    putCall = db.Column(db.String(10), nullable=True)
    maturity = db.Column(db.Date(), nullable=True) # for bonds
    issueDate = db.Column(db.Date(), nullable=True)
    underlyingCategory = db.Column(db.String(25), nullable=True) # in reports but not in exec
    subCategory = db.Column(db.String(25), nullable=True) # report only
    currency = db.Column(db.String(5), nullable=True) # not available in reports (SecuritiesInfo) but in exec

    ibexecutionrestfuls = db.relationship('Ibexecutionrestful', backref='ibasset', lazy='dynamic') # expose bridge 'ibasset' in Ibexecutionrestful

    bloom = db.relationship("Ibsymbology", uselist=False, back_populates="ibcontract")

    def __repr__(self):
        return f'<Ibcontract:: {self.conid} {self.assetCategory} {self.multiplier} {self.symbol}>'
Пример #8
0
class Event(Base):
    __tablename__ = 'events'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    start_date = db.Column(db.Date())
    end_date = db.Column(db.Date())
    attendees = db.Column(db.Integer())
Пример #9
0
class Game(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nama = db.Column(db.String(50), unique=True)
    deskripsi = db.Column(db.String(100))
    tanggal_pinjam = db.Column(db.Date())
    tanggal_kembali = db.Column(db.Date())
    is_rental = db.Column(db.Boolean, default=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=True)
Пример #10
0
class Password(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    pass_phrase = db.Column(db.String(50), index=True, unique=True)
    password = db.Column(db.String(50))
    create_date = db.Column(db.Date())
    expiry_date = db.Column(db.Date())

    def __repr__(self):
        return '<User %r>' % (self.pass_phrase)
Пример #11
0
class AidInstitution(db.Model):
    __tablename__ = 'aid_institution'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    url_site = db.Column(db.String)

    contact_id = db.Column(db.Integer, db.ForeignKey('contact.id'))
    contact = db.relationship('Contact', back_populates='aid_institution')

    file_id = db.Column(db.Integer, db.ForeignKey('file.id'))
    file = db.relationship('File', back_populates='aid_institution')

    created_at = db.Column(db.Date())
    updated_at = db.Column(db.Date())
    deleted_at = db.Column(db.Date())

    def __int__(self, name, url_site, contact_id, file_id, created_at):
        self.name = name
        self.url_site = url_site
        self.contact_id = contact_id
        self.file_id = file_id
        self.created_at = created_at

    def patch_model(self, content):
        self.name = content['name'] if content.get('name') else self.name
        self.url_site = content['urlSite'] if content.get(
            'urlSite') else self.url_site

        if content.get('contact'):
            models.models_create_aux.set_contact_id(content['contact'],
                                                    self.contact_id)

        if content.get('file'):
            models.models_create_aux.set_file_id(content['file'], self.file_id)

        self.updated_at = content['updatedAt'] if content.get(
            'updatedAt') else self.created_at
        self.deleted_at = content['deletedAt'] if content.get(
            'deletedAt') else self.deleted_at
        self.contact.deleted_at = self.deleted_at
        self.file.deleted_at = self.deleted_at

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

    def serialize(self):
        return {
            'id': self.id,
            'name': self.name,
            'urlSite': self.url_site,
            'contact': self.contact.serialize(),
            'file': self.file.serialize(),
            'createdAt': self.created_at,
            'updatedAt': self.updated_at,
            'deletedAt': self.deleted_at
        }
Пример #12
0
class AtividadeProfissional(db.Model):
    __tablename__ = 'atividades_profissionais'

    id = db.Column(db.Integer, primary_key=True)
    atuacao_profissional_id = db.Column(db.Integer, db.ForeignKey('atuacoes_profissionais.id'), nullable=False)
    descricao = db.Column(db.String(200), nullable=False)
    inicio = db.Column(db.Date(), nullable=False)
    termino = db.Column(db.Date())    
    
    def __repr__(self):
        return '<Atividades Profissionais %s>' % self.descricao
Пример #13
0
class AtuacaoProfissional(db.Model):
    __tablename__ = 'atuacoes_profissionais'

    id = db.Column(db.Integer, primary_key=True)
    usuario_id = db.Column(db.Integer, db.ForeignKey('usuarios.id'), nullable=False)
    instituicao_id = db.Column(db.Integer, db.ForeignKey('instituicoes.id'), nullable=False)
    inicio = db.Column(db.Date(), nullable=False)
    termino = db.Column(db.Date())
    
    def __repr__(self):
        return '<Atuação Profissional %s>' % self.instituicao_id
Пример #14
0
class Contribution(Base):
    __tablename__ = 'contribution'
    employee_number = db.Column(
        db.String(20),
        db.ForeignKey('auth_user.employee_number', ondelete='CASCADE'))
    trans_date = db.Column(db.Date())
    period = db.Column(db.Date())
    amount = db.Column(db.Numeric(15, 2))
    contributor = db.Column(db.String(1), nullable=False)
    # M = Member, E = Employer
    trans_type = db.Column(db.String(3), nullable=False)
Пример #15
0
class FormacaoAcademica(db.Model):
    __tablename__ = 'formacoes_academicas'
    
    id = db.Column(db.Integer, primary_key=True)
    usuario_id = db.Column(db.Integer, db.ForeignKey('usuarios.id'), nullable=False)
    curso_id = db.Column(db.Integer, db.ForeignKey('cursos.id'), nullable=False)
    trabalho_conclusao = db.Column(db.String(200), nullable=False)
    inicio = db.Column(db.Date(), nullable=False)
    termino = db.Column(db.Date())

    def __repr__(self):
        return '<Formação Acadêmica %s>' % self.trabalho_conclusao.nome
Пример #16
0
class User(db.Model):
    __tablename__ = "user"

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(128), unique=True, nullable=False)
    follower_date = db.Column(db.Date(), nullable=True)
    following_date = db.Column(db.Date(), default=True, nullable=True)

    def __init__(self, username, follower_date=sqlalchemy.sql.null(), following_date=sqlalchemy.sql.null()):
        self.username = username
        self.follower_date = follower_date
        self.following_date =following_date
Пример #17
0
class FormacaoComplementar(db.Model):
    __tablename__ = 'formacoes_complementares'

    id = db.Column(db.Integer, primary_key=True)
    usuario_id = db.Column(db.Integer, db.ForeignKey('usuarios.id'), nullable=False)
    instituicao_id = db.Column(db.Integer, db.ForeignKey('instituicoes.id'), nullable=False)
    descricao = db.Column(db.String(200), nullable=False)
    inicio = db.Column(db.Date(), nullable=False)
    termino = db.Column(db.Date())

    def __repr__(self):
        return '<Formação Complementar %s>' % self.descricao
Пример #18
0
class Balance_sheet(db.Model):

	id = db.Column(db.Integer, primary_key = True)
	emp_id = db.Column(db.Integer, db.ForeignKey('employees.id'), nullable = False)
	from_date = db.Column(db.Date(), nullable = False)
	to_date = db.Column(db.Date(), nullable = False)
	leave_type = db.Column(db.Enum('General','Medical'), nullable = False)
	purpose = db.Column(db.String(200), nullable = False)
	hr_remark = db.Column(db.String(128), nullable = True, default=None)
	hr_approval = db.Column(db.Enum('Approved','Unapproved'), nullable = True, default=None)
	manager_remark = db.Column(db.String(128), nullable = True, default=None)
	manager_approval = db.Column(db.Enum('Approved','Unapproved'), nullable = True, default=None)
	time_stamp = db.Column(db.Date(), nullable = False)
Пример #19
0
class Person(db.Model):
    __tablename__ = 'person'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())

    contact_id = db.Column(db.Integer, db.ForeignKey('contact.id'))
    contact = db.relationship("Contact", back_populates="person")

    file_id = db.Column(db.Integer, db.ForeignKey('file.id'))
    file = db.relationship("File", back_populates="person")

    welcoming = db.relationship("Welcoming", back_populates="person")

    created_at = db.Column(db.Date())
    updated_at = db.Column(db.Date())
    deleted_at = db.Column(db.Date())

    def __init__(self, name, contact_id, file_id, created_at):
        self.name = name
        self.contact_id = contact_id
        self.file_id = file_id
        self.created_at = created_at

    def patch_model(self, content):
        self.name = content['name'] if content.get('name') else self.name

        if content.get('contact'):
            models.models_create_aux.set_contact_id(content['contact'], self.contact_id)

        if content.get('file'):
            models.models_create_aux.set_file_id(content['file'], self.file_id)

        self.updated_at = content['updatedAt'] if content.get('updatedAt') else self.created_at
        self.deleted_at = content['deletedAt'] if content.get('deletedAt') else self.deleted_at
        # self.contact.deleted_at = self.deleted_at
        # self.file.deleted_at = self.deleted_at

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

    def serialize(self):
        return {
            'id': self.id,
            'name': self.name,
            'contact': self.contact.serialize(),
            'file': self.file.serialize(),
            'createdAt': self.created_at,
            'updatedAt': self.updated_at,
            'deletedAt': self.deleted_at
        }
Пример #20
0
class Site(db.Model):  # 현장db
    id = db.Column(db.Integer, primary_key=True)
    type = db.Column(db.String(30), nullable=False)  # 현장타입
    fullname = db.Column(db.String(30), unique=True, nullable=False)  # 현장명
    nickname = db.Column(db.String(10), unique=True, nullable=False)  # 현장 짧은이름
    service = db.Column(db.String(30), nullable=False)  # 용역명
    order = db.Column(db.String(10), nullable=True)  # 발주처
    supervisor = db.Column(db.String(10), nullable=True)  # 감리단
    constructor = db.Column(db.String(10), nullable=True)  # 시공사
    cost = db.Column(db.BigInteger, nullable=True)  # 계약금액
    endcost = db.Column(db.BigInteger, nullable=True)  # 기성금액
    startdate = db.Column(db.Date(), nullable=True)  # 시작일시
    enddate = db.Column(db.Date(), nullable=True)  # 종료일시
    memo = db.Column(db.Text(), nullable=True)  # 히스토리
Пример #21
0
class TestGroup(db.Model):
    '''测试组'''
    __tablename__ = 'testgroup'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    name = db.Column(db.String(252), unique=True)
    projectid = db.Column(db.Integer())
    status = db.Column(db.Integer(), default=0)  # 状态,0正常,1删除
    adduser = db.Column(db.Integer(), default=0)
    addtime = db.Column(db.Date())
    updateuser = db.Column(db.Integer(), default=adduser)
    updatetime = db.Column(db.Date(), default=datetime.datetime.now())

    def __repr__(self):
        return self.name
class Order(db.Model):

    id = db.Column(db.Integer(), primary_key=True)
    date = db.Column(db.Date(), nullable=False)
    status = db.Column(db.Enum('in_progress',
                               'pending',
                               'shipped',
                               name='order_statuses'),
                       nullable=False)
    customer_username = db.Column(db.String(),
                                  db.ForeignKey('customer.username'))

    def __init__(self, **kwargs):
        self.date = kwargs['date']
        self.status = kwargs['status']
        self.customer_username = kwargs['customer_username']

    def __repr__(self):
        return 'Order {} by Customer {}'.format(self.id,
                                                self.customer_username)

    def total_price(self):
        return sum([
            books_orders.quantity * books_orders.book.price
            for books_orders in self.books_orders
        ])

    def formatted_status(self):
        return humanize(self.status)
class Review(db.Model):

    ISBN = db.Column(db.String(13),
                     db.ForeignKey('book.ISBN'),
                     primary_key=True)
    username = db.Column(db.String(),
                         db.ForeignKey('customer.username'),
                         primary_key=True)
    score = db.Column(db.Integer(), nullable=False)
    description = db.Column(db.String(), nullable=True)
    date = db.Column(db.Date(), nullable=False)
    feedbacks = db.relationship('Feedback',
                                backref=db.backref('review', lazy='joined'),
                                lazy='dynamic')

    def __init__(self, **kwargs):
        self.ISBN = kwargs['ISBN']
        self.username = kwargs['username']
        self.score = kwargs['score']
        self.description = kwargs['description']
        self.date = kwargs['date']

    def __repr__(self):
        return 'Review on {} by {}'.format(self.ISBN, self.username)

    __tablename__ = 'review'
    __tableargs__ = (CheckConstraint('score<=10 AND score>=0',
                                     name='score_between_0_and_10'), )
Пример #24
0
class Recipes(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    title = db.Column(db.String(100))
    text = db.Column(db.Text())
    date = db.Column(db.Date(), default=datetime.now())

    images = db.Column(db.String(255), default='img/recipe__image.png')
Пример #25
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.Date(), unique=False, nullable=False)
    post_text = db.Column(db.String(1000), unique=False, nullable=False)

    def __repr__(self):
        return '<Post %r>' % self.post_text
Пример #26
0
class Sim(base_model.BaseModel):
    """
    Sim card model class
    """
    __tablename__ = "sims"

    serial_number = db.Column(db.String(50), primary_key=True)
    creation_date = db.Column(db.Date())
    carrier_id = db.Column(db.Integer, db.ForeignKey("carriers.id"))
    devices = db.relationship("Device",
                              secondary=devices_sims,
                              backref=db.backref("sims", lazy="dynamic"),
                              lazy="dynamic")
    events = db.relationship("Event", backref="sim", lazy="dynamic")

    def __init__(self,
                 serial_number=None,
                 creation_date=None,
                 carrier_id=None):
        self.serial_number = serial_number
        self.creation_date = creation_date
        self.carrier_id = carrier_id

    def __repr__(self):
        return "<Sim, serial_number: %r, creation_date: %r, carrier: %r, carrier_id: %r>" % \
               (self.serial_number, self.creation_date, self.carrier, self.carrier_id)

    @staticmethod
    def get_sim_or_add_it(args):
        """
        Search a sim and retrieve it if exist, else create a new one and retrieve it.
        If there is not serial_number argument, return None
        """
        from datetime import datetime
        if "serial_number" in args:
            sim = Sim.query.filter(
                Sim.serial_number == args["serial_number"]).first()

            if not sim:
                sim = Sim(serial_number=args["serial_number"],
                          creation_date=datetime.now())
                db.session.add(sim)
                try:
                    db.session.commit()
                except Exception as e:
                    db.session.rollback()
                    application.logger.error(
                        "Error adding new sim, serial_number:" +
                        str(sim.serial_number) + "-" + str(e))
            return sim
        else:
            return None

    def add_device(self, device):
        from app.models.device import Device

        existent_device = self.devices.filter(
            Device.device_id == device.device_id).first()
        if not existent_device:
            self.devices.append(device)
Пример #27
0
class Userlog(db.Model):
    id = db.Column(db.Integer, primary_key=True, index=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    timestamp = db.Column(db.Date(), default=datetime.now())
    type = db.Column(db.String(8), default='')
    message = db.Column(db.String(128), default='')

    added = db.Column(db.DateTime(), default=datetime.now())
    last_modified = db.Column(db.DateTime(), default=datetime.now())

    def __repr__(self):
        return f'Timestamp: {self.timestamp}, Message: {self.message}'

    def dump(self):
        data = {
            'id': self.id,
            'user_id': self.user_id,
            'timestamp': self.timestamp.timestamp(),
            'type': self.type,
            'message': self.message,
            'added': self.added.timestamp(),
            'last_modified': self.last_modified.timestamp()
        }
        return json.dumps(data)

    def load(self, data):
        data = json.loads(data)
        self.id = data['id']
        self.user_id = data['user_id']
        self.timestamp = datetime.fromtimestamp(data['timestamp'])
        self.type = data['type']
        self.message = data['message']
        self.added = datetime.fromtimestamp(data['added'])
        self.last_modified = datetime.now()
        return 0
Пример #28
0
class Ibexecutionrestful(db.Model):
    # exec
    execution_m_acctNumber = db.Column(db.String(25))
    execution_m_orderId = db.Column(db.BigInteger)
    execution_m_time = db.Column(db.DateTime)
    execution_m_permId = db.Column(db.BigInteger, nullable=True)
    execution_m_price = db.Column(db.Numeric(15, 6))
    execution_m_avgPrice = db.Column(db.Numeric(15, 6), nullable=True)
    execution_m_cumQty = db.Column(db.BigInteger, nullable=True)
    execution_m_side = db.Column(db.String(15))
    execution_m_clientId = db.Column(db.Integer, nullable=True)
    execution_m_shares = db.Column(db.BigInteger) # execQty
    execution_m_execId = db.Column(db.String(140), primary_key=True)
    execution_m_exchange = db.Column(db.String(25), nullable=True)

    # contract
    contract_m_tradingClass = db.Column(db.String(15), nullable=True)
    contract_m_symbol = db.Column(db.String(50)) # underlying
    contract_m_conId = db.Column(db.BigInteger, nullable=False)
    contract_m_secType = db.Column(db.String(25), nullable=True)
    contract_m_right = db.Column(db.String(25), nullable=True) # put / call
    contract_m_multiplier = db.Column(db.Numeric(15, 6), nullable=True)
    contract_m_expiry = db.Column(db.Date(), nullable=True) # derivative
    contract_m_localSymbol = db.Column(db.String(75), nullable=False) # symbol for derivative, m_symbol is the underlying part
    contract_m_exchange = db.Column(db.String(25), nullable=True)
    contract_m_strike = db.Column(db.Numeric(15, 6), nullable=True)

    ibcontract_conid = db.Column(db.BigInteger, db.ForeignKey('ibcontract.conid'))

    def __repr__(self):
        return f'<Ibexecutionrestful:: execId: {self.execution_m_execId} for asset: {self.ibcontract_conid}, execQty: {self.execution_m_shares} @ {self.execution_m_price}>'
Пример #29
0
class Profiles(TableMixin, db.Model):
    """Model Class"""
    __tablename__ = 'profiles'
    uid = db.Column(db.Integer, unique=True, index=True, nullable=False)
    career = db.Column(db.String(50), nullable=True)
    education = db.Column(db.String(255), nullable=True)
    location = db.Column(db.String(255), nullable=True)
    postcode = db.Column(db.String(32), nullable=True)
    mobilephone = db.Column(db.String(32), nullable=True)
    tel = db.Column(db.String(32), nullable=True)
    skills = db.Column(db.String(255), nullable=True)
    motto = db.Column(db.String(255), nullable=True)
    firstname = db.Column(db.String(32), nullable=True)
    lastname = db.Column(db.String(32), nullable=True)
    qq = db.Column(db.String(16), nullable=True)
    weixin = db.Column(db.String(32), nullable=True)
    weibo = db.Column(db.String(32), nullable=True)
    idnumber = db.Column(db.String(18), nullable=True)
    birthday = db.Column(db.Date(), nullable=True)
    email_notice = db.Column(db.Boolean(), nullable=True, default=False)
    sms_notice = db.Column(db.Boolean(), nullable=True, default=False)
    weixin_notice = db.Column(db.Boolean(), nullable=True, default=False)

    def __repr__(self):
        """Class Serialization"""
        return '<Profiles %r>' % self.uid
Пример #30
0
class DID(db.Model, BaseModel):
    __tablename__ = 'DID'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    value = db.Column(db.String(), nullable=False)
    monthyPrice = db.Column(db.Float(), nullable=False)
    setupPrice = db.Column(db.Float(), nullable=False)
    currency = db.Column(db.String(), nullable=False)
    saleDate = db.Column(db.Date(), default=None)
    active = db.Column(db.Boolean(), default=True)

    def __init__(self, value, monthyPrice, setupPrice, currency):
        self.value = value
        self.monthyPrice = decimal.Decimal(monthyPrice).quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_HALF_UP)
        self.setupPrice = decimal.Decimal(setupPrice).quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_HALF_UP)
        self.currency = currency

    def __repr__(self):
        return '<id {}>'.format(self.id)
    
    def serialize(self):
        return {
            'id': self.id, 
            'value': self.value,
            'monthyPrice': self.monthyPrice,
            'setupPrice': self.setupPrice,
            'currency': self.currency
        }