Skip to content

Commit

Permalink
extracted fields to a variable
Browse files Browse the repository at this point in the history
  • Loading branch information
Uttkarsh-raj committed Jul 11, 2024
1 parent 9ce86cc commit e717ea3
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 27 deletions.
52 changes: 25 additions & 27 deletions website/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -472,41 +472,33 @@ def post(self, request, *args, **kwargs):
class BugHuntApiViewset(APIView):
permission_classes = [AllowAny]

def get_active_hunts(self, request, *args, **kwargs):
def get_active_hunts(self, request, fields, *args, **kwargs):
hunts = (
Hunt.objects.values(
"id", "name", "url", "prize", "logo", "banner", "description", "starts_on", "end_on"
)
Hunt.objects.values(*fields)
.filter(is_published=True, starts_on__lte=datetime.now(), end_on__gte=datetime.now())
.order_by("-prize")
)
return Response(hunts)

def get_previous_hunts(self, request, *args, **kwargs):
def get_previous_hunts(self, request, fields, *args, **kwargs):
hunts = (
Hunt.objects.values(
"id", "name", "url", "prize", "logo", "banner", "description", "starts_on", "end_on"
)
Hunt.objects.values(*fields)
.filter(is_published=True, end_on__lte=datetime.now())
.order_by("-end_on")
)
return Response(hunts)

def get_upcoming_hunts(self, request, *args, **kwargs):
def get_upcoming_hunts(self, request, fields, *args, **kwargs):
hunts = (
Hunt.objects.values(
"id", "name", "url", "prize", "logo", "banner", "description", "starts_on", "end_on"
)
Hunt.objects.values(*fields)
.filter(is_published=True, starts_on__gte=datetime.now())
.order_by("starts_on")
)
return Response(hunts)

def get_search_by_name(self, request, search_query, *args, **kwargs):
def get_search_by_name(self, request, search_query, fields, *args, **kwargs):
hunts = (
Hunt.objects.values(
"id", "name", "url", "prize", "logo", "banner", "description", "starts_on", "end_on"
)
Hunt.objects.values(*fields)
.filter(is_published=True, name__icontains=search_query)
.order_by("end_on")
)
Expand All @@ -517,21 +509,27 @@ def get(self, request, *args, **kwargs):
previousHunt = request.query_params.get("previousHunt")
upcomingHunt = request.query_params.get("upcomingHunt")
search_query = request.query_params.get("search")
fields = [
"id",
"name",
"url",
"prize",
"logo",
"banner",
"description",
"starts_on",
"end_on",
]

if search_query:
return self.get_search_by_name(request, search_query, *args, **kwargs)
return self.get_search_by_name(request, search_query, fields, *args, **kwargs)
elif activeHunt:
return self.get_active_hunts(request, *args, **kwargs)
return self.get_active_hunts(request, fields, *args, **kwargs)
elif previousHunt:
return self.get_previous_hunts(request, *args, **kwargs)
return self.get_previous_hunts(request, fields, *args, **kwargs)
elif upcomingHunt:
return self.get_upcoming_hunts(request, *args, **kwargs)
hunts = (
Hunt.objects.values(
"id", "name", "url", "prize", "logo", "banner", "description", "starts_on", "end_on"
)
.filter(is_published=True)
.order_by("-end_on")
)
return self.get_upcoming_hunts(request, fields, *args, **kwargs)
hunts = Hunt.objects.values(*fields).filter(is_published=True).order_by("-end_on")
return Response(hunts)


Expand Down
17 changes: 17 additions & 0 deletions website/migrations/0095_company_description.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 5.0.6 on 2024-07-11 07:05

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("website", "0094_chatbotlog"),
]

operations = [
migrations.AddField(
model_name="company",
name="description",
field=models.CharField(blank=True, max_length=500, null=True),
),
]

0 comments on commit e717ea3

Please sign in to comment.