"""A generic view for handling POSTs.""" from flask.views import MethodView from owsresponse.adaptors.flask import flaskify from royalty_common.views.validations import validated_request_body class CreateView(MethodView): """A view for handling POSTs.""" def post(self, **kwargs): """Handle POST.""" processed_post_body = validated_request_body(schema=self.post_schema) return flaskify(self.create_handler(**processed_post_body, **kwargs)) def create_handler(self, **params): """Override this to specify creation logic.""" raise NotImplementedError('Override me with logic.')