Files

65 lines
2.2 KiB
Python
Raw Permalink Normal View History

2026-02-19 22:48:53 -05:00
from django.shortcuts import render
from datetime import datetime, timedelta
import pytz, random
from .models import *
from .serializers import *
from django.db.models import Q
from django.db.models import Count
from rest_framework import generics
from rest_framework.decorators import authentication_classes, permission_classes
from rest_framework.authentication import SessionAuthentication, BasicAuthentication
from rest_framework.permissions import IsAuthenticated
# from durin.auth import TokenAuthentication
# from durin.views import APIAccessTokenView
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import filters
from rest_framework.response import Response
from rest_framework_api_key.permissions import HasAPIKey
td = timedelta(hours=7)
odt = datetime.now() - td
# Create your views here.
class ContractAPIView(generics.ListAPIView):
serializer_class = ContractSerializer
queryset = Contract.objects.all()[:25]
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
filterset_fields = ['id',]
permission_classes = [HasAPIKey]
class ContractAllAPIView(generics.ListAPIView):
serializer_class = ContractSerializer
queryset = Contract.objects.all()
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
search_fields = ['notice_id', 'original_contract_number', 'title', 'description', 'company__name', 'us_dept', 'us_dept_sub_tier', 'us_office', 'naics_code', 'prod_svc_code']
filterset_fields = ['id',]
permission_classes = [HasAPIKey]
class CompanyAPIView(generics.ListAPIView):
serializer_class = CompanySerializer
queryset = Company.objects.all()
permission_classes = [HasAPIKey]
# class PromoAPIView(generics.ListAPIView):
# serializer_class = PromoSerializer
# queryset = Promo.objects.filter(published=True)
# filterset_fields = ['organization__name', 'calendar__shortcode',]
# search_fields = ['organization__name', 'calendar__shortcode',]
# # permission_classes = [HasAPIKey]
# def get_queryset(self):
# calendar = self.request.GET.get('calendar__shortcode')
# queryset = Promo.objects.filter(published=True, calendar__shortcode=calendar).order_by('?')
# return queryset