class TRate(db.Model): __tablename__ = u't_rate' rate_id = db.Column( db.Integer, primary_key=True, server_default=text("nextval('t_rate_rate_id_seq'::regclass)")) commission = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) tax = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) automatic_flag = db.Column(db.Integer, nullable=False, server_default=text("(-1)")) date_created = db.Column( db.DateTime, nullable=False, server_default=text( "'1900-01-01 00:00:00'::timestamp without time zone")) date_modified = db.Column( db.DateTime, nullable=False, server_default=text( "'1900-01-01 00:00:00'::timestamp without time zone"))
class TTradePool(db.Model): __tablename__ = u't_trade_pool' trade_pool_id = db.Column(db.Integer, primary_key=True, server_default=text("nextval('t_trade_pool_trade_pool_id_seq'::regclass)")) pool_at_start = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) pool_override = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) date_created = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) date_modified = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone"))
class TPool(db.Model): __tablename__ = u't_pool' pool_id = db.Column(u'pool_id', db.Integer, primary_key=True, nullable=False, server_default=text("nextval('t_pool_pool_id_seq'::regclass)")) account_id = db.Column(u'account_id', ForeignKey(u't_account.account_id'), nullable=False) total = db.Column(u'total', db.Numeric(18, 6), nullable=False, server_default=text("0.0")) invested = db.Column(u'invested', db.Numeric(18, 6), nullable=False, server_default=text("0.0")) cash = db.Column(u'cash', db.Numeric(18, 6), nullable=False, server_default=text("0.0")) is_active = db.Column(u'is_active', db.Integer, nullable=False, server_default=text("1")) date_created = db.Column(u'date_created', db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) date_modified = db.Column(u'date_modified', db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone"))
class Addproduct(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) price = db.Column(db.Numeric(10, 2), nullable=False) discount = db.Column(db.Integer, default=0) colors = db.Column(db.Text(20), nullable=False, default='none') desc = db.Column(db.Text(200), nullable=False) model = db.Column(db.String(80), nullable=False) watt = db.Column(db.Integer, nullable=False, default=0) cutout = db.Column(db.String(80), nullable=False, default="XX*XX") outer = db.Column(db.String(80), nullable=False, default="00*00") height = db.Column(db.String(80), nullable=False, default=1) stock = db.Column(db.Integer, nullable=False, default="Yes") pub_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) category_id = db.Column(db.Integer, db.ForeignKey('category.id'), nullable=False) category = db.relationship('Category', backref=db.backref('categories', lazy=True)) image_1 = db.Column(db.String(150), nullable=False, default='image.jpg') image_2 = db.Column(db.String(150), nullable=False, default='image.jpg') image_3 = db.Column(db.String(150), nullable=False, default='image.jpg') def __repr__(self): return '<Addproduct %r>' % self.name
class Transaction(db.Model): """ Class for Transactions table """ __tablename__ = 'transactions' id = db.Column(db.Integer, primary_key=True) amount = db.Column(db.Numeric(), nullable=False) paid_on = db.Column(db.DateTime) payment_status = db.Column(db.Enum(PaymentStatus)) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) expense_id = db.Column(db.Integer, db.ForeignKey('expenses.id'), nullable=False) updated_at = db.Column(db.DateTime) user = db.relationship('User', back_populates='transaction') expense = db.relationship('Expense', back_populates='transaction') def __init__(self, expense_id, user_id, amount): self.amount = Decimal(amount) self.user_id = user_id self.expense_id = expense_id self.payment_status = PaymentStatus.PENDING self.update_at = datetime.datetime.now() def __repr__(self): return f'<Transaction {self.id}>'
class OrderHistory(db.Model): id = db.Column(db.Integer, primary_key=True) invoice = db.Column(db.String(20), unique=False, nullable=False) status = db.Column(db.String(20), default='Pending', nullable=False) customer_id = db.Column(db.Integer, unique=False, nullable=False) customer_name = db.Column(db.String(50), unique=False) country = db.Column(db.String(50), unique=False) city = db.Column(db.String(50), unique=False) contact = db.Column(db.String(50), unique=False) zipcode = db.Column(db.String(50), unique=False) product_id = db.Column(db.Integer, unique=False, nullable=False) product_name = db.Column(db.String(80), nullable=False) product_price = db.Column(db.Numeric(10, 2), nullable=False) product_quantity = db.Column(db.Integer, nullable=False) product_detail = db.Column(db.String(80), default='None', nullable=False) product_brand = db.Column(db.String(50), default='None', unique=False) product_category = db.Column(db.String(50), default='None', unique=False) payment_method = db.Column(db.String(50), default='Stripe', unique=False) product_delivered = db.Column(db.String(20), default='False', unique=False) delivered_time = db.Column(db.DateTime, default=datetime.utcnow, nullable=False) order_date = db.Column(db.DateTime, default=datetime.utcnow, nullable=False) product_image = db.Column(db.String(150), nullable=False, default='product_image.jpg') product_cancel = db.Column(db.Boolean, nullable=False, default=False) def __repr__(self): return '<CustomerOrder %r>' % self.invoice
class Expense(db.Model): """ Class for Expenses Table """ __tablename__ = 'expenses' id = db.Column(db.Integer, primary_key=True) total = db.Column(db.Numeric(), nullable=False) description = db.Column(db.String(255), nullable=False) created_at = db.Column(db.DateTime, nullable=False) is_fully_settled = db.Column(db.Boolean, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) updated_at = db.Column(db.DateTime) user = db.relationship('User', back_populates='expense') transaction = db.relationship('Transaction', back_populates='expense') comment = db.relationship('Comment', back_populates='expense') def __init__(self, user_id, total, description): self.description = description self.total = Decimal(total) self.is_fully_settled = False self.created_at = datetime.datetime.now() self.user_id = user_id self.updated_at = datetime.datetime.now() def __repr__(self): return f'<Expense {self.id}>'
class TTrade(db.Model): __tablename__ = u't_trade' trade_id = db.Column(db.Integer, primary_key=True, server_default=text("nextval('t_trade_trade_id_seq'::regclass)")) trade_calculated_id = db.Column(ForeignKey(u't_trade_calculated.trade_calculated_id'), nullable=False, server_default=text("(-1)")) market_id = db.Column(db.Integer, nullable=False) commodity_id = db.Column(ForeignKey(u't_commodity.commodity_id'), nullable=False) date_buy = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) year_buy = db.Column(db.Integer, nullable=False, server_default=text("1900")) month_buy = db.Column(db.Integer, nullable=False, server_default=text("1")) day_buy = db.Column(db.Integer, nullable=False, server_default=text("1")) date_sell = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) year_sell = db.Column(db.Integer, nullable=False, server_default=text("1900")) month_sell = db.Column(db.Integer, nullable=False, server_default=text("1")) day_sell = db.Column(db.Integer, nullable=False, server_default=text("1")) is_long = db.Column(db.Integer, nullable=False, server_default=text("(-1)")) price_buy_orig = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) price_sell_orig = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) shares_buy = db.Column(db.Integer, nullable=False, server_default=text("0")) shares_sell = db.Column(db.Integer, nullable=False, server_default=text("0")) comment = db.Column(String(256), nullable=False, server_default=text("''::character varying")) currency_exchange_id_buy = db.Column(ForeignKey(u't_currency_exchange.currency_exchange_id'), nullable=False, server_default=text("(-1)")) currency_exchange_id_sell = db.Column(ForeignKey(u't_currency_exchange.currency_exchange_id'), nullable=False, server_default=text("(-1)")) rate_id_buy = db.Column(ForeignKey(u't_rate.rate_id'), nullable=False, server_default=text("(-1)")) rate_id_sell = db.Column(ForeignKey(u't_rate.rate_id'), nullable=False, server_default=text("(-1)")) risk_input_percent = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) is_winner = db.Column(db.Integer, nullable=False, server_default=text("(-1)")) drawdown_id = db.Column(ForeignKey(u't_drawdown.drawdown_id'), nullable=False, server_default=text("(-1)")) trade_pool_id = db.Column(ForeignKey(u't_trade_pool.trade_pool_id'), nullable=False, server_default=text("(-1)")) date_expiration = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) is_expired = db.Column(db.Integer, nullable=False, server_default=text("(-1)")) is_active = db.Column(db.Integer, nullable=False, server_default=text("1")) reconciled = db.Column(db.Integer, nullable=False, server_default=text("(-1)")) date_created = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) date_modified = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) commodity = relationship(u'TCommodity') t_currency_exchange = relationship(u'TCurrencyExchange', primaryjoin='TTrade.currency_exchange_id_buy == TCurrencyExchange.currency_exchange_id') t_currency_exchange1 = relationship(u'TCurrencyExchange', primaryjoin='TTrade.currency_exchange_id_sell == TCurrencyExchange.currency_exchange_id') drawdown = relationship(u'TDrawdown') t_rate_buy = relationship(u'TRate', primaryjoin='TTrade.rate_id_buy == TRate.rate_id') t_rate_sell = relationship(u'TRate', primaryjoin='TTrade.rate_id_sell == TRate.rate_id') trade_calculated = relationship(u'TTradeCalculated') trade_pool = relationship(u'TTradePool')
class TCurrencyExchange(db.Model): __tablename__ = u't_currency_exchange' currency_exchange_id = db.Column(db.Integer, primary_key=True, server_default=text("nextval('t_currency_exchange_currency_exchange_id_seq'::regclass)")) currency_from_id = db.Column(ForeignKey(u't_currency.currency_id'), nullable=False, server_default=text("(-1)")) currency_to_id = db.Column(ForeignKey(u't_currency.currency_id'), nullable=False, server_default=text("(-1)")) exchange_rate = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) date_created = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) date_modified = db.Column(db.DateTime, nullable=False, server_default=text("'1900-01-01 00:00:00'::timestamp without time zone")) currency_from = relationship(u'TCurrency', primaryjoin='TCurrencyExchange.currency_from_id == TCurrency.currency_id') currency_to = relationship(u'TCurrency', primaryjoin='TCurrencyExchange.currency_to_id == TCurrency.currency_id')
class Measurement(db.Model): __tablename__ = 'measurements' id = db.Column(db.Integer, primary_key=True) datetime = db.Column(db.DateTime, index=True, default=datetime.utcnow()) height = db.Column(db.Numeric(scale=2)) weight = db.Column(db.Numeric(scale=2)) imc = db.Column(db.Numeric(scale=2)) fat_percentage = db.Column(db.Numeric(scale=2)) muscle_mass = db.Column(db.Numeric(scale=2)) water_percentage = db.Column(db.Numeric(scale=2)) patient_id = db.Column(db.Integer, db.ForeignKey('patients.id'), nullable=False) @staticmethod def add(measurement): db.session.add(measurement) db.session.commit() @staticmethod def all(): return Measurement.query.all() @staticmethod def get(measurement_id): return Measurement.query.get(measurement_id) @staticmethod def delete(measurement): db.session.delete(measurement) db.session.commit() @staticmethod def from_dict(data): return Measurement(height=data['height'], weight=data['weight'], imc=data['imc'], fat_percentage=data['fat_percentage'], muscle_mass=data['muscle_mass'], water_percentage=data['water_percentage'], patient_id=data['patient_id']) def to_dict(self): return dict(id=self.id, datetime=self.datetime, height=str(self.height), weight=str(self.weight), imc=str(self.imc), fat_percentage=str(self.fat_percentage), muscle_mass=str(self.muscle_mass), water_percentage=str(self.water_percentage))
class TCfdGeneral(db.Model): __tablename__ = u't_cfd_general' cfd_general_id = db.Column( db.Integer, primary_key=True, server_default=text( "nextval('t_cfd_general_cfd_general_id_seq'::regclass)")) name = db.Column(String(50), nullable=False) market_id = db.Column(ForeignKey(u't_market.market_id'), nullable=False, server_default=text("(-1)")) currency_id = db.Column(ForeignKey(u't_currency.currency_id'), nullable=False, server_default=text("1")) tick = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("1.0")) tick_value = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("1.0")) order_min = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("(-1.0)")) order_max = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("(-1.0)")) margin_day_proc = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("(-1.0)")) margin_night_proc = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("(-1.0)")) date_created = db.Column( db.DateTime, nullable=False, server_default=text( "'1900-01-01 00:00:00'::timestamp without time zone")) date_modified = db.Column( db.DateTime, nullable=False, server_default=text( "'1900-01-01 00:00:00'::timestamp without time zone")) currency = relationship(u'TCurrency') market = relationship(u'TMarket')
class TTradeCalculated(db.Model): __tablename__ = u't_trade_calculated' trade_calculated_id = db.Column( db.Integer, primary_key=True, server_default=text( "nextval('t_trade_calculated_trade_calculated_id_seq'::regclass)")) price_buy = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) price_sell = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) amount_buy = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) amount_sell = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) amount_buy_simple = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) amount_sell_simple = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) risk_input = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) risk_initial = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) risk_initial_percent = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) risk_actual = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) risk_actual_percent = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) cost_total = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) cost_other = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) stoploss = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) stoploss_orig = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) profit_loss = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) profit_loss_orig = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) profit_loss_total = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) profit_loss_total_percent = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0")) r_multiple = db.Column(db.Numeric(18, 6), nullable=False, server_default=text("0.0"))
class Submission(db.Model): __tablename__ = 'submission' id = db.Column(db.Integer, primary_key=True) salary = db.Column(db.Numeric(10, 2)) years_experience = db.Column(db.Integer) years_with_current_employer = db.Column(db.Integer) number_of_employers = db.Column(db.Integer) """ For confirmation and verification """ email = db.Column('email', db.String(255)) confirmation_code = db.Column('confirmation_code', db.String(255)) confirmed = db.Column('confirmed', db.Boolean) verified = db.Column('verified', db.Boolean) created_at = db.Column(db.DateTime, default=datetime.utcnow) updated_at = db.Column(db.DateTime, onupdate=datetime.utcnow) def associate_perk(self, perk): assoc_model = SubmissionToPerk.query.filter( SubmissionToPerk.submission_id == self.id).filter( SubmissionToPerk.perk_id == perk.id).first() if not assoc_model: self.perks.append(perk) return self def associate_role(self, role): assoc_model = SubmissionToRole.query.filter( SubmissionToRole.submission_id == self.id).filter( SubmissionToRole.role_id == role.id).first() if not assoc_model: self.roles.append(role) return self def associate_tech(self, tech): assoc_model = SubmissionToTech.query.filter( SubmissionToTech.submission_id == self.id).filter( SubmissionToTech.tech_id == tech.id).first() if not assoc_model: self.techs.append(tech) return self """ Relations """ submission_to_perks = relationship("SubmissionToPerk", cascade="all, delete-orphan") submission_to_employment_type = relationship("SubmissionToEmploymentType", uselist=False, cascade="all, delete-orphan") submission_to_location = relationship("SubmissionToLocation", uselist=False, cascade="all, delete-orphan") submission_to_roles = relationship("SubmissionToRole", cascade="all, delete-orphan") submission_to_education = relationship("SubmissionToEducation", uselist=False, cascade="all, delete-orphan") submission_to_techs = relationship("SubmissionToTech", cascade="all, delete-orphan") perks = association_proxy('submission_to_perks', 'perk') employment_type = association_proxy('submission_to_employment_type', 'employment_type') location = association_proxy('submission_to_location', 'location') roles = association_proxy('submission_to_roles', 'role') education = association_proxy('submission_to_education', 'education') techs = association_proxy('submission_to_techs', 'tech') verification_request = relationship("VerificationRequest", uselist=False, cascade="all, delete-orphan") def __str__(self): return '{id}, ${salary}, {email}, {confirmed}, {date}'.format( id=self.id, salary=self.salary, email=self.email, confirmed=self.confirmed, date=self.created_at.strftime('%Y-%m-%d'))