def get(self, meal_id): if meal_id: meal = db_session.query(Meal).get(meal_id) if meal: return jsonify(_parse_meal(meal)) else: return make_response( jsonify({ 'type': 'error', 'text': 'not found' }), 404) meals = Pagination(Meal, **request.args).items() meals[:] = [_parse_meal(meal) for meal in meals] return jsonify({'meals': meals})
def delete(self, meal_id): meal = db_session.query(Meal).get(meal_id) if meal: db_session.delete(meal) db_session.commit() return jsonify(_parse_meal(meal, detailed=False)) return make_response(jsonify({ 'type': 'error', 'text': 'not found' }), 404)
def dispatch_request(self): grouped_meals = [] meals = [ _parse_meal(meal, order_date=str(date)) for day_meals, date in self.run_week() for meal in day_meals ] for key, group in itertools.groupby(meals, lambda x: x['order_date']): grouped_meals.append(list(group)) return jsonify({'days': grouped_meals})
def post(self): new_meal = Meal(title=self.json.get('title'), description=self.json.get('description'), category=self.json.get('category'), day_linked=self.json.get('day_linked'), source_price=self.json.get('source_price'), price=self.json.get('price'), enabled=self.json.get('enabled')) db_session.add(new_meal) db_session.commit() return jsonify(_parse_meal(new_meal))
def put(self, meal_id): json_dict = { 'title': self.json.get('title'), 'description': self.json.get('description'), 'category': self.json.get('category'), 'day_linked': self.json.get('day_linked'), 'enabled': self.json.get('enabled'), 'source_price': self.json.get('source_price'), 'price': self.json.get('price') } json_dict.update({'timestamp_modified': datetime.datetime.utcnow()}) update_meal = db_session.query(Meal).filter_by(id=meal_id) update_meal.update(json_dict) db_session.commit() return jsonify(_parse_meal(update_meal.first()))
def dispatch_request(self): meals = [ _parse_meal(meal, order_date=str(date)) for day_meals, date in self.run_week() for meal in day_meals ] return jsonify({'meals': meals})