From 317d0e851507fc1ea28b3ada31a29b09cb9e6c97 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 29 Jul 2013 21:26:01 +0200 Subject: [PATCH] Add version to api. --- greenmine/base/api.py | 10 ++++++++-- greenmine/base/urls.py | 1 + greenmine/urls.py | 17 +++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/greenmine/base/api.py b/greenmine/base/api.py index 2026b0eb..954ac684 100644 --- a/greenmine/base/api.py +++ b/greenmine/base/api.py @@ -10,9 +10,8 @@ from django import http from rest_framework.decorators import action from rest_framework.response import Response from rest_framework.permissions import IsAuthenticated -from rest_framework import status, generics, viewsets +from rest_framework import status, generics, viewsets, views -import django_filters from haystack import query, inputs from djmail.template_mail import MagicMailBuilder @@ -145,3 +144,10 @@ class Search(viewsets.ViewSet): .filter(members=self.request.user)) return own_projects.get(pk=project_id) + + +class ApiRoot(views.APIView): + def get(self, request, **kwargs): + return Response({"name": "Greenmine Api", + "version": 1, + "info": "build with django-rest-framework"}) diff --git a/greenmine/base/urls.py b/greenmine/base/urls.py index 9374cdfc..cc0d1b89 100644 --- a/greenmine/base/urls.py +++ b/greenmine/base/urls.py @@ -9,3 +9,4 @@ router.register("roles", api.RolesViewSet, base_name="roles") router.register("search", api.Search, base_name="search") urlpatterns = router.urls + diff --git a/greenmine/urls.py b/greenmine/urls.py index 766fdfd4..9b20c444 100644 --- a/greenmine/urls.py +++ b/greenmine/urls.py @@ -1,16 +1,21 @@ # -*- coding: utf-8 -*- from django.conf.urls import patterns, include, url from django.contrib.staticfiles.urls import staticfiles_urlpatterns - from django.contrib import admin + admin.autodiscover() +from greenmine.base.api import ApiRoot + + urlpatterns = patterns('', - url(r'^api/core/', include('greenmine.base.urls')), - url(r'^api/scrum/', include('greenmine.scrum.urls')), - url(r'^api/documents/', include('greenmine.documents.urls')), - url(r'^api/questions/', include('greenmine.questions.urls')), - url(r'^api/wiki/', include('greenmine.wiki.urls')), + url(r'^api/v1/core/', include('greenmine.base.urls')), + url(r'^api/v1/scrum/', include('greenmine.scrum.urls')), + url(r'^api/v1/documents/', include('greenmine.documents.urls')), + url(r'^api/v1/questions/', include('greenmine.questions.urls')), + url(r'^api/v1/wiki/', include('greenmine.wiki.urls')), + url(r'^api/v1$', ApiRoot.as_view()), + url(r'^admin/', include(admin.site.urls)), url(r'^grappelli/', include('grappelli.urls')), )