コード例 #1
0
 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
コード例 #2
0
ファイル: controllers.py プロジェクト: My3r/api
 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!')
コード例 #3
0
 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
コード例 #4
0
    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
コード例 #5
0
 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
コード例 #6
0
 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
コード例 #7
0
ファイル: controllers.py プロジェクト: My3r/api
 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!')
コード例 #8
0
ファイル: controllers.py プロジェクト: My3r/api
 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!')
コード例 #9
0
 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!')
コード例 #10
0
 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!')
コード例 #11
0
 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!')
コード例 #12
0
ファイル: controllers.py プロジェクト: My3r/api
    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')
コード例 #13
0
    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!')
コード例 #14
0
    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!')
コード例 #15
0
    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!')
コード例 #16
0
 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!')
コード例 #17
0
ファイル: controllers.py プロジェクト: My3r/api
    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
コード例 #18
0
ファイル: controllers.py プロジェクト: My3r/api
 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
コード例 #19
0
ファイル: controllers.py プロジェクト: My3r/api
 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
コード例 #20
0
 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