class Sales(db.Model): id = db.Column(db.Integer, primary_key=True) product_id = db.Column(db.Integer, db.ForeignKey('product.id'), nullable=False) store_id = db.Column(db.Integer, db.ForeignKey('store.id'), nullable=False) purchase_date = db.Column(db.DateTime, nullable=False) sale_sum = db.Column(db.Integer, nullable=False)
class Caixa(db.Model): id = db.Column(db.Integer, primary_key=True) Patrimonio = db.Column(db.String(200), nullable=False) Estante_id = db.Column(db.Integer, db.ForeignKey('estante.id'), nullable=True) animais = db.relationship('Animal', backref='owner', lazy=True) Projeto_id = db.Column(db.Integer, db.ForeignKey('projeto.id'), nullable=True) def __repr__(self): return '<Caixa %r>' % self.id
class Reservation(db.Model): id = db.Column(db.Integer, primary_key=True) date_created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) start_time = db.Column(db.String, nullable=False, default="10:00") end_time = db.Column(db.String, nullable=False, default="14:00") park_id = db.Column(db.Integer, db.ForeignKey('park.id'), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) active = db.Column(db.Boolean, nullable=False, default=False) def __repr__(self): return f"Reservation('{self.date_created}', '{self.park_id}' ,'{self.user_id}')"
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 Estante(db.Model): id = db.Column(db.Integer, primary_key=True) Patrimonio = db.Column(db.String(200), nullable=False) Sala_id = db.Column(db.Integer, db.ForeignKey('sala.id'), nullable=True) caixas = db.relationship('Caixa', backref='owner', lazy=True) def __repr__(self): return '<Estante %r>' % self.id
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}', '{self.user_id}')"
class Selection(db.Model): id = db.Column(db.Integer, primary_key=True) event_id = db.Column(db.Integer, db.ForeignKey('event.id'), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) top10_selection_1 = db.Column(db.String(20), nullable=False) top10_selection_2 = db.Column(db.String(20), nullable=False) top10_selection_3 = db.Column(db.String(20), nullable=False) top10_selection_4 = db.Column(db.String(20), nullable=False) top10_selection_5 = db.Column(db.String(20), nullable=False) top10_selection_6 = db.Column(db.String(20), nullable=False) top10_selection_7 = db.Column(db.String(20), nullable=False) top10_selection_8 = db.Column(db.String(20), nullable=False) top10_selection_9 = db.Column(db.String(20), nullable=False) top10_selection_10 = db.Column(db.String(20), nullable=False) stage_two_selection = db.Column(db.String(20), nullable=False) power_stage_selection = db.Column(db.String(20), nullable=False) def __repr__(self): return f"Post('{self.id}', '{self.event_id})"
class Animal(db.Model): id = db.Column(db.Integer, primary_key=True) especie = db.Column(db.String(200), nullable=False) linhagem = db.Column(db.String(200), nullable=False) sexo = db.Column(db.String(200), nullable=False) nascimento = db.Column(db.Integer) date_created = db.Column(db.DateTime, default=datetime.utcnow) Caixa_id = db.Column(db.Integer, db.ForeignKey('caixa.id'), nullable=True) def __repr__(self): return '<Animal %r>' % self.id
class API_Key(db.Model): #__tablename__ = "API_Key" id = db.Column(db.Integer, primary_key=True) key = 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) def __repr__(self): return f"API_KEY('{self.key}','{self.user_id}','{self.date_created}')"
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 EmotionPrediction(db.Model): #__tablename__ = "EmotionPrediction" id = db.Column(db.Integer, primary_key=True) image_file = db.Column(db.String(20), nullable=False) emotion_class = db.Column(db.String(100), nullable=False) date_uploaded = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False, default='Anonymous User') def __repr__(self): return f"EmotionPrediction('{self.image_file}','{self.user_id}','{self.date_uploaded}')"
class Post(db.Model): #__tablename__ = "Post" id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __lt__(self, other): return self.date_posted < other.date_posted def __repr__(self): t = self.date_posted return f"Post('{self.title}', '{t.strftime('%Y-%m-%d %H:%M:%S')} UTC', {self.content})"
class ContainerInstance(db.Model): packing_id = db.Column(db.Integer) container_id = db.Column(db.Integer, db.ForeignKey('container.id'), nullable=False) instance_id = db.Column(db.Integer, primary_key=True) x = db.Column(db.Integer, nullable=False) y = db.Column(db.Integer, nullable=False) z = db.Column(db.Integer, nullable=False) weight_remaining = db.Column(db.Integer, nullable=False) space_remaining = db.Column(db.Integer, nullable=False) max_weight = db.Column(db.Integer, nullable=False) #returnbe is def __repr__(self): return f"Container instance('container={self.container_id}', x='{self.x}', y='{self.y}')," \ f"z='{self.z}', weight remaining='{self.weight_remaining}', instance_id='{self.instance_id}'," \ f" space_remaining='{self.space_remaining}' packing id= '{self.packing_id}', max_weight='{self.max_weight}'"
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}')"
id = db.Column(db.Integer, primary_key=True) especie = db.Column(db.String(200), nullable=False) linhagem = db.Column(db.String(200), nullable=False) sexo = db.Column(db.String(200), nullable=False) nascimento = db.Column(db.Integer) date_created = db.Column(db.DateTime, default=datetime.utcnow) Caixa_id = db.Column(db.Integer, db.ForeignKey('caixa.id'), nullable=True) def __repr__(self): return '<Animal %r>' % self.id # responsavel = db.Table( 'responsavel', db.Column('pessoa_id', db.Integer, db.ForeignKey('pessoa.id')), db.Column('sala_id', db.Integer, db.ForeignKey('sala.id'))) # encarregado = db.Table( 'encarregado', db.Column('pessoa_id', db.Integer, db.ForeignKey('pessoa.id')), db.Column('projeto_id', db.Integer, db.ForeignKey('projeto.id'))) # class Pessoa(db.Model): id = db.Column(db.Integer, primary_key=True) nome = db.Column(db.String(200), nullable=False) telefone = db.Column(db.Integer, nullable=False) email = db.Column(db.String(200), nullable=False) date_created = db.Column(db.DateTime, default=datetime.utcnow)