Пример #1
0
class Relatorio(Base):
    __tablename__ = 'relatorios'
    idRelatorio = db.Column(db.Integer, primary_key=True)
    nota = db.Column(db.Integer)
    dataSubmissao = db.Column(db.DateTime)
    estagioId = db.Column(db.Integer, db.ForeignKey('estagio.idEstagio'))
    estagio = db.relationship("Estagio", back_populates="relatorios")
    empresaCnpj = db.Column(db.Integer,
                            db.ForeignKey('empresa.cnpj'),
                            primary_key=True)
    empresa = db.relationship("Empresa", back_populates="relatorios")
    alunoNusp = db.Column(db.Integer,
                          db.ForeignKey('aluno.nusp'),
                          primary_key=True)
    aluno = db.relationship("Aluno", back_populates="relatorios")

    def __init__(self, idRelatorio):
        self.idRelatorio = idRelatorio
        self.dataSubmissao = datetime.now()

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #2
0
class VooModel(Base):

    __tablename__ = 'voos'
    id = db.Column(db.Integer, primary_key=True)
    #matricula = db.Column(db.Integer, unique = True)
    duracao = db.Column(db.String(200))
    data = db.Column(db.DateTime)
    parecer = db.Column(db.Integer)
    aluno_nome = db.Column(db.Integer, db.ForeignKey('alunos.nome'))
    instrutor_nome = db.Column(db.Integer, db.ForeignKey('instrutores.nome'))
    voo_aluno = db.relationship("AlunoModel")
    voo_instrutor = db.relationship("InstrutorModel")

    def __init__(self, duracao, parecer, aluno_nome, instrutor_nome):
        self.duracao = duracao
        self.parecer = parecer
        self.aluno_nome = aluno_nome
        self.instrutor_nome = instrutor_nome

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_id(cls, _id):
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #3
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(140))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    user_name = db.Column(db.String(64), db.ForeignKey('user.username'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Post {}>'.format(self.body)
Пример #4
0
class ServicoModel(Base):
	__tablename__ = 'servicos'
	id = db.Column(db.Integer, primary_key=True)
	id_cliente = db.Column(db.String(200), db.ForeignKey('clientes.id'))
	id_fornecedor = db.Column(db.String(200), db.ForeignKey('fornecedores.id'))
	servico = db.Column(db.String(200))
	rank = db.Column(db.Integer)
	contato_fornecedor = db.Column(db.String(200))
	contato_cliente = db.Column(db.String(200))
	data = db.Column(db.DateTime)
	data_criacao = db.Column(db.DateTime)

	def __init__(self, id_cliente, id_fornecedor, servico, contato_fornecedor, contato_cliente, data):
		self.id_cliente = id_cliente
		self.id_fornecedor = id_fornecedor
		self.servico = servico
		self.rank = 0	
		self.contato_fornecedor = contato_fornecedor
		self.contato_cliente = contato_cliente
		self.data = datetime.strptime(data, '%d/%m/%Y')
		self.data_criacao = datetime.now()

	def adicionar(self):
		db.session.add(self)
		db.session.commit()

	@classmethod
	def modificar(cls, _id, data):
		newItem = cls.query.filter_by(id=_id).first()
		newItem.servico = data['servico']
		newItem.rank = data['rank']
		newItem.contato_fornecedor = data['contato_fornecedor']
		newItem.contato_cliente = data['contato_cliente']
		newItem.data = data['data']
		db.session.commit()
		
	@classmethod
	def encontrar_pelo_id(cls, id):
		return cls.query.filter_by(id=id).first()

	@classmethod
	def listar(cls, _id, _tipo):
		if _tipo == 1:
			return cls.query.all()
		if _tipo == 2:
			return cls.query.filter_by(id_fornecedor=_id)		
		return cls.query.filter_by(id_cliente=_id)

	def remover(self):
		db.session.delete(self)
		db.session.commit()
Пример #5
0
class Offer(db.Model):
    offer_id = db.Column(db.Integer, primary_key=True)

    offered_item = db.Column(db.Integer,
                             db.ForeignKey(Item.item_id),
                             nullable=False)

    wanted_item = db.Column(db.Integer,
                            db.ForeignKey(Item.item_id),
                            nullable=False)

    date_created = db.Column(db.DateTime)
    accepted = db.Column(db.Boolean)

    def __repr__(self):
        return f"<OFFER> {self.offer_id}"
Пример #6
0
class Voo(Base):
    __tablename__ = 'voo'
    id = db.Column(db.Integer, primary_key=True)
    id_piloto = db.Column(db.Integer,
                          db.ForeignKey('piloto.id'),
                          primary_key=True)
    duracao = db.Column(db.Integer, unique=True)
    data = db.Column(db.DateTime)

    def __init__(self, id_piloto, duracao, data):
        self.id_piloto = id_piloto
        self.duracao = duracao
        self.data = data

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_id(cls, _id):
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def encontrar_pelo_id_piloto(cls, id_piloto):
        return cls.query.filter_by(id_piloto=id_piloto).first()

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #7
0
class Certificado(Base):
    __tablename__ = 'certificado'
    id = db.Column(db.Integer, primary_key=True)
    id_aluno = db.Column(db.Integer,
                         db.ForeignKey('aluno.id'),
                         primary_key=True)
    data = db.Column(db.DateTime)

    def __init__(self, id_aluno):
        self.id_aluno = id_aluno
        self.data = datetime.now()

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_id(cls, _id):
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def encontrar_pelo_id_aluno(cls, id_aluno):
        return cls.query.filter_by(id_aluno=id_aluno).first()

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
class ItemLista(Base):
    __tablename__ = 'itenslistas'
    lista_id = db.Column(db.Integer,
                         db.ForeignKey('listas.id'),
                         primary_key=True)
    item_id = db.Column(db.Integer,
                        db.ForeignKey('itens.id'),
                        primary_key=True)
    preco = db.Column(db.String(100))
    item = db.relationship("ItemModel", back_populates="listas", uselist=False)
    lista = db.relationship("ListaModel",
                            back_populates="itens",
                            uselist=False)

    def __init__(self, preco):
        self.preco = preco
Пример #9
0
class ListaModel(Base):
    __tablename__ = 'listas'
    id = db.Column(db.Integer, primary_key=True)
    nome = db.Column(db.String(200), unique=True)
    usuario_id = db.Column(db.Integer,db.ForeignKey("usuarios.id"))
    usuario = db.relationship("UsuarioModel", back_populates="listas")
    dataCadastro = db.Column(db.DateTime)
    itens = db.relationship("ItemLista", back_populates="lista")

    def __init__(self,nome,usuario_id):
        self.nome = nome
        self.usuario_id = usuario_id
        self.dataCadastro = datetime.now()

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_id(cls, _id):
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def encontrar_pelo_nome(cls, nome):
        return cls.query.filter_by(nome=nome).first()

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #10
0
class Horario(Base):
    __tablename__ = 'horario'
    id = db.Column(db.Integer, primary_key=True)
    id_instrutor = db.Column(db.Integer,
                             db.ForeignKey('instrutor.id'),
                             primary_key=True)
    data_inicio = db.Column(db.DateTime)
    data_fim = db.Column(db.DateTime)

    def __init__(self, id_instrutor, data_inicio, data_fim):
        self.id_instrutor = id_instrutor
        self.data_inicio = data_inicio
        self.data_fim = data_fim

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_id(cls, _id):
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def encontrar_pelo_id_instrutor(cls, id_instrutor):
        return cls.query.filter_by(id_instrutor=id_instrutor).first()

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #11
0
class Estagio(Base):
    __tablename__ = 'estagios'
    nome = db.Column(db.String(200))
    idEstagio = db.Column(db.Integer, primary_key=True)
    inicio = db.Column(db.DateTime)
    fim = db.Column(db.DateTime)
    duracaoMeses = db.Column(db.Integer)
    aprovadoParaIniciar = db.Column(db.Boolean)
    empresaCnpj = db.Column(db.Integer,
                            db.ForeignKey('empresa.cnpj'),
                            primary_key=True)
    empresa = db.relationship("Empresa", back_populates="estagios")
    alunoNusp = db.Column(db.Integer,
                          db.ForeignKey('aluno.nusp'),
                          primary_key=True)
    aluno = db.relationship("Aluno", back_populates="estagios")
    relatorioAluno = db.Column(db.Integer,
                               db.ForeignKey('relatorio.idRelatorio'),
                               primary_key=True)
    relatorioEmpresa = db.Column(db.Integer,
                                 db.ForeignKey('relatorio.idRelatorio'),
                                 primary_key=True)
    relatorio = db.relationship("Relatorio", back_populates="estagios")

    def __init__(self, nome, idEstagio):
        self.nome = nome
        self.idEstagio = idEstagio
        self.inicio = datetime.now()

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_nome(cls, nome):
        return cls.query.filter_by(nome=nome)

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #12
0
class Vagas(Base):
    __tablename__ = 'vagas'
    nome = db.Column(db.String(200))
    idVaga = db.Column(db.Integer, primary_key=True)
    area = db.Column(db.String(50))
    beneficios = db.Column(db.text)
    remuneracao = db.Column(db.String(20))
    requisitos = db.Column(db.text)
    etapasProc = db.Column(db.text)
    descricao = db.Column(db.text)
    duracaoMeses = db.Column(db.Integer)
    aprovadaParaDivulgar = db.Column(db.Boolean)
    dataCadastro = db.Column(db.DateTime)
    empresaCnpj = db.Column(db.Integer, db.ForeignKey(
        'empresa.cnpj'), primary_key=True)
    empresa = db.relationship("Empresa", back_populates="vagas")
    alunoNusp = db.Column(db.Integer, db.ForeignKey(
        'aluno.nusp'), primary_key=True)
    aluno = db.relationship("Aluno", back_populates="vagas")

    def __init__(self, nome, idVaga, empresa):
        self.nome = nome
        self.idVaga = idVaga
        self.empresa = empresa
        self.dataCadastro = datetime.now()

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def encontrar_pelo_nome(cls, nome):
        return cls.query.filter_by(nome=nome)

    @classmethod
    def listar(cls):
        return cls.query.all()

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #13
0
class Character(db.Model):
    character_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)

    user_id = db.Column(db.Integer,
                        db.ForeignKey(User.user_id),
                        nullable=False)

    user = db.relationship("User", backref=db.backref("user"), lazy=True)
    items = db.relationship("Item", secondary=inventory, lazy="subquery")

    def __repr__(self):
        return f"<CHARACTER> {self.character_id}: {self.name}"
Пример #14
0
class Aula(Voo):
    __tablename__ = 'aula'
    id = db.Column(db.Integer, db.ForeignKey('voo.id'), primary_key=True)
    id_aluno = db.Column(db.Integer,
                         db.ForeignKey('pessoa.id'),
                         primary_key=True)
    id_instrutor = db.Column(db.Integer,
                             db.ForeignKey('pessoa.id'),
                             primary_key=True)

    def __init__(self, id_aluno, id_instrutor, duracao, data):
        self.id_aluno = id_aluno
        self.id_instrutor = id_instrutor
        self.duracao = duracao
        self.data = data

    @classmethod
    def encontrar_pelo_id_aluno(cls, id_aluno):
        return cls.query.filter_by(id_aluno=id_aluno).first()

    @classmethod
    def encontrar_pelo_id_instrutor(cls, id_instrutor):
        return cls.query.filter_by(id_instrutor=id_instrutor).first()
Пример #15
0
class AulaModel(Base):
    __tablename__ = 'aulas'
    id = db.Column(
        db.Integer,
        primary_key=True)  # chave primaria unica e auto-incrementada
    data = db.Column(db.DateTime, nullable=False)  # AAAA-MM-DDTHH:MM:SS
    aluno_id = db.Column(db.Integer,
                         db.ForeignKey('alunos.id'),
                         nullable=False)
    aluno = db.relationship("AlunoModel", backref="aulas")
    duracao = db.Column(db.Integer, nullable=False)
    parecer = db.Column(db.Integer, nullable=False)

    def __init__(self, aluno_id, data, duracao, parecer):
        self.data = data
        self.aluno_id = aluno_id
        self.duracao = duracao
        self.parecer = parecer

    # adiciona uma linha na respectiva tabela
    def add(self):
        db.session.add(self)
        db.session.commit()

    # encontra aulas alocadas ao aluno
    @classmethod
    def find_by_aluno_id(cls, aluno_id):
        return cls.query.filter_by(aluno_id=aluno_id).first()

    # encontra aulas por data
    @classmethod
    def find_by_data(cls, data):
        return cls.query.filter_by(data=data).all()

    # encontra aula especifica (data e aluno_id)
    @classmethod
    def find_by_data_aluno_id(cls, data, aluno_id):
        return cls.query.filter_by(data=data, aluno_id=aluno_id).first()

    # lista todas as aulas
    @classmethod
    def list(cls):
        return cls.query.all()

    # remove uma linha da tabela
    def remove(self):
        db.session.delete(self)
        db.session.commit()
Пример #16
0
class DemandaModel(Base):
    __tablename__ = 'demandas'
    id = db.Column(db.Integer, primary_key=True)
    cliente_id = db.Column(db.Integer, db.ForeignKey("clientes.id"))
    status = db.Column(db.String(200))
    custo = db.Column(db.String(200))
    problema = db.Column(db.String(10000))
    solucao = db.Column(db.String(10000))
    data_criacao = db.Column(db.DateTime)

    def __init__(self, cliente_id, status, custo, problema, solucao):
        self.status = status
        self.cliente_id = cliente_id
        self.custo = custo
        self.problema = problema
        self.solucao = solucao
        self.data_criacao = datetime.now()

    def adicionar(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def modificar(cls, _id, data):
        newItem = cls.query.filter_by(id=_id).first()
        newItem.status = data['status']
        newItem.custo = data['custo']
        newItem.problema = data['problema']
        newItem.solucao = data['solucao']
        db.session.commit()

    @classmethod
    def encontrar_pelo_id(cls, _id):
        return cls.query.filter_by(id=_id).first()

    @classmethod
    def encontrar_pelo_email(cls, _email):
        return cls.query.filter_by(email=_email).first()

    @classmethod
    def listar(cls, _id):
        if _id == 1:
            return cls.query.all()
        return cls.query.filter_by(cliente_id=_id)

    def remover(self):
        db.session.delete(self)
        db.session.commit()
Пример #17
0
class Relatorio(db.Model):
    __tablename__ = 'relatorios'
    idRelatorio = db.Column(db.Integer, primary_key=True)
    nota = db.Column(db.Integer)
    dataSubmissao = db.Column(db.DateTime)
    estagioId = db.Column(db.Integer, db.ForeignKey('estagio.idEstagio'))

    # estagio = db.relationship("Estagio", back_populates="relatorios")
    # empresaCnpj = db.Column(db.Integer, db.ForeignKey(
    #     'empresa.cnpj'), primary_key=True)
    # empresa = db.relationship("Empresa", back_populates="relatorios")
    # alunoNusp = db.Column(db.Integer, db.ForeignKey(
    #     'aluno.nusp'), primary_key=True)
    # aluno = db.relationship("Aluno", back_populates="relatorios")

    def __init__(self, idRelatorio):
        self.idRelatorio = idRelatorio
        self.dataSubmissao = datetime.now()
Пример #18
0
from _md5 import md5

from flask_login import UserMixin
from werkzeug.security import check_password_hash, generate_password_hash

from dao import db
from datetime import datetime

from webapp import login

# direct declare table
followers = db.Table(
    'followers', db.Column('follower_id', db.Integer,
                           db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id')))


class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    about_me = db.Column(db.String(512), nullable=True)
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)

    # many to many relationship  usage: user1.followed.append(user2)
    followed = db.relationship(
        'User',
        secondary=followers,
        # that links the left side entity   user1
        primaryjoin=(followers.c.follower_id == id),
Пример #19
0
class Prova(Aula):
    __tablename__ = 'prova'
    id = db.Column(db.Integer, db.ForeignKey('aula.id'), primary_key=True)
    nota = db.Column(db.Integer, unique=True)
Пример #20
0
from werkzeug.security import generate_password_hash, check_password_hash

from dao import db

inventory = db.Table(
    "inventory",
    db.Column("inventory_id", db.Integer, primary_key=True),
    db.Column("character_id", db.Integer,
              db.ForeignKey("character.character_id")),
    db.Column("item_id", db.Integer, db.ForeignKey("item.item_id")),
)


class User(db.Model):
    user_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
    email = db.Column(db.String(80), nullable=False, unique=True)
    dci = db.Column(db.String(10), nullable=False, unique=True)
    password = db.Column(db.String(128), nullable=False)
    active = db.Column(db.Boolean, default=True)
    verified = db.Column(db.Boolean, default=False)
    last_login = db.Column(db.DateTime)
    authenticated = db.Column(db.Boolean, default=False)

    characters = db.relationship('Character', backref='character', lazy=True)

    def __repr__(self):
        return f"<USER> {self.user_id}: {self.email}"

    def set_password(self, password):
        self.password = generate_password_hash(password)