class Customer(db.Model): __tablename__ = 'customers' id = db.Column(db.Integer, primary_key=True) customer = db.Column(db.String(50)) date_created = db.Column(db.Date, default=datetime.utcnow) allocations = db.relationship('Allocation', backref='customer', lazy=True, passive_deletes=True) eggsales = db.relationship('Eggsale', backref='customer', lazy=True, passive_deletes=True) def __repr__(self): return f"Pen('{self.customer}', '{self.date_created}')"
class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(80), unique=True, nullable=False) username = db.Column(db.String(80), unique=True) password = db.Column(db.String(80)) firstname = db.Column(db.String(80)) lastname = db.Column(db.String(80)) picture = db.Column(db.String(80), nullable=False, default='avatar.png') role = db.Column(db.String(80), nullable=False) activitylogs = db.relationship('Activitylog', backref='user', lazy=True, passive_deletes=True) def get_reset_token(self, expires_sec=1800): s = Serializer(current_app.config['SECRET_KEY'], expires_sec) return s.dumps({'user_id': self.id}).decode('utf-8') @staticmethod def verify_reset_token(token): s = Serializer(current_app.config['SECRET_KEY']) try: user_id = s.loads(token)['user_id'] except: return None return User.query.get(user_id)
class Farmitem(db.Model): __tablename__ = 'farmitems' id = db.Column(db.Integer, primary_key=True) item = db.Column(db.String(100)) date_created = db.Column(db.Date, default=datetime.utcnow) purchases = db.relationship('Purchase', backref='farmitem', lazy=True, passive_deletes=True) receivables = db.relationship('Receivable', backref='farmitem', lazy=True, passive_deletes=True) def __repr__(self): return f"Farmitem('{self.item}', '{self.date_created}')"
class Pen(db.Model): __tablename__ = 'pens' id = db.Column(db.Integer, primary_key=True) pen = db.Column(db.String(50)) date_created = db.Column(db.Date, default=datetime.utcnow) eggstocks = db.relationship('Eggstock', backref='pen', lazy=True, passive_deletes=True) allocations = db.relationship('Allocation', backref='pen', lazy=True, passive_deletes=True) birdstocks = db.relationship('Birdstock', backref='pen', lazy=True, passive_deletes=True) def __repr__(self): return f"Pen('{self.pen}', '{self.date_created}')"
class Feedtype(db.Model): __tablename__ = 'feedtypes' id = db.Column(db.Integer, primary_key=True) type = db.Column(db.String(150)) date_created = db.Column(db.Date, default=datetime.utcnow) formulations = db.relationship('Formulation', backref='feedtype', lazy=True, passive_deletes=True) feedcosts = db.relationship('Feedcost', backref='feedtype', lazy=True, passive_deletes=True) productions = db.relationship('Production', backref='feedtype', lazy=True, passive_deletes=True) def __repr__(self): return f"Feedtype('{self.type}')"
class Vendor(db.Model): __tablename__ = 'vendors' id = db.Column(db.Integer, primary_key=True) vendor = db.Column(db.String(100)) date_created = db.Column(db.Date, default=datetime.utcnow) purchases = db.relationship('Purchase', backref='vendor', lazy=True, passive_deletes=True) def __repr__(self): return f"Vendor('{self.vendor}', '{self.date_created}')"
class Feeditem(db.Model): __tablename__ = 'feeditems' id = db.Column(db.Integer, primary_key=True) item = db.Column(db.String(50)) qty = db.Column(db.Float, default=0) price = db.Column(db.Float, default=0) date_created = db.Column(db.Date, default=datetime.utcnow) feedstocks = db.relationship('Feedstock', backref='feeditem', lazy=True, passive_deletes=True) formulations = db.relationship('Formulation', backref='feeditem', lazy=True, passive_deletes=True) purchases = db.relationship('Purchase', backref='feeditem', lazy=True, passive_deletes=True) def __repr__(self): return f"Feeditem('{self.item}', '{self.qty}', '{self.price}')"