Skip to content

Commit

Permalink
fix: Swagger documentation HTTP code display (#1129)
Browse files Browse the repository at this point in the history
  • Loading branch information
RiddhiAthreya authored Jul 10, 2021
1 parent d717c93 commit 2b294ca
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 56 deletions.
54 changes: 30 additions & 24 deletions app/api/resources/mentorship_relation.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,11 @@ class SendRequest(Resource):
@mentorship_relation_ns.doc("send_request")
@mentorship_relation_ns.expect(auth_header_parser, send_mentorship_request_body)
@mentorship_relation_ns.response(
HTTPStatus.CREATED, f"{messages.MENTORSHIP_RELATION_WAS_SENT_SUCCESSFULLY}"
HTTPStatus.CREATED.value,
f"{messages.MENTORSHIP_RELATION_WAS_SENT_SUCCESSFULLY}",
)
@mentorship_relation_ns.response(
HTTPStatus.BAD_REQUEST,
HTTPStatus.BAD_REQUEST.value,
f"{messages.MATCH_EITHER_MENTOR_OR_MENTEE}\n"
f"{messages.MENTOR_ID_SAME_AS_MENTEE_ID}\n"
f"{messages.END_TIME_BEFORE_PRESENT}\n"
Expand All @@ -47,13 +48,13 @@ class SendRequest(Resource):
f"{messages.NOTES_FIELD_IS_MISSING}",
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
)
@mentorship_relation_ns.response(
HTTPStatus.NOT_FOUND,
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTOR_DOES_NOT_EXIST}\n" f"{messages.MENTEE_DOES_NOT_EXIST}",
)
def post(cls):
Expand Down Expand Up @@ -136,7 +137,7 @@ class GetAllMyMentorshipRelation(Resource):
model=mentorship_request_response_body,
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
Expand Down Expand Up @@ -178,23 +179,24 @@ class AcceptMentorshipRelation(Resource):
@mentorship_relation_ns.doc("accept_mentorship_relation")
@mentorship_relation_ns.expect(auth_header_parser)
@mentorship_relation_ns.response(
HTTPStatus.OK, f"{messages.MENTORSHIP_RELATION_WAS_ACCEPTED_SUCCESSFULLY}"
HTTPStatus.OK.value, f"{messages.MENTORSHIP_RELATION_WAS_ACCEPTED_SUCCESSFULLY}"
)
@mentorship_relation_ns.response(
HTTPStatus.FORBIDDEN,
HTTPStatus.FORBIDDEN.value,
f"{messages.NOT_PENDING_STATE_RELATION}\n"
f"{messages.CANT_ACCEPT_MENTOR_REQ_SENT_BY_USER}\n"
f"{messages.CANT_ACCEPT_UNINVOLVED_MENTOR_RELATION}\n"
f"{messages.USER_IS_INVOLVED_IN_A_MENTORSHIP_RELATION}",
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
)
@mentorship_relation_ns.response(
HTTPStatus.NOT_FOUND, f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}"
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}",
)
def put(cls, request_id):
"""
Expand Down Expand Up @@ -227,22 +229,23 @@ class RejectMentorshipRelation(Resource):
@mentorship_relation_ns.doc("reject_mentorship_relation")
@mentorship_relation_ns.expect(auth_header_parser)
@mentorship_relation_ns.response(
HTTPStatus.OK, f"{messages.MENTORSHIP_RELATION_WAS_REJECTED_SUCCESSFULLY}"
HTTPStatus.OK.value, f"{messages.MENTORSHIP_RELATION_WAS_REJECTED_SUCCESSFULLY}"
)
@mentorship_relation_ns.response(
HTTPStatus.FORBIDDEN,
HTTPStatus.FORBIDDEN.value,
f"{messages.NOT_PENDING_STATE_RELATION}\n"
f"{messages.USER_CANT_REJECT_REQUEST_SENT_BY_USER}\n"
f"{messages.CANT_REJECT_UNINVOLVED_RELATION_REQUEST}",
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
)
@mentorship_relation_ns.response(
HTTPStatus.NOT_FOUND, f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}"
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}",
)
def put(cls, request_id):
"""
Expand Down Expand Up @@ -271,21 +274,23 @@ class CancelMentorshipRelation(Resource):
@mentorship_relation_ns.doc("cancel_mentorship_relation")
@mentorship_relation_ns.expect(auth_header_parser)
@mentorship_relation_ns.response(
HTTPStatus.OK, f"{messages.MENTORSHIP_RELATION_WAS_CANCELLED_SUCCESSFULLY}"
HTTPStatus.OK.value,
f"{messages.MENTORSHIP_RELATION_WAS_CANCELLED_SUCCESSFULLY}",
)
@mentorship_relation_ns.response(
HTTPStatus.FORBIDDEN,
HTTPStatus.FORBIDDEN.value,
f"{messages.UNACCEPTED_STATE_RELATION}\n"
f"{messages.CANT_CANCEL_UNINVOLVED_REQUEST}",
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
)
@mentorship_relation_ns.response(
HTTPStatus.NOT_FOUND, f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}"
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}",
)
def put(cls, request_id):
"""
Expand Down Expand Up @@ -314,21 +319,22 @@ class DeleteMentorshipRelation(Resource):
@mentorship_relation_ns.doc("delete_mentorship_relation")
@mentorship_relation_ns.expect(auth_header_parser)
@mentorship_relation_ns.response(
HTTPStatus.OK, f"{messages.MENTORSHIP_RELATION_WAS_DELETED_SUCCESSFULLY}"
HTTPStatus.OK.value, f"{messages.MENTORSHIP_RELATION_WAS_DELETED_SUCCESSFULLY}"
)
@mentorship_relation_ns.response(
HTTPStatus.FORBIDDEN,
HTTPStatus.FORBIDDEN.value,
f"{messages.NOT_PENDING_STATE_RELATION}\n"
f"{messages.CANT_DELETE_UNINVOLVED_REQUEST}",
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
)
@mentorship_relation_ns.response(
HTTPStatus.NOT_FOUND, f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}"
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTORSHIP_RELATION_REQUEST_DOES_NOT_EXIST}",
)
def delete(cls, request_id):
"""
Expand Down Expand Up @@ -362,7 +368,7 @@ class ListPastMentorshipRelations(Resource):
model=mentorship_request_response_body,
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
Expand Down Expand Up @@ -401,7 +407,7 @@ class ListCurrentMentorshipRelation(Resource):
model=mentorship_request_response_body,
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
Expand Down Expand Up @@ -446,7 +452,7 @@ class ListPendingMentorshipRequests(Resource):
description="Success",
)
@mentorship_relation_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
Expand Down
35 changes: 21 additions & 14 deletions app/api/resources/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,21 @@ class CreateTask(Resource):
@jwt_required
@task_ns.doc("create_task_in_mentorship_relation")
@task_ns.expect(auth_header_parser, create_task_request_body)
@task_ns.response(HTTPStatus.CREATED, f"{messages.TASK_WAS_CREATED_SUCCESSFULLY}")
@task_ns.response(HTTPStatus.FORBIDDEN, f"{messages.UNACCEPTED_STATE_RELATION}")
@task_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.CREATED.value, f"{messages.TASK_WAS_CREATED_SUCCESSFULLY}"
)
@task_ns.response(
HTTPStatus.FORBIDDEN.value, f"{messages.UNACCEPTED_STATE_RELATION}"
)
@task_ns.response(
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}",
)
@task_ns.response(
HTTPStatus.FORBIDDEN, f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}"
HTTPStatus.FORBIDDEN.value,
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
)
def post(cls, request_id):
"""
Expand Down Expand Up @@ -78,16 +83,16 @@ class DeleteTask(Resource):
@jwt_required
@task_ns.doc("delete_task_in_mentorship_relation")
@task_ns.expect(auth_header_parser)
@task_ns.response(HTTPStatus.OK, f"{messages.TASK_WAS_DELETED_SUCCESSFULLY}")
@task_ns.response(HTTPStatus.OK.value, f"{messages.TASK_WAS_DELETED_SUCCESSFULLY}")
@task_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}\n"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
)
@task_ns.response(
HTTPStatus.NOT_FOUND,
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}\n"
f"{messages.TASK_DOES_NOT_EXIST}",
)
Expand Down Expand Up @@ -123,19 +128,19 @@ class ListTasks(Resource):
@task_ns.doc("list_tasks_in_mentorship_relation")
@task_ns.expect(auth_header_parser)
@task_ns.response(
HTTPStatus.OK,
HTTPStatus.OK.value,
"List tasks from a mentorship relation with success.",
model=list_tasks_response_body,
)
@task_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}\n"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
)
@task_ns.response(
HTTPStatus.NOT_FOUND, f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}"
HTTPStatus.NOT_FOUND.value, f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}"
)
def get(cls, request_id):
"""
Expand Down Expand Up @@ -170,17 +175,19 @@ class UpdateTask(Resource):
@jwt_required
@task_ns.doc("update_task_in_mentorship_relation")
@task_ns.expect(auth_header_parser)
@task_ns.response(HTTPStatus.OK, f"{messages.TASK_WAS_ACHIEVED_SUCCESSFULLY}")
@task_ns.response(HTTPStatus.CONFLICT, f"{messages.TASK_WAS_ALREADY_ACHIEVED}")
@task_ns.response(HTTPStatus.OK.value, f"{messages.TASK_WAS_ACHIEVED_SUCCESSFULLY}")
@task_ns.response(
HTTPStatus.CONFLICT.value, f"{messages.TASK_WAS_ALREADY_ACHIEVED}"
)
@task_ns.response(
HTTPStatus.UNAUTHORIZED,
HTTPStatus.UNAUTHORIZED.value,
f"{messages.TOKEN_HAS_EXPIRED}\n"
f"{messages.TOKEN_IS_INVALID}\n"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}\n"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
)
@task_ns.response(
HTTPStatus.NOT_FOUND,
HTTPStatus.NOT_FOUND.value,
f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}\n{messages.TASK_DOES_NOT_EXIST}",
)
def put(cls, request_id, task_id):
Expand Down
34 changes: 17 additions & 17 deletions app/api/resources/task_comment.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ class CreateTaskComment(Resource):
@task_comment_ns.expect(auth_header_parser, task_comment_model)
@task_comment_ns.doc(
responses={
HTTPStatus.CREATED: f"{messages.TASK_COMMENT_WAS_CREATED_SUCCESSFULLY}",
HTTPStatus.BAD_REQUEST: f"{messages.COMMENT_FIELD_IS_MISSING}<br>"
HTTPStatus.CREATED.value: f"{messages.TASK_COMMENT_WAS_CREATED_SUCCESSFULLY}",
HTTPStatus.BAD_REQUEST.value: f"{messages.COMMENT_FIELD_IS_MISSING}<br>"
f"{messages.COMMENT_NOT_IN_STRING_FORMAT}<br>"
f"{{'message': get_length_validation_error_message('comment', None, COMMENT_MAX_LENGTH)}}<br>"
f"{messages.UNACCEPTED_STATE_RELATION}",
HTTPStatus.UNAUTHORIZED: f"{messages.TOKEN_HAS_EXPIRED}<br>"
HTTPStatus.UNAUTHORIZED.value: f"{messages.TOKEN_HAS_EXPIRED}<br>"
f"{messages.TOKEN_IS_INVALID}<br>"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}<br>"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
HTTPStatus.NOT_FOUND: f"{messages.USER_DOES_NOT_EXIST}<br>"
HTTPStatus.NOT_FOUND.value: f"{messages.USER_DOES_NOT_EXIST}<br>"
f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}<br>"
f"{messages.TASK_DOES_NOT_EXIST}",
}
Expand Down Expand Up @@ -65,17 +65,17 @@ class TaskComment(Resource):
@task_comment_ns.expect(auth_header_parser, task_comment_model)
@task_comment_ns.doc(
responses={
HTTPStatus.OK: f"{messages.TASK_COMMENT_WAS_UPDATED_SUCCESSFULLY}",
HTTPStatus.BAD_REQUEST: f"{messages.COMMENT_FIELD_IS_MISSING}<br>"
HTTPStatus.OK.value: f"{messages.TASK_COMMENT_WAS_UPDATED_SUCCESSFULLY}",
HTTPStatus.BAD_REQUEST.value: f"{messages.COMMENT_FIELD_IS_MISSING}<br>"
f"{messages.COMMENT_NOT_IN_STRING_FORMAT}<br>"
f"{{'message': get_length_validation_error_message('comment', None, COMMENT_MAX_LENGTH)}}<br>"
f"{messages.UNACCEPTED_STATE_RELATION}<br>"
f"{messages.TASK_COMMENT_WAS_NOT_CREATED_BY_YOU}",
HTTPStatus.UNAUTHORIZED: f"{messages.TOKEN_HAS_EXPIRED}<br>"
HTTPStatus.UNAUTHORIZED.value: f"{messages.TOKEN_HAS_EXPIRED}<br>"
f"{messages.TOKEN_IS_INVALID}<br>"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}<br>"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
HTTPStatus.NOT_FOUND: f"{messages.USER_DOES_NOT_EXIST}<br>"
HTTPStatus.NOT_FOUND.value: f"{messages.USER_DOES_NOT_EXIST}<br>"
f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}<br>"
f"{messages.TASK_DOES_NOT_EXIST}<br>"
f"{messages.TASK_COMMENT_DOES_NOT_EXIST}<br>"
Expand Down Expand Up @@ -103,14 +103,14 @@ def put(cls, relation_id, task_id, comment_id):
@task_comment_ns.expect(auth_header_parser)
@task_comment_ns.doc(
responses={
HTTPStatus.OK: f"{messages.TASK_COMMENT_WAS_DELETED_SUCCESSFULLY}",
HTTPStatus.BAD_REQUEST: f"{messages.UNACCEPTED_STATE_RELATION}",
HTTPStatus.UNAUTHORIZED: f"{messages.TOKEN_HAS_EXPIRED}<br>"
HTTPStatus.OK.value: f"{messages.TASK_COMMENT_WAS_DELETED_SUCCESSFULLY}",
HTTPStatus.BAD_REQUEST.value: f"{messages.UNACCEPTED_STATE_RELATION}",
HTTPStatus.UNAUTHORIZED.value: f"{messages.TOKEN_HAS_EXPIRED}<br>"
f"{messages.TOKEN_IS_INVALID}<br>"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}<br>"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
HTTPStatus.FORBIDDEN: f"{messages.TASK_COMMENT_WAS_NOT_CREATED_BY_YOU_DELETE}",
HTTPStatus.NOT_FOUND: f"{messages.USER_DOES_NOT_EXIST}<br>"
HTTPStatus.FORBIDDEN.value: f"{messages.TASK_COMMENT_WAS_NOT_CREATED_BY_YOU_DELETE}",
HTTPStatus.NOT_FOUND.value: f"{messages.USER_DOES_NOT_EXIST}<br>"
f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}<br>"
f"{messages.TASK_DOES_NOT_EXIST}<br>"
f"{messages.TASK_COMMENT_DOES_NOT_EXIST}<br>"
Expand All @@ -135,18 +135,18 @@ class TaskComments(Resource):
@jwt_required
@task_comment_ns.expect(auth_header_parser)
@task_comment_ns.response(
HTTPStatus.OK,
HTTPStatus.OK.value,
f"{messages.LIST_TASK_COMMENTS_WITH_SUCCESS}",
task_comments_model,
)
@task_comment_ns.doc(
responses={
HTTPStatus.BAD_REQUEST: f"{messages.UNACCEPTED_STATE_RELATION}",
HTTPStatus.UNAUTHORIZED: f"{messages.TOKEN_HAS_EXPIRED}<br>"
HTTPStatus.BAD_REQUEST.value: f"{messages.UNACCEPTED_STATE_RELATION}",
HTTPStatus.UNAUTHORIZED.value: f"{messages.TOKEN_HAS_EXPIRED}<br>"
f"{messages.TOKEN_IS_INVALID}<br>"
f"{messages.AUTHORISATION_TOKEN_IS_MISSING}<br>"
f"{messages.USER_NOT_INVOLVED_IN_THIS_MENTOR_RELATION}",
HTTPStatus.NOT_FOUND: f"{messages.USER_DOES_NOT_EXIST}<br>"
HTTPStatus.NOT_FOUND.value: f"{messages.USER_DOES_NOT_EXIST}<br>"
f"{messages.MENTORSHIP_RELATION_DOES_NOT_EXIST}<br>"
f"{messages.TASK_DOES_NOT_EXIST}",
}
Expand Down
2 changes: 1 addition & 1 deletion app/api/resources/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ class UserRegister(Resource):
f"{messages.PASSWORD_INPUT_BY_USER_HAS_INVALID_LENGTH}",
)
@users_ns.response(
HTTPStatus.CONFLICT,
HTTPStatus.CONFLICT.value,
f"{messages.USER_USES_A_USERNAME_THAT_ALREADY_EXISTS}\n"
f"{messages.USER_USES_AN_EMAIL_ID_THAT_ALREADY_EXISTS}",
)
Expand Down

0 comments on commit 2b294ca

Please sign in to comment.