#31 API Improvement

* adds support for returning all shared data
* adds documentation
This commit is contained in:
2022-01-24 16:23:38 +01:00
parent fa6603f218
commit 9da5df2d5b
5 changed files with 48 additions and 14 deletions

View File

@@ -28,21 +28,29 @@ class AbstractModelAPIViewV1(AbstractModelAPIView):
Args:
request (HttpRequest): The incoming request
id (str): The entries id
id (str): The entries id (optional)
Returns:
response (JsonResponse)
"""
try:
if id is None:
raise AttributeError("No id provided")
self.serializer.prepare_lookup(id, self.user)
data = self.serializer.fetch_and_serialize()
except Exception as e:
return self.return_error_response(e, 500)
return JsonResponse(data)
def post(self, request: HttpRequest, id=None):
def post(self, request: HttpRequest):
""" Handles the POST request
Performs creation of new data
Args:
request (HttpRequest): The incoming request
Returns:
response (JsonResponse)
"""
try:
body = request.body.decode("utf-8")
body = json.loads(body)
@@ -52,6 +60,17 @@ class AbstractModelAPIViewV1(AbstractModelAPIView):
return JsonResponse({"id": created_id})
def put(self, request: HttpRequest, id=None):
""" Handles the PUT request
Performs updating
Args:
request (HttpRequest): The incoming request
id (str): The entries id
Returns:
"""
try:
body = request.body.decode("utf-8")
body = json.loads(body)