1919from flask import Blueprint
2020from flask import request
2121
22- from app .blueprints .rest .endpoints import response_api_error , response_api_not_found , response_api_deleted
22+ from app .blueprints .rest .endpoints import response_api_error
23+ from app .blueprints .rest .endpoints import response_api_not_found
24+ from app .blueprints .rest .endpoints import response_api_deleted
25+ from app .blueprints .rest .endpoints import response_api_success
2326from app .blueprints .rest .endpoints import response_api_created
2427from app .blueprints .access_controls import ac_api_return_access_denied
2528from app .blueprints .access_controls import ac_api_requires
2629from app .schema .marshables import CaseTaskSchema
27- from app .business .errors import BusinessProcessingError , ObjectNotFoundError
28- from app .business .tasks import tasks_create , tasks_get , tasks_delete
30+ from app .business .errors import BusinessProcessingError
31+ from app .business .errors import ObjectNotFoundError
32+ from app .business .tasks import tasks_create
33+ from app .business .tasks import tasks_get
34+ from app .business .tasks import tasks_delete
2935from app .models .authorization import CaseAccessLevel
3036from app .iris_engine .access_control .utils import ac_fast_check_current_user_has_case_access
3137
3238case_tasks_blueprint = Blueprint ('case_tasks' ,
3339 __name__ ,
34- url_prefix = '/<int:case_id >/tasks' )
40+ url_prefix = '/<int:case_identifier >/tasks' )
3541
36- @case_tasks_blueprint .post ('' , strict_slashes = False )
42+ @case_tasks_blueprint .post ('' )
3743@ac_api_requires ()
38- def add_case_task (case_id ):
44+ def add_case_task (case_identifier ):
3945 """
4046 Add a task to a case.
4147
4248 Args:
43- case_id (int): The Case ID for this task
49+ case_identifier (int): The Case ID for this task
4450 """
45- if not ac_fast_check_current_user_has_case_access (case_id , [CaseAccessLevel .full_access ]):
46- return ac_api_return_access_denied (caseid = case_id )
51+ if not ac_fast_check_current_user_has_case_access (case_identifier , [CaseAccessLevel .full_access ]):
52+ return ac_api_return_access_denied (caseid = case_identifier )
4753
4854 task_schema = CaseTaskSchema ()
4955 try :
50- _ , case = tasks_create (case_id , request .get_json ())
56+ _ , case = tasks_create (case_identifier , request .get_json ())
5157 return response_api_created (task_schema .dump (case ))
5258 except BusinessProcessingError as e :
5359 return response_api_error (e .get_message ())
5460
5561
5662@case_tasks_blueprint .get ('/<int:identifier>' )
5763@ac_api_requires ()
58- def get_case_task (case_id , identifier ):
64+ def get_case_task (case_identifier , identifier ):
5965 """
6066 Handles getting a task from a case.
6167
6268 Args:
63- case_id (int): The case ID
69+ case_identifier (int): The case ID
6470 identifier (int): The task ID
6571 """
6672
6773 try :
6874 task = tasks_get (identifier )
6975
70- if task .task_case_id != case_id :
76+ if task .task_case_id != case_identifier :
7177 raise ObjectNotFoundError ()
7278
7379 if not ac_fast_check_current_user_has_case_access (task .task_case_id , [CaseAccessLevel .read_only , CaseAccessLevel .full_access ]):
7480 return ac_api_return_access_denied (caseid = task .task_case_id )
7581
7682 task_schema = CaseTaskSchema ()
77- return response_api_created (task_schema .dump (task ))
83+ return response_api_success (task_schema .dump (task ))
7884 except ObjectNotFoundError :
7985 return response_api_not_found ()
8086
8187
8288@case_tasks_blueprint .delete ('/<int:identifier>' )
8389@ac_api_requires ()
84- def delete_case_task (case_id , identifier ):
90+ def delete_case_task (case_identifier , identifier ):
8591 """
8692 Handle deleting a task from a case
8793
8894 Args:
89- case_id (int): The case ID
95+ case_identifier (int): The case ID
9096 identifier (int): The task ID
9197 """
9298
9399 try :
94100 task = tasks_get (identifier )
95101
96- if task .task_case_id != case_id :
102+ if task .task_case_id != case_identifier :
97103 raise ObjectNotFoundError ()
98104
99105 if not ac_fast_check_current_user_has_case_access (task .task_case_id , [CaseAccessLevel .full_access ]):
@@ -107,4 +113,4 @@ def delete_case_task(case_id, identifier):
107113 return response_api_error (e .get_message ())
108114
109115
110- # TODO: Add task endpoint endpoint
116+ # TODO: Add task update endpoint
0 commit comments