You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
wowstash/wowstash/models.py

54 lines
1.3 KiB

from sqlalchemy import Column, Integer, DateTime, String, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql import func
from wowstash.factory import db
Base = declarative_base()
class User(db.Model):
__tablename__ = 'users'
id = db.Column('user_id', db.Integer, primary_key=True)
password = db.Column(db.String(120))
email = db.Column(db.String(50), unique=True, index=True)
subaddress_index = db.Column(db.Integer)
registered_on = db.Column(db.DateTime, server_default=func.now())
funds_locked = db.Column(db.Boolean, default=False)
@property
def is_authenticated(self):
return True
@property
def is_active(self):
return True
@property
def is_anonymous(self):
return False
@property
def is_admin(self):
return self.admin
def get_id(self):
return self.id
def __repr__(self):
return self.username
class Transaction(db.Model):
__tablename__ = 'transactions'
id = db.Column('tx_id', db.Integer, primary_key=True)
from_user = db.Column(db.Integer, ForeignKey(User.id))
sent = db.Column(db.Boolean, default=False)
address = db.Column(db.String(120))
amount = db.Column(db.String(120))
date = db.Column(db.DateTime, server_default=func.now())
def __repr__(self):
return self.id