class ViagensParada(db.Model): __tablename__ = 'viagensParadas' idViagensParadas = db.Column(db.Integer, autoincrement=True, primary_key=True) idViagens = db.Column(db.Integer, db.ForeignKey('viagens.idViagens'), nullable=False) viagens = db.relationship('Viagem') idParadas = db.Column(db.Integer, db.ForeignKey('paradas.idParadas'), nullable=False) paradas = db.relationship('Parada') def to_json(self): json_viagensParadas = { 'idViagens': self.idViagens, 'idParadas': self.idParadas, 'idViagensParadas': self.idViagensParadas } return json_viagensParadas @staticmethod def from_json(json_viagensParadas): idViagens = json_viagensParadas.get('idViagens') idParadas = json_viagensParadas.get('idParadas') # idViagensParadas = json_viagensParadas.get('idViagensParadas') return ViagensParada(idViagens=idViagens, idParadas=idParadas)
class Produto_categoria(db.Model): __tablename__: 'produto_categoria' id = db.Column(db.Integer, primary_key=True) produto_id = db.Column(db.Integer, db.ForeignKey('produtos.id')) categoria_id = db.Column(db.Integer, db.ForeignKey('categorias.id')) produtos = relationship('Produto') categorias = relationship('Categoria')
class Produto_marca(db.Model): __tablename__: 'produto_marca' id = db.Column(db.Integer, primary_key=True) produto_id = db.Column(db.Integer, db.ForeignKey('produtos.id')) marca_id = db.Column(db.Integer, db.ForeignKey('marcas.id')) produtos = relationship('Produto') marcas = relationship('Marca')
class Produto_pedido(db.Model): __tablename__: 'produto_pedido' id = db.Column(db.Integer, primary_key=True) produto_id = db.Column(db.Integer, db.ForeignKey('produtos.id')) pedido_id = db.Column(db.Integer, db.ForeignKey('pedido.id')) produtos = relationship('Produto') pedidos = relationship('Pedido')
class Produto_fornecedor(db.Model): __tablename__: 'produto_fornecedor' id = db.Column(db.Integer, primary_key=True) produto_id = db.Column(db.Integer, db.ForeignKey('produtos.id')) fornecedor_id = db.Column(db.Integer, db.ForeignKey('fornecedores.id')) produtos = relationship('Produto') fornecedores = relationship('Fornecedor')
class Pedido(db.Model): __tablename__ = 'pedido' id = db.Column(db.Integer, autoincrement=True, primary_key=True) data_compra = db.Column(db.DateTime, nullable=False, default=datetime.now) data_entrega = db.Column(db.DateTime, nullable=False, default=datetime.now) #valor_entrega = db.Column(db.DateTime, nullable=False, default=datetime.now) desconto = db.Column(db.Float) valor = db.Column(db.Float, nullable=False) status = db.Column(db.String(10), nullable=False) observacao = db.Column(db.String(200)) id_cliente = db.Column(db.Integer, db.ForeignKey('clientes.id'), nullable=False) clientes = db.relationship('Cliente') id_usuario = db.Column(db.Integer, db.ForeignKey('usuarios.id')) usuarios = db.relationship('Usuario') def to_json(self): json_pedido = { 'id': self.id, 'data_compra': self.data_compra, 'data_entrega': self.data_entrega, 'desconto': self.desconto, 'valor': self.valor, 'status': self.status, 'observacao': self.observacao, 'id_cliente': self.id_cliente, 'id_usuario': self.id_usuario, } return json_pedido @staticmethod def from_json(json_pedido): id = json_pedido.get('id') data_compra = json_pedido.get('data_compra') data_entrega = json_pedido.get('data_entrega') id_cliente = json_pedido.get('id_cliente') desconto = json_pedido.get('desconto') status = json_pedido.get('status') observacao = json_pedido.get('observacao') valor = json_pedido.get('valor') id_usuario = json_pedido.get('id_usuario') return Pedido(id=id, data_compra=data_compra, data_entrega=data_entrega, id_cliente=id_cliente, desconto=desconto, status=status, observacao=observacao, valor=valor, id_usuario=id_usuario)
class Comentario(db.Model): __tablename__ = 'comentarios' idComentarios = db.Column(db.Integer, autoincrement=True, primary_key=True) nomeComentario = db.Column(db.String(60), nullable=False) notaComentario = db.Column(db.Integer, nullable=False) avaliacao = db.Column(db.String(250), nullable=False) idExcursoes = db.Column(db.Integer, db.ForeignKey('excursoes.idExcursoes'), nullable=False) excursoes = db.relationship('Excursao') def to_json(self): json_comentarios = { 'idComentarios': self.idComentarios, 'nomeComentario': self.nomeComentario, 'notaComentario': self.notaComentario, 'avaliacao': self.avaliacao, 'idExcursoes': self.idExcursoes } return json_comentarios @staticmethod def from_json(json_comentarios): nomeComentario = json_comentarios.get('nomeComentario') notaComentario = json_comentarios.get('notaComentario') avaliacao = json_comentarios.get('avaliacao') idExcursoes = json_comentarios.get('idExcursoes') return Comentario(nomeComentario=nomeComentario, notaComentario=notaComentario, avaliacao=avaliacao, idExcursoes=idExcursoes)
class Interesse(db.Model): __tablename__ = 'interesses' idInteresse = db.Column(db.Integer, autoincrement=True, primary_key=True) email = db.Column(db.String(100), nullable=False) nome = db.Column(db.String(45), nullable=False) # click = db.Column(db.Integer, nullable=False) idExcursoes = db.Column(db.Integer, db.ForeignKey('excursoes.idExcursoes'), nullable=False) excursoes = db.relationship('Excursao') def to_json(self): json_interesses = { 'idInteresse': self.idInteresse, 'email': self.email, 'nome': self.nome, # 'click': self.click, 'idExcursoes': self.idExcursoes } return json_interesses @staticmethod def from_json(json_interesses): email = json_interesses.get('email') nome = json_interesses.get('nome') # click = json_interesses.get('click') idExcursoes = json_interesses.get('idExcursoes') return Interesse(email=email, nome=nome, idExcursoes=idExcursoes)
class Carro(db.Model): __tablename__ = 'carros' id = db.Column(db.Integer, autoincrement=True, primary_key=True) modelo = db.Column(db.String(40), nullable=False) cor = db.Column(db.String(30), nullable=False) ano = db.Column(db.Integer, nullable=False) preco = db.Column(db.Float, nullable=False) destaque = db.Column(db.String(1), nullable=False) foto = db.Column(db.String(120), nullable=False) quant = db.Column(db.Integer, nullable=False) data_cad = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) marca_id = db.Column(db.Integer, db.ForeignKey('marcas.id'), nullable=False) marca = db.relationship('Marca') def to_json(self): json_carros = { 'id': self.id, 'modelo': self.modelo, 'cor': self.cor, 'ano': self.ano, 'preco': self.preco, 'marca_id': self.marca_id, 'destaque': self.destaque, 'foto': self.foto, 'quant': self.quant, 'marca': self.marca.nome } return json_carros @staticmethod def from_json(json_carros): modelo = json_carros.get('modelo') cor = json_carros.get('cor') ano = json_carros.get('ano') preco = json_carros.get('preco') marca_id = json_carros.get('marca_id') destaque = json_carros.get('destaque') foto = json_carros.get('foto') quant = json_carros.get('quant') return Carro(modelo=modelo, cor=cor, ano=ano, preco=preco, marca_id=marca_id, destaque=destaque, foto=foto, quant=quant)
class Proposta(db.Model): __tablename__ = 'propostas' id = db.Column(db.Integer, autoincrement=True, primary_key=True) lance = db.Column(db.Float, nullable=False) nomePessoa = db.Column(db.String(100), nullable=False) telefone = db.Column(db.String(40), nullable=False) email = db.Column(db.String(100), nullable=False) data_proposta = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) carro_id = db.Column(db.Integer, db.ForeignKey('carros.id'), nullable=False) carro = db.relationship('Carro') def to_json(self): json_propostas = { 'id': self.id, 'lance': self.lance, 'nomePessoa': self.nomePessoa, 'telefone': self.telefone, 'email': self.email, 'modelo': self.carro.modelo, 'carro_id': self.carro_id } return json_propostas @staticmethod def from_json(json_propostas): lance = json_propostas.get('lance') carro_id = json_propostas.get('carro_id') nomePessoa = json_propostas.get('nomePessoa') telefone = json_propostas.get('telefone') email = json_propostas.get('email') return Proposta(lance=lance, carro_id=carro_id, nomePessoa=nomePessoa, telefone=telefone, email=email)
class Excursao(db.Model): __tablename__ = 'excursoes' idExcursoes = db.Column(db.Integer, autoincrement=True, primary_key=True) dataPartida = db.Column(db.String(10), nullable=False) dataChegada = db.Column(db.String(10), nullable=False) detalheExcursoes = db.Column(db.String(200), nullable=False) foto = db.Column(db.String(300), nullable=False) numeroClics = db.Column(db.Integer, nullable=True) idViagens = db.Column(db.Integer, db.ForeignKey('viagens.idViagens'), nullable=False) viagens = db.relationship('Viagem') def to_json(self): json_excursoes = { 'idExcursoes': self.idExcursoes, 'dataPartida': self.dataPartida, 'dataChegada': self.dataChegada, 'detalheExcursoes': self.detalheExcursoes, 'idViagens': self.idViagens, 'foto': self.foto, 'numeroClics': self.numeroClics, } return json_excursoes @staticmethod def from_json(json_excursoes): dataPartida = json_excursoes.get('dataPartida') dataChegada = json_excursoes.get('dataChegada') detalheExcursoes = json_excursoes.get('detalheExcursoes') idViagens = json_excursoes.get('idViagens') foto = json_excursoes.get('foto') numeroClics = json_excursoes.get('numeroClics') return Excursao(dataPartida=dataPartida, dataChegada=dataChegada, detalheExcursoes=detalheExcursoes, idViagens=idViagens, foto=foto, numeroClics=numeroClics)
class Fornecedor(db.Model): __tablename__ = 'fornecedores' id = db.Column(db.Integer, autoincrement=True, primary_key=True) nome = db.Column(db.String(60), nullable=False) cnpj = db.Column(db.String(14), nullable=False) telefone = db.Column(db.String(15), nullable=False) email = db.Column(db.String(60), nullable=False) representante = db.Column(db.String(30), nullable=False) telefone_representante = db.Column(db.String(15), nullable=False) email_representante = db.Column(db.String(60), nullable=False) cidade_id = db.Column(db.Integer, db.ForeignKey('cidade.id') ) cidade = db.relationship('Cidade') def to_json(self): json_fornecedor = { 'id': self.id, 'nome': self.nome, 'cnpj': self.cnpj, 'telefone': self.telefone, 'email': self.email, 'representante': self.representante, 'telefone_representante': self.telefone_representante, 'email_representante': self.email_representante, 'cidade_id' : self.cidade_id, } return json_fornecedor @staticmethod def from_json(json_fornecedor): nome = json_fornecedor.get('nome') cnpj = json_fornecedor.get('cnpj') telefone = json_fornecedor.get('telefone') email = json_fornecedor.get('email') representante = json_fornecedor.get('representante') telefone_representante = json_fornecedor.get('telefone_representante') email_representante = json_fornecedor.get('email_representante') cidade_id = json_fornecedor.get('cidade_id') return Fornecedor(nome=nome, cnpj=cnpj, telefone=telefone, email=email, representante=representante, telefone_representante=telefone_representante, email_representante=email_representante, cidade_id=cidade_id)
class Proposta(db.Model): __tablename__ = 'propostas' id = db.Column(db.Integer, autoincrement=True, primary_key=True) nome = db.Column(db.String(80), nullable=False) desc = db.Column(db.String(120)) email = db.Column(db.String(80), nullable=False) valor = db.Column(db.Float, nullable=False) data_cad = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) carro_id = db.Column(db.Integer, db.ForeignKey('carros.id'), nullable=False) carros = db.relationship('Carro') def to_json(self): json_propostas = { 'id': self.id, 'nome': self.nome, 'email': self.email, 'desc': self.desc, 'valor': self.valor, 'carro_id': self.carro_id } return json_propostas @staticmethod def from_json(json_propostas): nome = json_propostas.get('nome') email = json_propostas.get('email') desc = json_propostas.get('desc') valor = json_propostas.get('valor') carro_id = json_propostas.get('carro_id') return Proposta(nome=nome, email=email, desc=desc, valor=valor, carro_id=carro_id)
class Agendamento(db.Model): __tablename__ = 'agendamentos' id = db.Column(db.Integer,autoincrement=True, primary_key=True) nome = db.Column(db.String(60), nullable=False) email = db.Column(db.String(60), nullable=False) telefone = db.Column(db.Integer, nullable=False) data = db.Column(db.String(50), nullable=False) hora = db.Column(db.String(50), nullable=False) servico_id = db.Column(db.Integer, db.ForeignKey( 'servicos.id'),nullable=False) servico = db.relationship('Servico') def to_json(self): json_agendamentos = { 'id': self.id, 'nome': self.nome, 'email': self.email, 'telefone': self.telefone, 'servico_id': self.servico_id, 'servico': self.servico.nome_servico, 'data': self.data, 'hora': self.hora } return json_agendamentos @staticmethod def from_json(json_agendamentos): nome = json_agendamentos.get('nome') email = json_agendamentos.get('email') telefone = json_agendamentos.get('telefone') servico_id = json_agendamentos.get('servico_id') data = json_agendamentos.get('data') hora = json_agendamentos.get('hora') return Agendamento(nome=nome, email=email, telefone=telefone, servico_id=servico_id, data=data, hora=hora)
class Produto(db.Model): __tablename__ = 'produtos' id = db.Column(db.Integer, autoincrement=True, primary_key=True) data_compra = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) nome = db.Column(db.String(200), nullable=False) descricao = db.Column(db.String(200)) imagem = db.Column(db.String(300)) unidade = db.Column(db.String(2), nullable=False) quant = db.Column(db.Integer, nullable=False) quant_minima = db.Column(db.Integer, nullable=False) valor_compra = db.Column(db.Float, nullable=False) porcentagem = db.Column(db.Integer) valor_venda = db.Column(db.Float, nullable=False) peso = db.Column(db.Float) destaque = db.Column(db.String(1)) marca_id = db.Column(db.Integer, db.ForeignKey('marcas.id')) categoria_id = db.Column(db.Integer, db.ForeignKey('categorias.id')) fornecedor_id = db.Column(db.Integer, db.ForeignKey('fornecedores.id')) marca = relationship('Marca') categoria = relationship('Categoria') fornecedor = relationship('Fornecedor') def to_json(self): json_produtos = { 'id': self.id, 'data_compra': self.data_compra, 'nome': self.nome, 'descricao': self.descricao, 'imagem': self.imagem, 'unidade': self.unidade, 'quant': self.quant, 'quant_minima': self.quant_minima, 'valor_compra': self.valor_compra, 'porcentagem': self.porcentagem, 'valor_venda': self.valor_venda, 'peso': self.peso, 'fornecedor_id': self.fornecedor_id, 'marca_id': self.marca_id, 'categoria_id': self.categoria_id, 'destaque': self.destaque } return json_produtos @staticmethod def from_json(json_produtos): id = json_produtos.get('id') data_compra = json_produtos.get('data_compra') nome = json_produtos.get('nome') descricao = json_produtos.get('descricao') imagem = json_produtos.get('imagem') unidade = json_produtos.get('unidade') quant = json_produtos.get('quant') quant_minima = json_produtos.get('quant_minima') valor_compra = json_produtos.get('valor_compra') porcentagem = json_produtos.get('porcentagem') valor_venda = json_produtos.get('valor_venda') peso = json_produtos.get('peso') fornecedor_id = json_produtos.get('fornecedor_id') marca_id = json_produtos.get('marca_id') categoria_id = json_produtos.get('categoria_id') destaque = json_produtos.get('destaque') return Produto(id=id, data_compra=data_compra, nome=nome, descricao=descricao, imagem=imagem, unidade=unidade, quant=quant, quant_minima=quant_minima, valor_compra=valor_compra, porcentagem=porcentagem, valor_venda=valor_venda, peso=peso, fornecedor_id=fornecedor_id, marca_id=marca_id, categoria_id=categoria_id, destaque=destaque)
class Cliente(db.Model): __tablename__ = 'clientes' id = db.Column(db.Integer, autoincrement=True, primary_key=True) nome = db.Column(db.String(60), nullable=False) cpf = db.Column(db.String(11), nullable=False) email = db.Column(db.String(120), nullable=False, unique=True) senha = db.Column(db.String(32), nullable=False) telefone = db.Column(db.String(11)) endereco_logradouro = db.Column(db.String(100)) endereco_bairro = db.Column(db.String(40)) cidade_id = db.Column(db.Integer, db.ForeignKey('cidade.id'), nullable=False) endereco_numero = db.Column(db.Integer) endereco_complemento = db.Column(db.String(60)) endereco_tipo = db.Column(db.String(20)) cidade = db.relationship('Cidade') def to_json(self): json_clientes = { 'id': self.id, 'nome': self.nome, 'cpf': self.cpf, 'email': self.email, 'telefone': self.telefone, 'endereco_logradouro': self.endereco_logradouro, 'endereco_bairro': self.endereco_bairro, 'cidade_id': self.cidade_id, 'endereco_numero': self.endereco_numero, 'endereco_complemento': self.endereco_complemento, 'endereco_tipo': self.endereco_tipo, } return json_clientes @staticmethod def from_json(json_clientes): id = json_clientes.get('id') nome = json_clientes.get('nome') cpf = json_clientes.get('cpf') email = json_clientes.get('email') senha = json_clientes.get('senha') + config.SALT senha_md5 = hashlib.md5(senha.encode()).hexdigest() telefone = json_clientes.get('telefone') endereco_logradouro = json_clientes.get('endereco_logradouro') endereco_bairro = json_clientes.get('endereco_bairro') cidade_id = json_clientes.get('cidade_id') endereco_numero = json_clientes.get('endereco_numero') endereco_complemento = json_clientes.get('endereco_complemento') endereco_tipo = json_clientes.get('endereco_tipo') return Cliente(id=id, nome=nome, cpf=cpf, email=email, senha=senha_md5, telefone=telefone, endereco_logradouro=endereco_logradouro, endereco_bairro=endereco_bairro, cidade_id=cidade_id, endereco_numero=endereco_numero, endereco_complemento=endereco_complemento, endereco_tipo=endereco_tipo)