2022-02-13 20:38:02 +01:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
from flask_restful import Resource
|
|
|
|
from flask import request, current_app, abort
|
|
|
|
from marshmallow import ValidationError
|
|
|
|
|
2022-02-13 20:52:51 +01:00
|
|
|
from model import db, Meal
|
|
|
|
from schemas import MealSchema
|
2022-02-13 20:38:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
class MealBaseResource(Resource):
|
|
|
|
|
|
|
|
mealschema = MealSchema(many=False)
|
|
|
|
mealschemas = MealSchema(many=True)
|
|
|
|
|
|
|
|
def post(self):
|
|
|
|
body = request.get_json()
|
|
|
|
|
|
|
|
try:
|
2022-02-13 21:43:12 +01:00
|
|
|
self.mealschema.load(body, session=db.session)
|
2022-02-13 21:48:03 +01:00
|
|
|
db.session.commit()
|
2022-02-13 20:38:02 +01:00
|
|
|
return '', 204
|
2022-02-13 21:25:37 +01:00
|
|
|
except ValidationError as error:
|
|
|
|
abort(406, error.messages)
|
2022-02-13 20:38:02 +01:00
|
|
|
|
|
|
|
def get(self):
|
|
|
|
meals = Meal.query.all()
|
|
|
|
return self.mealschemas.dump(list(meals)), 200
|