3
3
from rest_framework .response import Response
4
4
from rest_framework import status
5
5
from rest_framework .request import Request
6
- from rest_framework .exceptions import AuthenticationFailed , ValidationError
6
+ from rest_framework .exceptions import ValidationError
7
7
from django .conf import settings
8
8
from drf_spectacular .utils import extend_schema , OpenApiParameter , OpenApiResponse
9
9
from drf_spectacular .types import OpenApiTypes
10
- from todo .middlewares .jwt_auth import get_current_user_info
11
10
from todo .serializers .get_tasks_serializer import GetTaskQueryParamsSerializer
12
11
from todo .serializers .create_task_serializer import CreateTaskSerializer
13
12
from todo .serializers .update_task_serializer import UpdateTaskSerializer
@@ -78,22 +77,18 @@ def get(self, request: Request):
78
77
query = GetTaskQueryParamsSerializer (data = request .query_params )
79
78
query .is_valid (raise_exception = True )
80
79
if query .validated_data ["profile" ]:
81
- user = get_current_user_info (request )
82
- if not user :
83
- raise AuthenticationFailed (ApiErrors .AUTHENTICATION_FAILED )
84
80
status_filter = query .validated_data .get ("status" , "" ).upper ()
85
81
response = TaskService .get_tasks_for_user (
86
- user_id = user [ " user_id" ] ,
82
+ user_id = request . user_id ,
87
83
page = query .validated_data ["page" ],
88
84
limit = query .validated_data ["limit" ],
89
85
status_filter = status_filter ,
90
86
)
91
87
return Response (data = response .model_dump (mode = "json" ), status = status .HTTP_200_OK )
92
88
93
- user = get_current_user_info (request )
94
89
if query .validated_data ["profile" ]:
95
90
response = TaskService .get_tasks_for_user (
96
- user_id = user [ " user_id" ] ,
91
+ user_id = request . user_id ,
97
92
page = query .validated_data ["page" ],
98
93
limit = query .validated_data ["limit" ],
99
94
)
@@ -109,7 +104,7 @@ def get(self, request: Request):
109
104
limit = query .validated_data ["limit" ],
110
105
sort_by = query .validated_data ["sort_by" ],
111
106
order = query .validated_data .get ("order" ),
112
- user_id = user [ " user_id" ] ,
107
+ user_id = request . user_id ,
113
108
team_id = team_id ,
114
109
status_filter = status_filter ,
115
110
)
@@ -137,15 +132,13 @@ def post(self, request: Request):
137
132
Returns:
138
133
Response: HTTP response with created task data or error details
139
134
"""
140
- user = get_current_user_info (request )
141
-
142
135
serializer = CreateTaskSerializer (data = request .data )
143
136
144
137
if not serializer .is_valid ():
145
138
return self ._handle_validation_errors (serializer .errors )
146
139
147
140
try :
148
- dto = CreateTaskDTO (** serializer .validated_data , createdBy = user [ " user_id" ] )
141
+ dto = CreateTaskDTO (** serializer .validated_data , createdBy = request . user_id )
149
142
response : CreateTaskResponse = TaskService .create_task (dto )
150
143
151
144
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):
245
238
},
246
239
)
247
240
def delete (self , request : Request , task_id : str ):
248
- user = get_current_user_info (request )
249
241
task_id = ObjectId (task_id )
250
- TaskService .delete_task (task_id , user [ " user_id" ] )
242
+ TaskService .delete_task (task_id , request . user_id )
251
243
return Response (status = status .HTTP_204_NO_CONTENT )
252
244
253
245
@extend_schema (
@@ -283,16 +275,14 @@ def patch(self, request: Request, task_id: str):
283
275
Can also be used to defer a task by using ?action=defer query parameter.
284
276
"""
285
277
action = request .query_params .get ("action" , "update" )
286
- user = get_current_user_info (request )
287
-
288
278
if action == "defer" :
289
279
serializer = DeferTaskSerializer (data = request .data )
290
280
serializer .is_valid (raise_exception = True )
291
281
292
282
updated_task_dto = TaskService .defer_task (
293
283
task_id = task_id ,
294
284
deferred_till = serializer .validated_data ["deferredTill" ],
295
- user_id = user [ " user_id" ] ,
285
+ user_id = request . user_id ,
296
286
)
297
287
elif action == "update" :
298
288
serializer = UpdateTaskSerializer (data = request .data , partial = True )
@@ -302,7 +292,7 @@ def patch(self, request: Request, task_id: str):
302
292
updated_task_dto = TaskService .update_task (
303
293
task_id = task_id ,
304
294
validated_data = serializer .validated_data ,
305
- user_id = user [ " user_id" ] ,
295
+ user_id = request . user_id ,
306
296
)
307
297
else :
308
298
raise ValidationError ({"action" : ValidationErrors .UNSUPPORTED_ACTION .format (action )})
@@ -338,10 +328,6 @@ def patch(self, request: Request, task_id: str):
338
328
Update both task details and assignee information in a single request.
339
329
Similar to task creation but for updates.
340
330
"""
341
- user = get_current_user_info (request )
342
- if not user :
343
- raise AuthenticationFailed (ApiErrors .AUTHENTICATION_FAILED )
344
-
345
331
serializer = UpdateTaskSerializer (data = request .data , partial = True )
346
332
347
333
if not serializer .is_valid ():
@@ -350,7 +336,7 @@ def patch(self, request: Request, task_id: str):
350
336
try :
351
337
# Update the task using the service with validated data
352
338
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
354
340
)
355
341
356
342
return Response (data = updated_task_dto .model_dump (mode = "json" ), status = status .HTTP_200_OK )
@@ -429,10 +415,6 @@ class AssignTaskToUserView(APIView):
429
415
},
430
416
)
431
417
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
-
436
418
serializer = AssignTaskToUserSerializer (data = request .data )
437
419
if not serializer .is_valid ():
438
420
return Response (data = {"errors" : serializer .errors }, status = status .HTTP_400_BAD_REQUEST )
@@ -441,7 +423,7 @@ def patch(self, request: Request, task_id: str):
441
423
dto = CreateTaskAssignmentDTO (
442
424
task_id = task_id , assignee_id = serializer .validated_data ["assignee_id" ], user_type = "user"
443
425
)
444
- response : CreateTaskAssignmentResponse = TaskAssignmentService .create_task_assignment (dto , user [ " user_id" ] )
426
+ response : CreateTaskAssignmentResponse = TaskAssignmentService .create_task_assignment (dto , request . user_id )
445
427
return Response (data = response .model_dump (mode = "json" ), status = status .HTTP_200_OK )
446
428
except Exception as e :
447
429
error_response = ApiErrorResponse (
0 commit comments