class BitcoinAddresses(db.Model): address_id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False) account_id = db.Column(db.Integer, db.ForeignKey("account_info.account_id")) address_hash = db.Column(db.String(256), nullable=False) last_check = db.Column(db.DateTime) last_balance = db.Column(db.Float) previous_check = db.Column(db.DateTime) previous_balance = db.Column(db.Float) auto_check = db.Column(db.Boolean) check_method = db.Column(db.String(255)) imported_from_hdaddress = db.Column(db.String(255)) notes = db.Column(db.Text)
class Trades(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.String(150), db.ForeignKey("user.id"), nullable=False) trade_inputon = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) trade_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) trade_currency = db.Column(db.String(3), nullable=False, default="USD") trade_asset_ticker = db.Column(db.String(20), nullable=False) trade_account = db.Column(db.String(20), nullable=False) trade_quantity = db.Column(db.Float) trade_operation = db.Column(db.String(2), nullable=False) trade_price = db.Column(db.Float) trade_fees = db.Column(db.Float, default=0) trade_notes = db.Column(db.Text) trade_reference_id = db.Column(db.String(50)) trade_blockchain_id = db.Column(db.String(150)) cash_value = db.Column(db.Float, nullable=False) def __repr__(self): return f"Trades('{self.trade_date}', '{self.trade_asset_ticker}', \
class AccountInfo(db.Model): account_id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False) account_longname = db.Column(db.String(255)) account_type = db.Column(db.String(255)) check_method = db.Column(db.String(255)) account_blockchain_id = db.Column(db.String(256)) last_check = db.Column(db.DateTime) last_balance = db.Column(db.Float) previous_check = db.Column(db.DateTime) previous_balance = db.Column(db.Float) auto_check = db.Column(db.Boolean) notes = db.Column(db.Text) child_addresses = db.relationship("BitcoinAddresses", backref="parent_account") xpub_derivation = db.Column(db.String(255)) xpub_created = db.Column(db.String(255))
class Contact(db.Model): contact_id = db.Column(db.Integer, primary_key=True) message_date = db.Column(db.DateTime, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey("user.id")) email = db.Column(db.String(255)) message = db.Column(db.Text)