Beispiel #1
0
    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})
Beispiel #2
0
 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)
Beispiel #3
0
    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})
Beispiel #4
0
    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))
Beispiel #5
0
    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()))
Beispiel #6
0
 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})