32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from django.shortcuts import render
|
|
from rest_framework import viewsets
|
|
from .models import Submission, SubmissionAnalytics
|
|
from .serializers import SubmissionSerializer, SubmissionAnalyticsSerializer
|
|
from datetime import timedelta
|
|
from django.utils import timezone
|
|
|
|
|
|
class SubmissionViewSet(viewsets.ModelViewSet):
|
|
queryset = Submission.objects.all()
|
|
serializer_class = SubmissionSerializer
|
|
|
|
def get_queryset(self):
|
|
queryset = Submission.objects.all()
|
|
reddit_id = self.request.query_params.get('reddit_id', None)
|
|
last_7_days = self.request.query_params.get('last_7_days', None)
|
|
|
|
if reddit_id is not None:
|
|
queryset = queryset.filter(reddit_id=reddit_id)
|
|
|
|
if last_7_days is not None:
|
|
# Get the current time and subtract 7 days, convert to Unix timestamp
|
|
date_threshold = timezone.now() - timedelta(days=7)
|
|
date_threshold_unix = date_threshold.timestamp()
|
|
# Filter using the Unix timestamp
|
|
queryset = queryset.filter(created_utc__gte=date_threshold_unix)
|
|
|
|
return queryset
|
|
|
|
class SubmissionAnalyticsViewSet(viewsets.ModelViewSet):
|
|
queryset = SubmissionAnalytics.objects.all()
|
|
serializer_class = SubmissionAnalyticsSerializer |