| @@ -100,7 +100,7 @@ class AnnotationReplyActionStatusApi(Resource): | |||
| return {"job_id": job_id, "job_status": job_status, "error_msg": error_msg}, 200 | |||
| class AnnotationListApi(Resource): | |||
| class AnnotationApi(Resource): | |||
| @setup_required | |||
| @login_required | |||
| @account_initialization_required | |||
| @@ -123,6 +123,23 @@ class AnnotationListApi(Resource): | |||
| } | |||
| return response, 200 | |||
| @setup_required | |||
| @login_required | |||
| @account_initialization_required | |||
| @cloud_edition_billing_resource_check("annotation") | |||
| @marshal_with(annotation_fields) | |||
| def post(self, app_id): | |||
| if not current_user.is_editor: | |||
| raise Forbidden() | |||
| app_id = str(app_id) | |||
| parser = reqparse.RequestParser() | |||
| parser.add_argument("question", required=True, type=str, location="json") | |||
| parser.add_argument("answer", required=True, type=str, location="json") | |||
| args = parser.parse_args() | |||
| annotation = AppAnnotationService.insert_app_annotation_directly(args, app_id) | |||
| return annotation | |||
| @setup_required | |||
| @login_required | |||
| @account_initialization_required | |||
| @@ -166,25 +183,6 @@ class AnnotationExportApi(Resource): | |||
| return response, 200 | |||
| class AnnotationCreateApi(Resource): | |||
| @setup_required | |||
| @login_required | |||
| @account_initialization_required | |||
| @cloud_edition_billing_resource_check("annotation") | |||
| @marshal_with(annotation_fields) | |||
| def post(self, app_id): | |||
| if not current_user.is_editor: | |||
| raise Forbidden() | |||
| app_id = str(app_id) | |||
| parser = reqparse.RequestParser() | |||
| parser.add_argument("question", required=True, type=str, location="json") | |||
| parser.add_argument("answer", required=True, type=str, location="json") | |||
| args = parser.parse_args() | |||
| annotation = AppAnnotationService.insert_app_annotation_directly(args, app_id) | |||
| return annotation | |||
| class AnnotationUpdateDeleteApi(Resource): | |||
| @setup_required | |||
| @login_required | |||
| @@ -293,9 +291,8 @@ api.add_resource(AnnotationReplyActionApi, "/apps/<uuid:app_id>/annotation-reply | |||
| api.add_resource( | |||
| AnnotationReplyActionStatusApi, "/apps/<uuid:app_id>/annotation-reply/<string:action>/status/<uuid:job_id>" | |||
| ) | |||
| api.add_resource(AnnotationListApi, "/apps/<uuid:app_id>/annotations") | |||
| api.add_resource(AnnotationApi, "/apps/<uuid:app_id>/annotations") | |||
| api.add_resource(AnnotationExportApi, "/apps/<uuid:app_id>/annotations/export") | |||
| api.add_resource(AnnotationCreateApi, "/apps/<uuid:app_id>/annotations") | |||
| api.add_resource(AnnotationUpdateDeleteApi, "/apps/<uuid:app_id>/annotations/<uuid:annotation_id>") | |||
| api.add_resource(AnnotationBatchImportApi, "/apps/<uuid:app_id>/annotations/batch-import") | |||
| api.add_resource(AnnotationBatchImportStatusApi, "/apps/<uuid:app_id>/annotations/batch-import-status/<uuid:job_id>") | |||