def get(self, id): hotel = HotelModel.find(id) if hotel: return hotel.json(), 200 return {'message': 'Hotel not found.'}, 404
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)]}
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
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
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
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
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
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