class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) packings = db.relationship('Packing', backref='author', lazy=True) def get_reset_token(self, expires_sec=1800): s = Serializer(app.config['SECRET_KEY'], expires_sec) return s.dumps({'user_id': self.id}).decode('utf_8') @staticmethod def verify_reset_token(token): s = Serializer(app.config['SECRET_KEY']) try: user_id = s.loads(token)['user_id'] except: return None return User.query.get(user_id) #testin fix this when ready def __repr__(self): return f"User('{self.username}','{self.email}', '{self.image_file}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) # backref allows us to get the user who created the post # lazy defines when sqlalchemy loads the datafrom the database. True means # it will load data as-needed in one go #This allows us to use post attribute to get all of a user's posts #Not a column # posts = db.relationship('Post', backref='author', lazy=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 #Tells python not to expect self parameter as argument 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) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}'"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) # One-to-many connection to Post, backref as the connecting data posts = db.relationship('Post', backref='author', lazy=True) # The method to get the password reset token that's valid for 30 minutes 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') # A static method for verifying the reset token @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) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(100), nullable=False, unique=True) username = db.Column(db.String(20), nullable=False, unique=True) image_file = db.Column(db.String(20), nullable=False, default='default.jpeg') password = db.Column(db.String(60), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class BoxInstance(db.Model): id = db.Column(db.Integer, primary_key=True) box_id = db.Column(db.Integer) name = db.Column(db.String(100), nullable=False) x = db.Column(db.Integer, nullable=False) y = db.Column(db.Integer, nullable=False) z = db.Column(db.Integer, nullable=False) weight = db.Column(db.Integer, nullable=False) packing_id = db.Column(db.Integer, db.ForeignKey('packing.id'), nullable=False) container_instance_id = db.Column(db.Integer) x_start = db.Column(db.Integer) x_end = db.Column(db.Integer) y_start = db.Column(db.Integer) y_end = db.Column(db.Integer) z_start = db.Column(db.Integer) z_end = db.Column(db.Integer) packed = db.Column(db.Integer) #inicializálás nullával r_x = db.Column(db.Boolean, default=False, nullable=False) r_y = db.Column(db.Boolean, default=False, nullable=False) r_z = db.Column(db.Boolean, default=False, nullable=False) def __repr__(self): return f"Box instance('name={self.container_instance_id}','name={self.container_instance_id}'," \ f"'id={self.id}', x='{self.x}', y='{self.y}')," \ f"z='{self.z}', weight='{self.weight}', box_id='{self.box_id}', x rotation='{self.r_x}', y rotation='{self.r_y}'," \ f" x rotation='{self.r_x}', packed='{self.packed}' packing id= '{self.packing_id}', box_id='{self.box_id}'," \ f" x_start='{self.x_start}', y_start='{self.y_start}'), z_start='{self.z_start}'," \ f" x_end='{self.x_end}'), y_end='{self.y_end}', z_end='{self.z_end}'),"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=False, nullable=False) first_name = db.Column(db.String(50), unique=False, nullable=False) last_name = db.Column(db.String(50), unique=False, nullable=False) postal_code = db.Column(db.Integer, unique=False, nullable=False) prefecture = db.Column(db.String(120), unique=False, nullable=False, default='Tokyo') my_number = db.Column(db.Integer, unique=False, nullable=False) email = db.Column(db.String(120), unique=False, nullable=False) image_file = db.Column(db.String(20), unique=False, nullable=False, default="default.jpg") password = db.Column(db.String(60), nullable=False) location_id = db.Column(db.Integer, db.ForeignKey('park.id'), unique=False, nullable=True, default=0) posts = db.relationship('Post', backref='author', lazy=True) reservations = db.relationship('Reservation', backref='creator', lazy=True) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class Park(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) prefecture = db.Column(db.String(100), nullable=False) area = db.Column(db.Float, nullable=False) lat = db.Column(db.Float, nullable=False) lon = db.Column(db.Float, nullable=False) capacity = db.Column(db.Integer, nullable=False, default=0) count = db.Column(db.Integer, nullable=False, default=0) image_file = db.Column(db.String(100), unique=False, nullable=False, default="default.jpg") fake_distance = db.Column(db.Integer, nullable=False, default=69) people = db.relationship('User', backref='location', lazy=True) reservations = db.relationship('Reservation', backref='place', lazy=True) def __repr__(self): return f"Post('{self.name}', '{self.prefecture}', '{self.area}', {self.lat}', '{self.lon}', '{self.capacity}', '{self.present}')"
class Packing(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) containers = db.relationship('Container', backref='packing', lazy=True) boxes = db.relationship('Box', backref='packing', lazy=True) def __repr__(self): return f"Packing('{self.name}', '{self.date_created}', id: '{self.id}')"
class Container(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) x = db.Column(db.Integer, nullable=False) y = db.Column(db.Integer, nullable=False) z = db.Column(db.Integer, nullable=False) max_weight = db.Column(db.Integer, nullable=False) packing_id = db.Column(db.Integer, db.ForeignKey('packing.id'), nullable=False) def __repr__(self): return f"Container('{self.name}', x='{self.x}', y='{self.y}')," \ f"z='{self.z}', max weight='{self.max_weight}', packing_id='{self.packing_id}', id='{self.id}'"
class Box(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) x = db.Column(db.Integer, nullable=False) y = db.Column(db.Integer, nullable=False) z = db.Column(db.Integer, nullable=False) r_x = db.Column(db.Boolean, default=False, nullable=False) r_y = db.Column(db.Boolean, default=False, nullable=False) r_z = db.Column(db.Boolean, default=False, nullable=False) weight = db.Column(db.Integer, nullable=False) quantity = db.Column(db.Integer, nullable=False) packing_id = db.Column(db.Integer, db.ForeignKey('packing.id'), nullable=False) def __repr__(self): return f"Box('{self.name}', x='{self.x}', y='{self.y}')," \ f"z='{self.z}', x rotation='{self.r_x}', y rotation='{self.r_y}'," \ f" z rotation='{self.r_z}'," \ f" weight='{self.weight}', packing_id='{self.packing_id}', id='{self.id}', quantity='{self.quantity}')" #, user_id='{self.user_id}')"
class Store(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20), nullable=False) def __repr__(self): return f"User('{self.name}')"