from rest_framework.response import Response from rest_framework.views import APIView from core.drf_mixins import JwtAuthMixin from core.access import use_jwt_auth from .services import build_full_graph, build_network_map_graph def _graph_user(request): if use_jwt_auth(): return request.user if request.user.is_authenticated else None return None class GraphDataView(JwtAuthMixin, APIView): def get(self, request): return Response(build_full_graph(user=_graph_user(request))) class NetworkMapGraphView(JwtAuthMixin, APIView): def get(self, request): map_id = request.query_params.get('map_id') return Response(build_network_map_graph(map_id, user=_graph_user(request)))