Пример #1
0
    def get(self, id):
        hotel = HotelModel.find(id)

        if hotel:
            return hotel.json(), 200

        return {'message': 'Hotel not found.'}, 404
Пример #2
0
    def get(self):
        dados = path_params.parse_args()
        dados_validos = {chave: dados[chave] for chave in dados if dados[chave] is not None}
        params = normalize_path_params(**dados_validos)

        # return {'hoteis': [hotel.json() for hotel in HotelModel.query.all()]} #old way
        return {'hoteis': [hotel for hotel in HotelModel.find(**params)]}
Пример #3
0
 def delete(self, hotel_id):
     hotel = HotelModel.find(hotel_id)
     if hotel:
         try:
             hotel.delete()
         except:
             return {
                 'message':
                 'An internal error occurred trying to delete hotel.'
             }, 500
         return {'message': 'Hotel deleted.'}, 200
     return {'message': 'Hotel not found.'}, 404
Пример #4
0
    def delete(self, id):
        hotel_encontrado = HotelModel.find(id)
        if hotel_encontrado:
            try:
                hotel_encontrado.delete()
                return {'message': 'Hotel deleted.'}, 200
            except:
                return {
                    'message':
                    'An internal error ocurred trying to delete "hotel".'
                }, 500

        return {'message': 'Hotel not found.'}, 404
Пример #5
0
 def put(self, hotel_id):
     dados = Hotel.argumentos.parse_args()
     hotel_encontrado = HotelModel.find(hotel_id)
     if hotel_encontrado:
         hotel_encontrado.update(**dados)
         hotel_encontrado.save()
         return hotel_encontrado.json(), 200
     hotel = HotelModel(hotel_id, **dados)
     try:
         hotel.save()
     except:
         return {
             'message': 'An internal error occurred trying to save hotel.'
         }, 500
     return hotel.json(), 201
Пример #6
0
 def post(self, hotel_id):
     if HotelModel.find(hotel_id):
         return {"message": "Id '{}' already exists.".format(hotel_id)}, 400
     dados = Hotel.argumentos.parse_args()
     hotel = HotelModel(hotel_id, **dados)
     if not SiteModel.find_id(dados.get('site_id')):
         return {
             'message':
             'The hotel must to be associated to a valid site id.'
         }, 400
     try:
         hotel.save()
     except:
         return {
             'message': 'An internal error occurred trying to save hotel.'
         }, 500
     return hotel.json(), 200
Пример #7
0
    def put(self, id):
        hotel_encontrado = HotelModel.find(id)
        dados = Hotel.argumentos.parse_args()
        try:
            if hotel_encontrado:
                hotel_encontrado.update(**dados)
                return hotel_encontrado.json(), 200

            novo_hotel = HotelModel(id, **dados)
            novo_hotel.save()
        except Exception as e:
            print(e)
            return {
                "message":
                "An internal error ocurred trying to update 'hotel'."
            }, 500

        return novo_hotel.json(), 201
Пример #8
0
    def post(seidlf, id):
        if HotelModel.find(id):
            return {"message": "Hotel id '{}' already exists.".format(id)}, 400

        dados = Hotel.argumentos.parse_args()
        novo_hotel = HotelModel(
            id, **dados
        )  #implementando o **kwargs, distribuindo as propriedades de chave e valor pelo objeto

        if not SiteModel.find_by_id(novo_hotel.site_id):
            return {
                "message":
                "Site id '{}' not exists.".format(novo_hotel.site_id)
            }, 400

        try:
            novo_hotel.save()
        except Exception as e:
            return {
                "message": "An internal error ocurred trying to save 'hotel'."
            }, 500

        return novo_hotel.json(), 201