Skip to content

Commit 992b281

Browse files
committed
Add POST search
Changes to be committed: modified: authentication/apis.py modified: search/apis.py
1 parent b529934 commit 992b281

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

authentication/apis.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ class Meta:
257257

258258
authentication_classes = []
259259
permission_classes = []
260-
260+
swagger_schema = None
261261
def post(self, request):
262262
"""Register a new BCODB user.
263263

search/apis.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from search.selectors import controled_list, RETURN_VALUES
1313
from search.selectors import RETURN_VALUES as return_values
1414
from itertools import chain
15+
from config.services import legacy_api_converter
1516

1617
class SearchObjectsAPI(APIView):
1718
"""
@@ -108,6 +109,30 @@ def get(self, request) -> Response:
108109
return_bco = viewable_bcos.filter(query)
109110
bco_data = chain(return_bco.values(*return_values))
110111
return Response(status=status.HTTP_200_OK, data=bco_data)
112+
113+
def post(self, request) -> Response:
114+
"""This POST method is deprecated. Please use GET instead."""
115+
116+
viewable_bcos = controled_list(request.user)
117+
data = legacy_api_converter(request.data)
118+
query = Q()
119+
for object in data:
120+
if object["type"] == "mine":
121+
field_query = Q()
122+
field_query |= Q(**{'owner': request.user})
123+
query &= field_query
124+
if object["type"] == "prefix":
125+
field_query = Q()
126+
field_query |= Q(**{"prefix": object["search"]})
127+
query &= field_query
128+
if object["type"] == "bco_id":
129+
field_query = Q()
130+
field_query |= Q(**{"object_id": object["search"]})
131+
query &= field_query
132+
133+
return_bco = viewable_bcos.filter(query)
134+
bco_data = chain(return_bco.values(*return_values))
135+
return Response(status=status.HTTP_200_OK, data=bco_data)
111136

112137
class DepreciatedSearchObjectsAPI(SearchObjectsAPI):
113138
swagger_schema = None

0 commit comments

Comments
 (0)