示例#1
0
    def get(self, hotel_id):

        hotel = HotelModel.findHotel(hotel_id)
        if hotel:
            return jsonify({'hotel': hotel.json()})

        return make_response(jsonify({'message': 'Hotel not found'}),
                             404)  # not found
示例#2
0
    def delete(self, hotel_id):

        hotel = HotelModel.findHotel(hotel_id)
        if hotel is not None:
            try:
                hotel.delete_hotel()
            except:
                return {"message": "An error ocurred trying to delete"}
            return make_response(jsonify({"message": "Hotel deleted."}), 202)

        return make_response(jsonify({"message": "Hotel deleted."}), 404)
示例#3
0
    def put(self, hotel_id):

        dados = Hotel.arguments.parse_args()

        hotel_encontrado = HotelModel.findHotel(hotel_id)
        if hotel_encontrado:
            hotel_encontrado.update_hotel(**dados)
            hotel_encontrado.save_hotel()
            return hotel_encontrado.json(), 201

        hotel = HotelModel(hotel_id, **dados)
        hotel.save_hotel()
        return make_response(hotel.json(), 200)
示例#4
0
    def post(self, hotel_id):

        if HotelModel.findHotel(hotel_id):
            return make_response(
                jsonify({'message': f"Hotel id {hotel_id} already existis"}),
                400)

        dados = Hotel.arguments.parse_args()
        hotel = HotelModel(hotel_id, **dados)

        if not SiteModel.findSiteById(dados.get('site_id')):
            return make_response(
                jsonify({
                    'message':
                    'The hotel must be associated to a valid site id.'
                }), 400)

        try:
            hotel.save_hotel()
        except:
            return {
                "message": "An internal error ocurred trying to save hotel."
            }, 500  # Internal Server Error
        return make_response(hotel.json(), 200)