2024-03-03 23:01:01 -05:00

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