You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/09/21 13:05:18 UTC
[1/2] airavata-django-portal git commit: Using DefaultRouter which
creates api root automatically
Repository: airavata-django-portal
Updated Branches:
refs/heads/master 4147972a1 -> b82ebc11d
Using DefaultRouter which creates api root automatically
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/802f5560
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/802f5560
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/802f5560
Branch: refs/heads/master
Commit: 802f5560737101656ded7cf465d3f587d1708b8d
Parents: 4147972
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue Sep 19 14:21:59 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue Sep 19 14:21:59 2017 -0400
----------------------------------------------------------------------
django_airavata/apps/api/serializers.py | 3 ---
django_airavata/apps/api/urls.py | 11 +----------
2 files changed, 1 insertion(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/802f5560/django_airavata/apps/api/serializers.py
----------------------------------------------------------------------
diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index 12442dd..b2731b2 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -58,9 +58,6 @@ class ProjectSerializer(serializers.Serializer):
instance.description = validated_data.get('description', instance.description)
return instance
- def get_username(self):
- return self.context.request.user.username
-
class ExperimentSerializer(serializers.Serializer):
experimentId = serializers.CharField(read_only=True)
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/802f5560/django_airavata/apps/api/urls.py
----------------------------------------------------------------------
diff --git a/django_airavata/apps/api/urls.py b/django_airavata/apps/api/urls.py
index 1c5e19b..7751b0e 100644
--- a/django_airavata/apps/api/urls.py
+++ b/django_airavata/apps/api/urls.py
@@ -9,23 +9,14 @@ import logging
logger = logging.getLogger(__name__)
-router = routers.SimpleRouter()
+router = routers.DefaultRouter()
router.register(r'projects', views.ProjectViewSet, base_name='project')
app_name = 'django_airavata_api'
urlpatterns = [
- url(r'^$', views.api_root),
- # url(r'^projects/$', views.ProjectList.as_view(), name='api_project_list'),
- # More specific, longer URLs should come before less specific, shorter ones
- # since the regular expression for project_id allows any character, even '/'
- # url(r'^projects/(?P<project_id>.+)/experiments/$', views.ProjectExperimentList.as_view(), name='api_project_experiments_list'),
- # url(r'^projects/(?P<project_id>.+)/$', views.ProjectDetail.as_view(), name='api_project_detail'),
- url(r'^experiments/$', views.ExperimentList.as_view(), name='api_experiment_list'),
url(r'^', include(router.urls)),
]
if logger.isEnabledFor(logging.DEBUG):
for url in router.urls:
logger.debug("router url: {}".format(url))
-
-urlpatterns = format_suffix_patterns(urlpatterns)
\ No newline at end of file
[2/2] airavata-django-portal git commit: Renamed ViewSet base classes,
updated docs
Posted by ma...@apache.org.
Renamed ViewSet base classes, updated docs
Project: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/commit/b82ebc11
Tree: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/tree/b82ebc11
Diff: http://git-wip-us.apache.org/repos/asf/airavata-django-portal/diff/b82ebc11
Branch: refs/heads/master
Commit: b82ebc11d70d6dbb03dcd94840f5156c41695704
Parents: 802f556
Author: Marcus Christie <ma...@iu.edu>
Authored: Thu Sep 21 09:04:40 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Thu Sep 21 09:04:40 2017 -0400
----------------------------------------------------------------------
django_airavata/apps/api/views.py | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-django-portal/blob/b82ebc11/django_airavata/apps/api/views.py
----------------------------------------------------------------------
diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index 416fa5a..38435db 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -59,26 +59,41 @@ class GenericAPIBackedViewSet(GenericViewSet):
def authz_token(self):
return self.request.authz_token
-class CreateUpdateRetrieveListViewSet(mixins.CreateModelMixin,
- mixins.RetrieveModelMixin,
- mixins.UpdateModelMixin,
- mixins.DestroyModelMixin,
- mixins.ListModelMixin,
- GenericAPIBackedViewSet):
+
+class ReadOnlyAPIBackedViewSet(mixins.RetrieveModelMixin,
+ mixins.ListModelMixin,
+ GenericAPIBackedViewSet):
+ """
+ A viewset that provides default `retrieve()` and `list()` actions.
+
+ Subclasses must implement the following:
+ * get_list(self)
+ * get_instance(self, lookup_value)
+ """
+ pass
+
+
+class APIBackedViewSet(mixins.CreateModelMixin,
+ mixins.RetrieveModelMixin,
+ mixins.UpdateModelMixin,
+ mixins.DestroyModelMixin,
+ mixins.ListModelMixin,
+ GenericAPIBackedViewSet):
"""
A viewset that provides default `create()`, `retrieve()`, `update()`,
- `partial_update()` and `list()` actions.
+ `partial_update()`, `destroy()` and `list()` actions.
Subclasses must implement the following:
* get_list(self)
* get_instance(self, lookup_value)
* perform_create(self, serializer) - should return instance with id populated
* perform_update(self, serializer)
+ * perform_destroy(self, instance)
"""
pass
-class ProjectViewSet(CreateUpdateRetrieveListViewSet):
+class ProjectViewSet(APIBackedViewSet):
serializer_class = serializers.ProjectSerializer
lookup_field = 'project_id'
@@ -105,6 +120,7 @@ class ProjectViewSet(CreateUpdateRetrieveListViewSet):
serializer = serializers.ExperimentSerializer(experiments, many=True, context={'request': request})
return Response(serializer.data)
+# TODO: convert to ViewSet
class ExperimentList(APIView):
def get(self, request, format=None):
gateway_id = settings.GATEWAY_ID