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