Skip to content
Snippets Groups Projects
Select Git revision
  • ef629a0e5cfc81f1073f63beee06d0d95a45b1b4
  • main default protected
  • make_oidc_aud_configurable
  • 187_fix_agnpy
  • helm-chart
  • esap-general#159
  • nico-reviewing-async
  • feature/update-uws-auth
  • SDC-596/fix-internal-server-no-datasets
  • fix-query-errors
  • feature/ida-dekstop-records
  • merge-master
  • feature/better_logs_and_mocks
  • adex-settings-to-configuration
  • astron-vo-quick-fix
  • 69_add_diracIAM
  • sdc380-aladin-cone-search
  • esap-gateway-query
  • esap-general#11
  • esap-general#51
  • esap-api-dirac
  • esap-gateway-release-0_2_0
  • esap-gateway-release_0_1_1
  • esap-gateway-release_0_1_0
24 results

views.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    views.py 2.40 KiB
    from rest_framework import viewsets
    from rest_framework import permissions
    from .serializers import *
    from ..models import *
    
    from django.contrib import auth
    
    
    class EsapQuerySchemaViewSet(viewsets.ModelViewSet):
        """
        API endpoint that allows EsapQuerySchemas to be viewed or edited.
        """
    
        queryset = EsapQuerySchema.objects.all().order_by("schema_name")
        serializer_class = EsapQuerySchemaSerializer
        permission_classes = [permissions.AllowAny]
    
    
    class EsapComputeResourceViewSet(viewsets.ModelViewSet):
        """
        API endpoint that allows EsapComputeResources to be viewed or edited.
        """
    
        queryset = EsapComputeResource.objects.all().order_by("resource_name")
        serializer_class = EsapComputeResourceSerializer
        permission_classes = [permissions.AllowAny]
    
    
    class EsapSoftwareRepositoryViewSet(viewsets.ModelViewSet):
        """
        API endpoint that allows EsapSoftwareRepositorys to be viewed or edited.
        """
    
        queryset = EsapSoftwareRepository.objects.all().order_by("repository_name")
        serializer_class = EsapSoftwareRepositorySerializer
        permission_classes = [permissions.AllowAny]
    
    
    class EsapShoppingItemViewSet(viewsets.ModelViewSet):
        """
        API endpoint that allows EsapShoppingItems to be viewed or edited.
        """
    
        queryset = EsapShoppingItem.objects.all()
        serializer_class = EsapShoppingItemSerializer
        permission_classes = [permissions.AllowAny]
    
    
    class EsapUserProfileViewSet(viewsets.ModelViewSet):
        """
        API endpoint that allows EsapUserProfiles to be viewed or edited.
        """
    
        queryset = EsapUserProfile.objects.all().order_by("user_name")
        serializer_class = EsapUserProfileSerializer
        permission_classes = [permissions.AllowAny]
    
        def get_queryset(self):
            # Returns nothing if no user_name supplied instead of all
            try:
                # id_token = self.request.session["oidc_id_token"]
                # uid = id_token["iss"]+id_token["sub"]
                # preferred_username = id_token["preferred_username"]
                # name = id_token["name"]
                # access_token = self.request.session["oidc_access_token"]
                # user = auth.get_user(self.request)
                user_email = user.email
                return EsapUserProfile.objects.filter(user_email=user_email)
            except AttributeError as e:
                user_name = self.request.query_params.get("user_name", None)
                return EsapUserProfile.objects.filter(user_name=user_name)