Skip to content
Snippets Groups Projects
Commit dd1f9c8d authored by AndiMajore's avatar AndiMajore
Browse files

added endpoints for view from selection option

Former-commit-id: ae6330fbad92489587881a89d72950142869f260 [formerly 17115389e9e0cf6578671fbf0e29a46d0571dea5]
Former-commit-id: 4f9c7e71f48dcddc1bebd6734ca6d22b61ff4d70
parent de6ae078
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@ from django.urls import path
from drugstone.views import map_nodes, tasks_view, result_view, \
graph_export, TissueView, TissueExpressionView, query_tissue_proteins, TaskView, \
adjacent_drugs, adjacent_disorders, fetch_edges, create_network, load_network, get_license, get_datasets, \
get_max_tissue_expression, convert_compact_ids, get_default_params, send_bugreport, save_selection, get_view
get_max_tissue_expression, convert_compact_ids, get_default_params, send_bugreport, save_selection, get_view, get_view_infos
# cache time is 6 hours
urlpatterns = [
......@@ -44,5 +44,6 @@ urlpatterns = [
path('get_license', get_license),
path('send_bugreport/', send_bugreport),
path('save_selection', save_selection),
path('view/', get_view)
path('view/', get_view),
path('view_infos', get_view_infos)
]
......@@ -697,7 +697,7 @@ def save_selection(request) -> Response:
config = request.data.get("config")
network = request.data.get("network")
Network.objects.create(id=token_str, config=config, nodes=network["nodes"], edges=network["edges"])
Network.objects.create(id=token_str, config=json.dumps(config), nodes=json.dumps(network["nodes"]), edges=json.dumps(network["edges"]))
return Response({
'token': token_str,
})
......@@ -707,14 +707,25 @@ def get_view(request) -> Response:
token = request.query_params.get('token')
network = Network.objects.get(id=token)
return Response({
'config': network.config,
'config': json.loads(network.config),
'created_at': network.created_at,
'network': {
'nodes': network.nodes,
'edges': network.edges,
'nodes': json.loads(network.nodes),
'edges': json.loads(network.edges),
}
})
@api_view(['POST'])
def get_view_infos(request) -> Response:
tokens = request.data.get('tokens')
networks = Network.objects.filter(id__in = tokens)
return Response([{
'token': n.id,
'created_at': n.created_at,
} for n in networks])
@api_view(['GET'])
def get_max_tissue_expression(request) -> Response:
tissue = Tissue.objects.get(id=request.query_params.get('tissue'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment