Skip to content
Snippets Groups Projects
Commit b4003b53 authored by Frank Lange's avatar Frank Lange
Browse files

import modules instead of a long list of symbols

parent c40b3ff7
Branches
No related tags found
No related merge requests found
Pipeline #1524743 passed
from rest_framework_dataclasses.serializers import DataclassSerializer
from project.dalia.api_models.api_models import (
BasicSearchFilter,
Community,
CurationSuggestDisciplinesResultItem,
CurationSuggestLicensesRequest,
CurationSuggestLicensesResult,
ItemSearchRequest,
ItemSearchResult,
Resource,
)
import project.dalia.api_models.api_models as api_models
class BasicSearchFilterSerializer(DataclassSerializer):
class Meta:
dataclass = BasicSearchFilter
dataclass = api_models.BasicSearchFilter
class CommunitySerializer(DataclassSerializer):
class Meta:
dataclass = Community
dataclass = api_models.Community
class ItemSerializer(DataclassSerializer):
class Meta:
dataclass = Resource
dataclass = api_models.Resource
class ItemSearchResultSerializer(DataclassSerializer):
class Meta:
dataclass = ItemSearchResult
dataclass = api_models.ItemSearchResult
class ItemSearchRequestSerializer(DataclassSerializer):
class Meta:
dataclass = ItemSearchRequest
dataclass = api_models.ItemSearchRequest
class CurationSuggestDisciplinesResultItemSerializer(DataclassSerializer):
class Meta:
dataclass = CurationSuggestDisciplinesResultItem
dataclass = api_models.CurationSuggestDisciplinesResultItem
class CurationSuggestLicensesRequestSerializer(DataclassSerializer):
class Meta:
dataclass = CurationSuggestLicensesRequest
dataclass = api_models.CurationSuggestLicensesRequest
class CurationSuggestLicensesResultSerializer(DataclassSerializer):
class Meta:
dataclass = CurationSuggestLicensesResult
dataclass = api_models.CurationSuggestLicensesResult
......@@ -13,22 +13,13 @@ from project.dalia.query.communities.community_items import get_items_for_commun
from project.dalia.query.items.basic_search_filters.basic_search_filters import get_basic_search_filters
from project.dalia.query.items.metadata.items import get_metadata_for_learning_resource
from project.dalia.query.items.search.text_search import search_items
from project.dalia.serializers import (
BasicSearchFilterSerializer,
CommunitySerializer,
CurationSuggestDisciplinesResultItemSerializer,
CurationSuggestLicensesRequestSerializer,
CurationSuggestLicensesResultSerializer,
ItemSearchRequestSerializer,
ItemSearchResultSerializer,
ItemSerializer,
)
import project.dalia.serializers as serializers
# endpoint /basic-search-filters
class BasicSearchFiltersView(APIView):
def get(self, request: Request) -> HttpResponse:
serializer = BasicSearchFilterSerializer(get_basic_search_filters(), many=True)
serializer = serializers.BasicSearchFilterSerializer(get_basic_search_filters(), many=True)
return Response(serializer.data)
......@@ -40,7 +31,7 @@ class CommunityView(APIView):
if not community:
return HttpResponseNotFound()
serializer = CommunitySerializer(community)
serializer = serializers.CommunitySerializer(community)
return Response(serializer.data)
......@@ -52,7 +43,7 @@ class CommunityItemsView(APIView):
if items is None:
return HttpResponseNotFound()
serializer = ItemSerializer(items, many=True)
serializer = serializers.ItemSerializer(items, many=True)
return Response(serializer.data)
......@@ -64,19 +55,19 @@ class ItemView(APIView):
if not item:
return HttpResponseNotFound()
serializer = ItemSerializer(item)
serializer = serializers.ItemSerializer(item)
return Response(serializer.data)
# endpoint /items
class ItemSearchView(APIView):
def post(self, request: Request) -> HttpResponse:
request_serializer = ItemSearchRequestSerializer(data=request.data)
request_serializer = serializers.ItemSearchRequestSerializer(data=request.data)
request_serializer.is_valid(raise_exception=True)
search_result = search_items(request_serializer.validated_data)
result_serializer = ItemSearchResultSerializer(search_result)
result_serializer = serializers.ItemSearchResultSerializer(search_result)
return Response(result_serializer.data)
......@@ -92,24 +83,26 @@ class ItemSuggestionsView(APIView):
search_result.results = {}
search_result.facets = {}
serializer = ItemSearchResultSerializer(search_result)
serializer = serializers.ItemSearchResultSerializer(search_result)
return Response(serializer.data)
# endpoint /suggest/disciplines
class CurationSuggestDisciplinesView(APIView):
def get(self, request: Request):
serializer = CurationSuggestDisciplinesResultItemSerializer(get_disciplines_suggestions(), many=True)
serializer = serializers.CurationSuggestDisciplinesResultItemSerializer(
get_disciplines_suggestions(), many=True
)
return Response(serializer.data)
# endpoint /suggest/licenses
class CurationSuggestLicensesView(APIView):
def get(self, request: Request):
request_serializer = CurationSuggestLicensesRequestSerializer(data=request.query_params)
request_serializer = serializers.CurationSuggestLicensesRequestSerializer(data=request.query_params)
request_serializer.is_valid(raise_exception=True)
result_serializer = CurationSuggestLicensesResultSerializer(
result_serializer = serializers.CurationSuggestLicensesResultSerializer(
get_licenses_suggestions(request_serializer.validated_data)
)
return Response(result_serializer.data)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment