def get(self): """Retorna um usuário pelo ID""" us = Usuario.query \ .filter(Usuario.id_usuario == get_jwt_identity()) \ .first() abort_if_none(us, 404, 'Não achado') return us
def delete(self, id_usuario, id_local): """Delete uma interação entre uma pessoa e um local pelos ID's""" interacao = Interacao.query.filter(Interacao.usuario_id==id_usuario).filter(Interacao.local_id==id_local).first() abort_if_none(interacao, 404, 'Não achado') db.session.delete(interacao) db.session.commit() return msg('success!')
def get(self, id_local): """Retorna um local pelo ID""" lc = Local.query \ .filter(Local.id_local == id_local) \ .first() abort_if_none(lc, 404, 'Não achado') return lc
def get(self, id_cidade, id_usuario): """Retorna lista de locais ordenado por quantidade de tags de interesse do usuário""" usuario = Usuario.query.filter_by(id_usuario=id_usuario).first() abort_if_none(usuario, 404, 'Não achado') cidade = Cidade.query.filter_by(id_cidade=id_cidade).first() abort_if_none(cidade, 404, 'Não achado') locais_interacoes = [] for interacao in usuario.interacoes: locais_interacoes.append( Local.query.filter_by(id_local=interacao.local_id).first()) locais_disponiveis = [ local for local in cidade.locais if local not in locais_interacoes ] tags_complementares = [] for i in range(0, len(locais_disponiveis)): tags_complementares.append([ tag for tag in locais_disponiveis[i].tags if tag not in usuario.interesses ]) # print(locais_disponiveis[i]) for i in range(0, len(locais_disponiveis)): locais_disponiveis[i].tags = [ tag for tag in locais_disponiveis[i].tags if tag not in tags_complementares[i] ] locais_disponiveis = sorted(locais_disponiveis, key=lambda local: len(local.tags), reverse=True) return locais_disponiveis
def get(self, id_tag): """Retorna uma tag pelo ID""" tg = Tag.query \ .filter(Tag.id_tag == id_tag) \ .first() abort_if_none(tg, 404, 'Não achado') return tg
def get(self, id_cidade): """Retorna uma lista de locais de uma cidade pelo ID""" ls = Local.query \ .filter(Local.cidade_id == id_cidade) \ .all() abort_if_none(ls, 404, 'Não achado') return ls
def delete(self, id_usuario, id_tag): """Remove uma tag de interesse de um usuario pelos ID's""" tag = Tag.query.filter_by(id_tag=id_tag).first() abort_if_none(tag, 404, 'Não achado') usuario = Usuario.query.filter_by(id_usuario=id_usuario).first() abort_if_none(usuario, 404, 'Não achado') usuario.interesses.remove(tag) db.session.commit() return msg('Sucesso!')
def post(self, id_usuario, id_tag): """Adiciona uma tag como interesse de um usuario pelos ID's""" tag = Tag.query.filter_by(id_tag=id_tag).first() abort_if_none(tag, 404, 'Não achado') usuario = Usuario.query.filter_by(id_usuario=id_usuario).first() abort_if_none(usuario, 404, 'Não achado') usuario.interesses.append(tag) db.session.commit() return msg('Sucesso!')
def delete(self, id_l, id_t): """Remove uma tag de um local pelos ID's""" tag = Tag.query.filter_by(id_tag=id_t).first() abort_if_none(tag, 404, 'Não achado') local = Local.query.filter_by(id_local=id_l).first() abort_if_none(local, 404, 'Não achado') local.tags.remove(tag) db.session.commit() return msg('Sucesso!')
def post(self, id_local, id_tag): """Adiciona uma tag a um local pelos ID's""" tag = Tag.query.filter_by(id_tag=id_tag).first() abort_if_none(tag, 404, 'Não achado') local = Local.query.filter_by(id_local=id_local).first() abort_if_none(local, 404, 'Não achado') local.tags.append(tag) db.session.commit() return msg('Sucesso!')
def delete(self, id_local): """Delete um local ID's""" lc = Local.query \ .filter(Local.id_local == id_local) \ .first() abort_if_none(lc, 404, 'Não achado') db.session.delete(lc) db.session.commit() return msg('success!')
def post(self): """Retorna o token de acesso do usuario""" email = request.json['email'] us = Usuario.query.filter(Usuario.email == email).first() abort_if_none(us, 403, 'Usuario ou senha incorretos') token = create_access_token(identity=us.id_usuario) return msg(token, 'access-token')
def put(self): """Atualiza um usuário pelo ID""" us = Usuario.query\ .filter(Usuario.id_usuario == get_jwt_identity())\ .first() abort_if_none(us, 404, 'Não achado') fill_object(us, request.json) db.session.commit() return msg('success!')
def put(self, id_local): """Atualiza um local pelo ID""" lc = Local.query \ .filter(Local.id_local == id_local) \ .first() abort_if_none(lc, 404, 'Não achado') fill_object(lc, request.json) db.session.commit() return msg('success!')
def put(self, id_tag): """Atualiza uma tag pelo ID""" tg = Tag.query \ .filter(Tag.id_tag == id_tag) \ .first() abort_if_none(tg, 404, 'Não achado') fill_object(tg, request.json) db.session.commit() return msg('success!')
def delete(self, id_usuario): """Limpa lista de interesses e interações do usuario pelo ID""" us = Usuario.query \ .filter(Usuario.id_usuario == id_usuario) \ .first() abort_if_none(us, 404, 'Não achado') for interesse in us.interesses: db.session.delete(interesse) for interacao in us.interacoes: db.session.delete(interacao) db.session.commit() return msg('success!')
def get(self, id_usuario, id_cidade): """Retorna a lista de locais com interação positiva do usuario pelos ID's""" cidade = Cidade.query.filter_by(id_cidade=id_cidade).first() abort_if_none(cidade, 404, 'Não achado') interacoes = Interacao.query.filter_by(usuario_id=id_usuario).all() abort_if_none(interacoes, 404, 'Não achado') locais_interacoes = [] for interacao in interacoes: if interacao.like: locais_interacoes.append(interacao.local) locais_da_cidade = [local for local in cidade.locais if local in locais_interacoes] for i in range(0, len(locais_da_cidade)): locais_da_cidade[i] = Local.query.filter_by(id_local=locais_da_cidade[i].id_local).first() return locais_da_cidade
def get(self, id_usuario): """Retorna a lista das tags de interesse de uma pessoa pelo ID""" usuario = Usuario.query.filter_by(id_usuario=id_usuario).first() abort_if_none(usuario, 404, 'Não achado') return usuario.interesses
def get(self, id_usuario): """Retorna a lista das interacoes de uma pessoa pelo ID""" interacoes = Interacao.query.filter_by(usuario_id=id_usuario).all() abort_if_none(interacoes, 404, 'Não achado') return interacoes
def get(self, id_local): """Retorna a lista das tags de um local pelo ID""" local = Local.query.filter_by(id_local=id_local).first() abort_if_none(local, 404, 'Não achado') return local.tags