Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Django
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
dalia
Backend
Django
Commits
b4003b53
Commit
b4003b53
authored
6 months ago
by
Frank Lange
Browse files
Options
Downloads
Patches
Plain Diff
import modules instead of a long list of symbols
parent
c40b3ff7
Branches
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#1524743
passed
6 months ago
Stage: container
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
project/dalia/serializers.py
+9
-18
9 additions, 18 deletions
project/dalia/serializers.py
project/dalia/views.py
+13
-20
13 additions, 20 deletions
project/dalia/views.py
with
22 additions
and
38 deletions
project/dalia/serializers.py
+
9
−
18
View file @
b4003b53
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
This diff is collapsed.
Click to expand it.
project/dalia/views.py
+
13
−
20
View file @
b4003b53
...
...
@@ -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
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment