From 28ab2cfb899773a87f285b433420d8956c20f87c Mon Sep 17 00:00:00 2001
From: AndiMajore <andi.majore@googlemail.com>
Date: Tue, 26 Jul 2022 12:03:38 +0200
Subject: [PATCH] added get_datasets route

Former-commit-id: b13abb358a6e5d4771856491e817258c73c51a87 [formerly b15f8afaa0bba49443b57218fb8109e928f3c605]
Former-commit-id: c2a2e19124f3acf697e0ac4037cf47c004c2b898
---
 drugstone/serializers.py | 11 +++++++++++
 drugstone/urls.py        |  8 +++-----
 drugstone/views.py       | 10 +++++++++-
 3 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/drugstone/serializers.py b/drugstone/serializers.py
index 1e92af8..7fca111 100755
--- a/drugstone/serializers.py
+++ b/drugstone/serializers.py
@@ -17,6 +17,17 @@ class PPIDatasetSerializer(serializers.ModelSerializer):
         model = models.PPIDataset
         fields = '__all__'
 
+class PDisDatasetSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = models.PDisDataset
+        fields = '__all__'
+
+
+class DrDisDatasetSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = models.DrDiDataset
+        fields = '__all__'
+
 class ProteinNodeSerializer(serializers.ModelSerializer):
     drugstone_id = serializers.SerializerMethodField()
     uniprot_ac = serializers.SerializerMethodField()
diff --git a/drugstone/urls.py b/drugstone/urls.py
index 74605cf..a2e5786 100755
--- a/drugstone/urls.py
+++ b/drugstone/urls.py
@@ -17,23 +17,21 @@ from django.contrib import admin
 from django.urls import path
 
 from drugstone.views import map_nodes, tasks_view, result_view, \
-    graph_export, query_proteins, TissueView, TissueExpressionView, query_tissue_proteins, TaskView, \
-    adjacent_drugs, adjacent_disorders, fetch_edges, create_network, load_network, get_license
+    graph_export, TissueView, TissueExpressionView, query_tissue_proteins, TaskView, \
+    adjacent_drugs, adjacent_disorders, fetch_edges, create_network, load_network, get_license, get_datasets
 
 # cache time is 6 hours
 urlpatterns = [
-    # path('network/', cache_page(21600)(ProteinViralInteractionView.as_view())),
+    path('get_datasets/', get_datasets),
     path('map_nodes/', map_nodes),
     path('fetch_edges/', fetch_edges),
     path('task/', TaskView.as_view()),
     path('tasks/', tasks_view),
     path('task_result/', result_view),
     path('graph_export/', graph_export),
-    # path('query_proteins/', query_proteins),
     path('query_tissue_proteins/', query_tissue_proteins),
     path('adjacent_drugs/', adjacent_drugs),
     path('adjacent_disorders/', adjacent_disorders),
-    # path('drug_interactions/', ProteinDrugInteractionView.as_view()),
     path('tissue_expression/', TissueExpressionView.as_view()),
     path('tissues/', TissueView.as_view()),
     path('admin/', admin.site.urls),
diff --git a/drugstone/views.py b/drugstone/views.py
index d7a03fa..9a88139 100755
--- a/drugstone/views.py
+++ b/drugstone/views.py
@@ -231,6 +231,15 @@ def create_network(request) -> Response:
     return Response(id)
 
 
+@api_view(['GET'])
+def get_datasets(request)->Response:
+    datasets = {}
+    datasets['protein-protein'] = PPIDatasetSerializer(many=True).to_representation(PPIDataset.objects.all())
+    datasets['protein-drug'] = PDIDatasetSerializer(many=True).to_representation(PDIDataset.objects.all())
+    datasets['protein-disorder'] = PDisDatasetSerializer(many=True).to_representation(PDisDataset.objects.all())
+    datasets['drug-disorder'] = DrDisDatasetSerializer(many=True).to_representation(DrDiDataset.objects.all())
+    return Response(datasets)
+
 @api_view(['GET'])
 def load_network(request) -> Response:
     network = NetworkSerializer().to_representation(Network.objects.get(id=request.query_params.get('id')))
@@ -620,7 +629,6 @@ class TissueView(APIView):
         tissues = Tissue.objects.all()
         return Response(TissueSerializer(many=True).to_representation(tissues))
 
-
 class TissueExpressionView(APIView):
     """
     Expression of host proteins in tissues.
-- 
GitLab