try: data = json.loads(request.data) except: raise Api400Error("Supplied data was not valid JSON") # delegate to the API implementation ApplicationsCrudApi.update(application_id, data, current_user._get_current_object()) # respond with a suitable No Content successful response return no_content() @blueprint.route("/applications/<application_id>", methods=["DELETE"]) @api_key_required @write_required(api=True) @swag(swag_summary='Delete an application <span class="red">[Authenticated, not public]</span>', swag_spec=ApplicationsCrudApi.delete_swag()) # must be applied after @api_key_(optional|required) decorators. They don't preserve func attributes. def delete_application(application_id): ApplicationsCrudApi.delete(application_id, current_user._get_current_object()) return no_content() ######################################### # Article CRUD API @blueprint.route("/articles", methods=["POST"]) @api_key_required @write_required(api=True) @swag(swag_summary='Create an article <span class="red">[Authenticated, not public]</span>', swag_spec=ArticlesCrudApi.create_swag()) # must be applied after @api_key_(optional|required) decorators. They don't preserve func attributes. def create_article(): # get the data from the request try:
try: data = json.loads(request.data.decode("utf-8")) except: raise Api400Error("Supplied data was not valid JSON") # delegate to the API implementation ApplicationsCrudApi.update(application_id, data, current_user._get_current_object()) # respond with a suitable No Content successful response return no_content() @blueprint.route("/applications/<application_id>", methods=["DELETE"]) @api_key_required @write_required(api=True) @swag(swag_summary='Delete an application <span class="red">[Authenticated, not public]</span>', swag_spec=ApplicationsCrudApi.delete_swag()) # must be applied after @api_key_(optional|required) decorators. They don't preserve func attributes. @analytics.sends_ga_event(GA_CATEGORY, GA_ACTIONS.get('delete_application', 'Delete application'), record_value_of_which_arg='application_id') def delete_application(application_id): ApplicationsCrudApi.delete(application_id, current_user._get_current_object()) return no_content() ######################################### # Article CRUD API @blueprint.route("/articles", methods=["POST"]) @api_key_required @write_required(api=True) @swag(swag_summary='Create an article <span class="red">[Authenticated, not public]</span>', swag_spec=ArticlesCrudApi.create_swag()) # must be applied after @api_key_(optional|required) decorators. They don't preserve func attributes. @analytics.sends_ga_event(GA_CATEGORY, GA_ACTIONS.get('create_article', 'Create article')) def create_article():
# delegate to the API implementation ApplicationsCrudApi.update(application_id, data, current_user._get_current_object()) # respond with a suitable No Content successful response return no_content() @blueprint.route("/applications/<application_id>", methods=["DELETE"]) @api_key_required @write_required(api=True) @swag( swag_summary= 'Delete an application <span class="red">[Authenticated, not public]</span>', swag_spec=ApplicationsCrudApi.delete_swag() ) # must be applied after @api_key_(optional|required) decorators. They don't preserve func attributes. def delete_application(application_id): ApplicationsCrudApi.delete(application_id, current_user._get_current_object()) return no_content() ######################################### # Article CRUD API @blueprint.route("/articles", methods=["POST"]) @api_key_required @write_required(api=True) @swag(