class Miner(db.Model): id = db.Column(db.Integer, primary_key=True) ip = db.Column(db.String(15), unique=True, nullable=False) model_id = db.Column(db.String(15), nullable=False) remarks = db.Column(db.String(255), nullable=True) def __repr__(self): return "Miner(ip='{}', model_id='{}', remarks='{}')" \ .format(self.ip, self.model_id, self.remarks)
class Settings(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), unique=True, nullable=False) value = db.Column(db.String(100), nullable=False) description = db.Column(db.String(255)) def __repr__(self): return "Settings(name='{}', value={}, description='{}')" \ .format(self.name, self.value, self.description)
class MinerModel(db.Model): id = db.Column(db.Integer, primary_key=True) model = db.Column(db.String(15), unique=True, nullable=False) chips = db.Column(db.String(24), nullable=False) temp_keys = db.Column(db.String(5), nullable=False) description = db.Column(db.String(255), nullable=True) def __repr__(self): return "MinerModel(model='{}', chips={}, description='{}')" \ .format(self.model, self.chips, self.description)
class Miner(db.Model): id = db.Column(db.Integer, primary_key=True) ip = db.Column(db.String(15), unique=True, nullable=False) model_id = db.Column(db.Integer, db.ForeignKey('miner_model.id'), nullable=False) model = db.relationship("MinerModel", backref="miners") remarks = db.Column(db.String(255), nullable=True) def __repr__(self): return "Miner(ip='{}', model='{}', remarks='{}')" \ .format(self.ip, self.model, self.remarks)
class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.VARCHAR(64), index=True, unique=True) email = db.Column(db.VARCHAR(120), index=True, unique=True) password_hash = db.Column(db.VARCHAR(128)) surname = db.Column(db.VARCHAR(100)) firstname = db.Column(db.VARCHAR(100)) active = db.Column(db.Integer, default=1) @property def serialize(self): return { 'id': self.id, 'username': self.username, 'firstname': self.firstname, 'surname': self.surname, 'email': self.email } def __repr__(self): return '<User {}>'.format(self.username) 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)