def delete(self, hotel_id): hotel = HotelModel.encontrar_hotel(hotel_id) if hotel: try: hotel.remover_hotel() except: return {'message': 'Ocorreu um erro ao remover o hotel.'}, 500 return {'message': f'Removido hotel com o id {hotel_id}.'} return {'message': f'Hotel com id {hotel_id} não encontrado.'}, 404
def put(self, hotel_id): dados = Hotel.atributos.parse_args() hotel_encontrado = HotelModel.encontrar_hotel(hotel_id) if hotel_encontrado: hotel_encontrado.atualizar_hotel(**dados) hotel_encontrado.salvar_hotel() return hotel_encontrado.json(), 200 hotel = HotelModel(hotel_id, **dados) try: hotel.salvar_hotel() except: return {'message': 'Ocorreu um erro ao salvar o hotel.'}, 500 return hotel.json(), 201
def post(self, hotel_id): if HotelModel.encontrar_hotel(hotel_id): return {'message': f'Hotel com id {hotel_id} não encontrado.'}, 400 dados = Hotel.atributos.parse_args() hotel = HotelModel(hotel_id, **dados) if not SiteModel.encontrar_por_id(dados['site_id']): return { 'message': 'O hotel precisa estar associado a um site id.' }, 400 try: hotel.salvar_hotel() except: return {'message': 'Ocorreu um erro ao salvar o hotel.'}, 500 return hotel.json(), 201
def get(self, hotel_id): hotel = HotelModel.encontrar_hotel(hotel_id) if hotel: return hotel.json() return {'message': 'Hotel não encontrado.'}, 404