예제 #1
0
    def post(self):
        current_app.logger.info("Post - Endereço")
        endereco = None
        try:
            # Parser JSON
            args = parser.parse_args()
            current_app.logger.info("Endereço: %s:" % (args))

            # args
            logradouro = args['logradouro']
            numero = args['numero']
            complemento = args['complemento']
            cidade_id = args['cidade']['id']
            estado_id = args['estado']['id']
            cep = args['cep']
            ponto_referencia = args['ponto_referencia']

            # Recovering existing resources
            cidade = CidadeModel.query.filter_by(id=cidade_id).first()
            estado = EstadoModel.query.filter_by(id=estado_id).first()
            endereco = EnderecoModel(logradouro, numero, complemento, cidade,
                                     estado, cep, ponto_referencia)

            # Criação do Endereço.
            db.session.add(endereco)
            db.session.commit()

        except exc.SQLAlchemyError:
            current_app.logger.error("Exceção")
            return 500

        return marshal(endereco, endereco_campos), 201
예제 #2
0
    def delete(self, id):

        endereco = EnderecoModel.find_by_id_unique(id)
        if endereco:
            endereco.delete_from_db()
            return {'message': 'Endereco deleted.', 'st': '1'}, 201
        return {'message': 'Endereco not found.'}, 404
예제 #3
0
 def get(self, cep):
     endereco = EnderecoModel.find_by_name(cep)
     if endereco:
         return (endereco.json(), {
             'message': 'Dados do Endereco',
             'st': '1'
         }), 201
     return {'message': 'Endereco not found'}, 404
예제 #4
0
    def post(self, cep):
        #if EnderecoModel.find_by_name(cep):
        #return {'message': "An endereço with name '{}' already exists.".format(cep)}, 400

        data = Endereco.parser.parse_args()

        endereco = EnderecoModel(cep, **data)

        try:
            endereco.save_to_db()
        except:
            return {
                "message": "An error occurred inserting the endereco."
            }, 500

        return (endereco.json(), {
            'message': 'Dados do Endereco',
            'st': '1'
        }), 201
예제 #5
0
 def get(self):
     user_id = get_jwt_identity()
     enderecos = [
         endereco.json() for endereco in EnderecoModel.find_by_id(user_id)
     ]
     if user_id:
         return {'enderecos': enderecos, 'st': '1'}, 200
     return {
         'enderecos': [endereco['cep'] for endereco in enderecos],
         'message': 'More data available if you log in.'
     }, 200
예제 #6
0
    def put(self, id: int):
        data = EnderecoDelete.parser.parse_args()

        endereco = EnderecoModel.find_by_id_unique(id)

        if endereco:
            endereco.cep = data['cep']
            endereco.rua = data['rua']
            endereco.bairro = data['bairro']
            endereco.cidade = data['cidade']
            endereco.estado = data['estado']
            endereco.numero = data['numero']
            endereco.complemento = data['complemento']
        else:
            endereco = EnderecoModel(id, **data)

        endereco.save_to_db()

        return (endereco.json(), {
            'message': 'Dados do Endereco Alterado com sucesso',
            'st': '1'
        }), 201