Commit b90f77ff authored by Rafal's avatar Rafal

Checkit

parent 0e7a7291
......@@ -35,7 +35,7 @@ router.register(r'tag_discussion', tag_views.TagDiscussionViewSet, base_name="ta
urlpatterns = [
url(r'^api/api/(\d+)/(\w+)(|\/)$', api_views.APIViewSet.test),
#url(r'^api/api/(\d+)/(\w+)(|\/)$', api_views.APIViewSet.test),
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework')),
......
......@@ -18,20 +18,16 @@ class APIViewSet(viewsets.ModelViewSet):
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
@staticmethod
def add(request, pk=None):
@detail_route()
def add(self, request, pk=None):
api = get_object_or_404(APIViewSet.queryset, pk=pk)
user = request.user
print request.user.id
user_api = UserAPI(user=user, api=api)
user_api.save()
return Response(status=rest_framework.status.HTTP_200_OK)
@staticmethod
def test(request, id, function, slash):
if function == 'add':
APIViewSet.add(request, id)
return HttpResponse(status=rest_framework.status.HTTP_200_OK)
def test(request, id, function):
try:
object = API.objects.get(pk=id)
except Exception as e:
......@@ -40,6 +36,7 @@ class APIViewSet(viewsets.ModelViewSet):
name = "lib.api.{0}".format(object.source.strip())
mod = __import__(name, fromlist=['API'])
api = mod.API(request)
return HttpResponse(api.execute(function), content_type="application/json")
def get_queryset(self):
......@@ -49,6 +46,9 @@ class APIViewSet(viewsets.ModelViewSet):
user_api = UserAPI.objects.all()
user_api = [api.api for api in user_api]
queryset = [api for api in queryset if api not in user_api]
method = self.request.query_params.get('method', None)
if method:
return APIViewSet.test(self.request, self.kwargs['pk'], method)
return queryset
class APITypeViewSet(viewsets.ModelViewSet):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment