33from rest_framework .response import Response
44from rest_framework import status
55from rest_framework .request import Request
6- from rest_framework .exceptions import AuthenticationFailed , ValidationError
6+ from rest_framework .exceptions import ValidationError
77from django .conf import settings
88from drf_spectacular .utils import extend_schema , OpenApiParameter , OpenApiResponse
99from drf_spectacular .types import OpenApiTypes
10- from todo .middlewares .jwt_auth import get_current_user_info
1110from todo .serializers .get_tasks_serializer import GetTaskQueryParamsSerializer
1211from todo .serializers .create_task_serializer import CreateTaskSerializer
1312from todo .serializers .update_task_serializer import UpdateTaskSerializer
@@ -78,22 +77,18 @@ def get(self, request: Request):
7877 query = GetTaskQueryParamsSerializer (data = request .query_params )
7978 query .is_valid (raise_exception = True )
8079 if query .validated_data ["profile" ]:
81- user = get_current_user_info (request )
82- if not user :
83- raise AuthenticationFailed (ApiErrors .AUTHENTICATION_FAILED )
8480 status_filter = query .validated_data .get ("status" , "" ).upper ()
8581 response = TaskService .get_tasks_for_user (
86- user_id = user [ " user_id" ] ,
82+ user_id = request . user_id ,
8783 page = query .validated_data ["page" ],
8884 limit = query .validated_data ["limit" ],
8985 status_filter = status_filter ,
9086 )
9187 return Response (data = response .model_dump (mode = "json" ), status = status .HTTP_200_OK )
9288
93- user = get_current_user_info (request )
9489 if query .validated_data ["profile" ]:
9590 response = TaskService .get_tasks_for_user (
96- user_id = user [ " user_id" ] ,
91+ user_id = request . user_id ,
9792 page = query .validated_data ["page" ],
9893 limit = query .validated_data ["limit" ],
9994 )
@@ -109,7 +104,7 @@ def get(self, request: Request):
109104 limit = query .validated_data ["limit" ],
110105 sort_by = query .validated_data ["sort_by" ],
111106 order = query .validated_data .get ("order" ),
112- user_id = user [ " user_id" ] ,
107+ user_id = request . user_id ,
113108 team_id = team_id ,
114109 status_filter = status_filter ,
115110 )
@@ -137,15 +132,13 @@ def post(self, request: Request):
137132 Returns:
138133 Response: HTTP response with created task data or error details
139134 """
140- user = get_current_user_info (request )
141-
142135 serializer = CreateTaskSerializer (data = request .data )
143136
144137 if not serializer .is_valid ():
145138 return self ._handle_validation_errors (serializer .errors )
146139
147140 try :
148- dto = CreateTaskDTO (** serializer .validated_data , createdBy = user [ " user_id" ] )
141+ dto = CreateTaskDTO (** serializer .validated_data , createdBy = request . user_id )
149142 response : CreateTaskResponse = TaskService .create_task (dto )
150143
151144 return Response (data = response .model_dump (mode = "json" ), status = status .HTTP_201_CREATED )
@@ -245,9 +238,8 @@ def get(self, request: Request, task_id: str):
245238 },
246239 )
247240 def delete (self , request : Request , task_id : str ):
248- user = get_current_user_info (request )
249241 task_id = ObjectId (task_id )
250- TaskService .delete_task (task_id , user [ " user_id" ] )
242+ TaskService .delete_task (task_id , request . user_id )
251243 return Response (status = status .HTTP_204_NO_CONTENT )
252244
253245 @extend_schema (
@@ -283,16 +275,14 @@ def patch(self, request: Request, task_id: str):
283275 Can also be used to defer a task by using ?action=defer query parameter.
284276 """
285277 action = request .query_params .get ("action" , "update" )
286- user = get_current_user_info (request )
287-
288278 if action == "defer" :
289279 serializer = DeferTaskSerializer (data = request .data )
290280 serializer .is_valid (raise_exception = True )
291281
292282 updated_task_dto = TaskService .defer_task (
293283 task_id = task_id ,
294284 deferred_till = serializer .validated_data ["deferredTill" ],
295- user_id = user [ " user_id" ] ,
285+ user_id = request . user_id ,
296286 )
297287 elif action == "update" :
298288 serializer = UpdateTaskSerializer (data = request .data , partial = True )
@@ -302,7 +292,7 @@ def patch(self, request: Request, task_id: str):
302292 updated_task_dto = TaskService .update_task (
303293 task_id = task_id ,
304294 validated_data = serializer .validated_data ,
305- user_id = user [ " user_id" ] ,
295+ user_id = request . user_id ,
306296 )
307297 else :
308298 raise ValidationError ({"action" : ValidationErrors .UNSUPPORTED_ACTION .format (action )})
@@ -338,10 +328,6 @@ def patch(self, request: Request, task_id: str):
338328 Update both task details and assignee information in a single request.
339329 Similar to task creation but for updates.
340330 """
341- user = get_current_user_info (request )
342- if not user :
343- raise AuthenticationFailed (ApiErrors .AUTHENTICATION_FAILED )
344-
345331 serializer = UpdateTaskSerializer (data = request .data , partial = True )
346332
347333 if not serializer .is_valid ():
@@ -350,7 +336,7 @@ def patch(self, request: Request, task_id: str):
350336 try :
351337 # Update the task using the service with validated data
352338 updated_task_dto = TaskService .update_task_with_assignee_from_dict (
353- task_id = task_id , validated_data = serializer .validated_data , user_id = user [ " user_id" ]
339+ task_id = task_id , validated_data = serializer .validated_data , user_id = request . user_id
354340 )
355341
356342 return Response (data = updated_task_dto .model_dump (mode = "json" ), status = status .HTTP_200_OK )
@@ -429,10 +415,6 @@ class AssignTaskToUserView(APIView):
429415 },
430416 )
431417 def patch (self , request : Request , task_id : str ):
432- user = get_current_user_info (request )
433- if not user :
434- raise AuthenticationFailed (ApiErrors .AUTHENTICATION_FAILED )
435-
436418 serializer = AssignTaskToUserSerializer (data = request .data )
437419 if not serializer .is_valid ():
438420 return Response (data = {"errors" : serializer .errors }, status = status .HTTP_400_BAD_REQUEST )
@@ -441,7 +423,7 @@ def patch(self, request: Request, task_id: str):
441423 dto = CreateTaskAssignmentDTO (
442424 task_id = task_id , assignee_id = serializer .validated_data ["assignee_id" ], user_type = "user"
443425 )
444- response : CreateTaskAssignmentResponse = TaskAssignmentService .create_task_assignment (dto , user [ " user_id" ] )
426+ response : CreateTaskAssignmentResponse = TaskAssignmentService .create_task_assignment (dto , request . user_id )
445427 return Response (data = response .model_dump (mode = "json" ), status = status .HTTP_200_OK )
446428 except Exception as e :
447429 error_response = ApiErrorResponse (
0 commit comments