Skip to content

Commit 2c2cfa8

Browse files
committed
update public api v2
1 parent 7e37040 commit 2c2cfa8

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

public_api/version_02/views/base.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,21 @@ def _build_request_serializer(
2828
) -> APITimeSeriesRequestSerializerv2:
2929
serializer_context = {"request": request, "lookup_field": self.lookup_field}
3030
return APITimeSeriesRequestSerializerv2(context=serializer_context)
31+
32+
@staticmethod
33+
def _is_valid_non_public_request(request: Request) -> bool:
34+
35+
try:
36+
is_non_public = request.query_params["is-public"].lower() == "false"
37+
except KeyError:
38+
is_non_public = False
39+
40+
try:
41+
is_authenticated = request.auth()
42+
except TypeError:
43+
is_authenticated = False
44+
45+
return is_non_public and is_authenticated
3146

3247
@extend_schema(tags=[PUBLIC_API_TAG])
3348
def get(self, request: Request, *args, **kwargs) -> Response:
@@ -39,4 +54,10 @@ def get(self, request: Request, *args, **kwargs) -> Response:
3954
)
4055

4156
serializer = self.get_serializer(timeseries_dto_slice, many=True)
42-
return Response(serializer.data)
57+
response = Response(data=serializer.data)
58+
59+
is_valid_non_public_request = self._is_valid_non_public_request(request=request)
60+
if is_valid_non_public_request:
61+
response["Cache-Control"] = "private, no-cache"
62+
63+
return response

0 commit comments

Comments
 (0)