def list(self, request, *args, **kwargs): self.paginator.init_from_request(request) params = self.request.query_params.dict() params.update({ 'offset': self.paginator.offset, 'limit': self.paginator.limit, 'certification': constants.CertificationStatus.CERTIFIED.value }) api = galaxy_pulp.GalaxyCollectionVersionsApi(pulp.get_client()) response = api.list( prefix=settings.X_PULP_API_PREFIX, namespace=self.kwargs['namespace'], name=self.kwargs['name'], **params, ) # Consider an empty list of versions as a 404 on the Collection if not response.results: raise NotFound() self._fix_list_urls(response.results) return self.paginator.paginate_proxy_response(response.results, response.count)
def retrieve(self, request, *args, **kwargs): api = galaxy_pulp.GalaxyCollectionVersionsApi(pulp.get_client()) response = api.get( prefix=settings.API_PATH_PREFIX, namespace=self.kwargs['namespace'], name=self.kwargs['name'], version=self.kwargs['version'], ) response['download_url'] = self._transform_pulp_url(request, response['download_url']) return Response(response)
def list(self, request, *args, **kwargs): self.paginator.init_from_request(request) params = self.request.query_params.dict() params.update({ 'offset': self.paginator.offset, 'limit': self.paginator.limit, }) api = galaxy_pulp.GalaxyCollectionVersionsApi(pulp.get_client()) response = api.list( prefix=settings.API_PATH_PREFIX, namespace=self.kwargs['namespace'], name=self.kwargs['name'], **params, ) return self.paginator.paginate_proxy_response(response.results, response.count)
def set_certified(self, request, *args, **kwargs): namespace, name, version = self.kwargs['version'].split('/') namespace_obj = get_object_or_404(models.Namespace, name=namespace) self.check_object_permissions(request, namespace_obj) api = galaxy_pulp.GalaxyCollectionVersionsApi(pulp.get_client()) serializer = serializers.CertificationSerializer( data=request.data, context={'request': request}) serializer.is_valid(raise_exception=True) certification = serializer.validated_data.get('certification') response = api.set_certified( prefix=settings.X_PULP_API_PREFIX, namespace=namespace, name=name, version=version, certification_info=galaxy_pulp.CertificationInfo(certification), ) return Response(response)
def set_certified(self, request, *args, **kwargs): namespace, name = self.kwargs['collection'].split('/') version = self.kwargs['version'] namespace_obj = get_object_or_404(models.Namespace, name=namespace) self.check_object_permissions(request, namespace_obj) api = galaxy_pulp.GalaxyCollectionVersionsApi(pulp.get_client()) if self.request.method == "PUT": api_method = api.set_certified else: api_method = api.unset_certified response = api_method( prefix=settings.API_PATH_PREFIX, namespace=namespace, name=name, version=version, ) return Response(response)