Skip to content

Commit 9d96414

Browse files
committed
Add query_params status and due_date
1 parent ce94544 commit 9d96414

8 files changed

Lines changed: 28 additions & 2 deletions

File tree

194 Bytes
Binary file not shown.

task_manager/settings.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212

1313
from pathlib import Path
1414
from dotenv import load_dotenv
15+
from datetime import timedelta
1516
import os
1617
import environ
18+
1719
env = environ.Env(DEBUG=(bool, False))
1820
environ.Env.read_env()
1921

@@ -145,3 +147,8 @@
145147
'rest_framework_simplejwt.authentication.JWTAuthentication',
146148
),
147149
}
150+
151+
SIMPLE_JWT = {
152+
'ACCESS_TOKEN_LIFETIME': timedelta(hours=1),
153+
'REFRESH_TOKEN_LIFETIME': timedelta(days=7)
154+
}
186 Bytes
Binary file not shown.
37 Bytes
Binary file not shown.
931 Bytes
Binary file not shown.

tasks/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ class Tasks(models.Model):
1919
category = models.CharField(max_length=100,blank=True)
2020
owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name='tasks')
2121

22+
def __str__(self):
23+
return f"{self.task} ({self.status})"

tasks/serializers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ class Task_Serializer(serializers.ModelSerializer):
66
class Meta:
77
model = Tasks
88
fields = "__all__"
9+
read_only_fields = ("owner",)
910

1011

tasks/views.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from rest_framework import generics
22
from .serializers import Task_Serializer
33
from rest_framework.permissions import IsAuthenticated
4+
from django.utils.dateparse import parse_date
45
from .models import Tasks
56

67

@@ -9,16 +10,31 @@ class TaskListView(generics.ListAPIView):
910
permission_classes = [IsAuthenticated]
1011

1112
def get_queryset(self):
12-
return Tasks.objects.filter(owner=self.request.user)
13+
query_set = Tasks.objects.filter(owner=self.request.user)
14+
status = self.request.query_params.get('status')
15+
due_date = self.request.query_params.get('due_date')
16+
17+
if status:
18+
query_set = query_set.filter(status=status)
19+
20+
if due_date:
21+
date = parse_date(due_date)
22+
if date:
23+
query_set = query_set.filter(due_date=date)
24+
return query_set
25+
1326

1427
class TaskCreateView(generics.CreateAPIView):
1528
serializer_class = Task_Serializer
1629
permission_classes = [IsAuthenticated]
1730

1831
def get_queryset(self):
1932
return Tasks.objects.filter(owner=self.request.user)
33+
34+
def perform_create(self, serializer):
35+
return serializer.save(owner=self.request.user)
2036

21-
class TaskUpdateDeleteView(generics.RetrieveDestroyAPIView):
37+
class TaskUpdateDeleteView(generics.RetrieveUpdateDestroyAPIView):
2238
serializer_class = Task_Serializer
2339
permission_classes = [IsAuthenticated]
2440

0 commit comments

Comments
 (0)