def buscar_por_id(self, id: int): comando_sql_buscar_id = f""" SELECT b.id_banco, b.nome_banco, l.id_linguagem, l.nome_linguagem, f.id_framework, f.nome_framework, p.id, p.nome FROM squad as s JOIN banco as b ON s.id_banco = b.id_banco JOIN linguagem as l ON s.id_linguagem = l.id_linguagem JOIN framework as f ON s.id_framework = f.id_framework JOIN programador as p ON s.id_programador = p.id WHERE s.id_programador = {id}""" self.cursor.execute(comando_sql_buscar_id) tupla = self.cursor.fetchone() banco = Banco(tupla[1], tupla[0]) linguagem = Linguagem(tupla[3], tupla[2]) framework = Framework(tupla[5], tupla[4]) programador = Programador(tupla[7], tupla[6]) squad = Squad(programador.__dict__, linguagem.__dict__, framework.__dict__, banco.__dict__) return squad.__dict__
def listar(self): lista_squad = [] comando_sql_listar = """ SELECT b.id_banco, b.nome_banco, l.id_linguagem, l.nome_linguagem, f.id_framework, f.nome_framework, p.id, p.nome FROM squad as s JOIN banco as b ON s.id_banco = b.id_banco JOIN linguagem as l ON s.id_linguagem = l.id_linguagem JOIN framework as f ON s.id_framework = f.id_framework JOIN programador as p ON s.id_programador = p.id """ # lista_tupla = super().listar(comando_sql_listar) self.cursor.execute(comando_sql_listar) lista_tupla = self.cursor.fetchall() for l in lista_tupla: banco = Banco(l[1], l[0]) linguagem = Linguagem(l[3], l[2]) framework = Framework(l[5], l[4]) programador = Programador(l[7], l[6]) squad = Squad(programador.__dict__, linguagem.__dict__, framework.__dict__, banco.__dict__) lista_squad.append(squad.__dict__) return lista_squad
def post(self): nome = request.json['nome'] id_db = request.json['id_db'] id_framework = request.json['id_framework'] id_linguagem = request.json['id_linguagem'] if self.dao.existe_nome(nome): return "Usuário já existe!" if len(self.dao.listar()) == 3: return "Lista completa!" if nome.lower( ) == 'nicole' and id_db == 1 and id_framework == 1 and id_linguagem == 1: programador = Programador(nome.lower(), id_framework=id_framework, id_db=id_db, id_linguagem=id_linguagem) programador_id = self.dao.inserir(programador) programador = self.dao.buscar_por_id(programador_id) return programador elif nome.lower( ) == 'mateus' and id_db == 2 and id_framework == 2 and id_linguagem == 2: programador = Programador(nome.lower(), id_framework=id_framework, id_db=id_db, id_linguagem=id_linguagem) programador_id = self.dao.inserir(programador) programador = self.dao.buscar_por_id(programador_id) return programador elif nome.lower( ) == 'tiago' and id_db == 3 and id_framework == 3 and id_linguagem == 3: programador = Programador(nome.lower(), id_framework=id_framework, id_db=id_db, id_linguagem=id_linguagem) programador_id = self.dao.inserir(programador) programador = self.dao.buscar_por_id(programador_id) return programador else: return 'Combinação Inválida'
def buscar_por_id(self, id: int): comando_sql_buscar_id = f""" SELECT * FROM programador WHERE id = {id} """ self.cursor.execute(comando_sql_buscar_id) tupla = self.cursor.fetchone() programador = Programador(tupla[1], tupla[0]) return programador.__dict__
def listar(self): lista_programador = [] comando_sql_listar = """ SELECT * FROM programador """ self.cursor.execute(comando_sql_listar) lista_tupla = self.cursor.fetchall() for l in lista_tupla: programador = Programador(l[1], l[0]) lista_programador.append(programador.__dict__) return lista_programador
def put(self, id): id_body = request.json['id'] nome = request.json['nome'] id_db = request.json['id_db'] id_framework = request.json['id_framework'] id_linguagem = request.json['id_linguagem'] if id_body != id: return 'Ids de rota e body diferentes, seu tatu!' programador = Programador(nome, id_db=id_db, id_framework=id_framework, id_linguagem=id_linguagem, id=id) self.dao.alterar(programador) programador = self.dao.buscar_por_id(id) return programador
def buscar_por_id(self, id: int): comando_sql_buscar_id = f""" SELECT p.nome,f.framework, f.id, bd.db, bd.id, l.linguagem, l.id FROM programadores p JOIN banco_de_dados as bd JOIN linguagem_squad as l JOIN framework as f ON p.id_db = bd.id AND p.id_framework = f.id AND p.id_linguagem = l.id WHERE p.id = {id} """ tupla = super().buscar_por_id(comando_sql_buscar_id) framework = Framework(tupla[1], tupla[2]) db = Db(tupla[3], tupla[4]) linguagem = Linguagem(tupla[5], tupla[6]) model_programador = Programador(tupla[0], framework.__dict__, db.__dict__, linguagem.__dict__) return model_programador.__dict__
def listar(self): lista = [] comando_sql_listar = """ SELECT p.nome,f.framework, f.id, bd.db, bd.id, l.linguagem, l.id FROM programadores p JOIN banco_de_dados as bd JOIN linguagem_squad as l JOIN framework as f ON p.id_db = bd.id AND p.id_framework = f.id AND p.id_linguagem = l.id """ todos = super().listar(comando_sql_listar) for l in todos: framework = Framework(l[1], l[2]) db = Db(l[3], l[4]) linguagem = Linguagem(l[5], l[6]) model_programador = Programador(l[0], framework.__dict__, db.__dict__, linguagem.__dict__) lista.append(model_programador.__dict__) return lista