Example #1
0
    def put(self, id):
        target = PlaceModel.find(id)
        if not target:
            response = {
                'error': "Given ID doesn't match any place in the database"
            }
            # not found
            return make_response(response, 404)
        request_dict = request.get_json()
        if not request_dict:
            response = {'error': 'No input data provided'}
            return make_response(response, 400)  # bad request
        errors = schema.validate(request_dict)
        if errors:
            return make_response(errors, 400)  # bad request

        try:
            place = PlaceModel(request_dict['nome'],
                               request_dict['endereco'],
                               id=id)
            target.delete()
            place.save()
            return self.get(id)
        except SQLAlchemyError as e:
            db.session.rollback()
            resp = jsonify({'error': str(e)})
            return make_response(resp, 500)  # internal server error
Example #2
0
 def delete(self, id):
     place = PlaceModel.find(id)
     if place:
         try:
             place.delete()
         except Exception as e:
             print(e)
             return {'message': 'An error ocurred trying to delete.'},
         return {'message': 'place deleted.'}, 204  # not found
     return {'message': 'place not found'}, 404
Example #3
0
 def post(self):
     request_dict = request.get_json()
     if not request_dict:
         response = {'places': 'No inpput data provided'}
         return make_response(response, 400)
     errors = schema.validate(request_dict)
     if errors:
         return make_response(errors, 400)  # bad request
     try:
         place = PlaceModel(
             request_dict['nome'],
             request_dict['endereco'],
         )
         place.save()
         query = PlaceModel.find(place.id)
         result = schema.dump(query)
         return make_response(jsonify(result), 201)  # created
     except SQLAlchemyError as e:
         db.session.rollback()
         resp = jsonify({'error': str(e)})
         return make_response(resp, 500)
Example #4
0
 def get(self, id):
     place = PlaceModel.find(id)
     if place:
         return schema.dump(place)
     return {'message': 'place not found'}, 404  # not found