from datetime import datetime # Import db from accounts.models import db class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String, nullable=False) username = db.Column(db.String, unique=True, nullable=False) email = db.Column(db.String, nullable=False) address = db.Column(db.String, nullable=False) password = db.Column(db.String, nullable=False) dogs = db.relationship('Dog', back_populates='owner') visits = db.relationship('Visit', back_populates='owner') created_at = db.Column(db.DateTime, default=datetime.utcnow) updated_at = db.Column(db.DateTime, onupdate=datetime.utcnow) def __repr__(self): return f'{self.username}' # Retrieve all booked visits def get_bookings(self): return [visit for visit in self.visits] # Retrieve past booked visits def get_bookings_history(self): from datetime import datetime current_time = datetime.now() return [visit for visit in self.visits if visit.date_time < current_time] def to_dict(self): return { 'username': self.username, 'email': self.email, 'password': self.password, }