Exemplo n.º 1
0
from django.urls import path, include
from django.conf import settings
from django.contrib.auth.views import logout_then_login

from rest_framework.routers import DefaultRouter, APIRootView
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token

from . import views

router = DefaultRouter()
router.APIRootView = APIRootView
router.register('users', views.UserViewSet, basename='user')

app_name = 'main'
urlpatterns = [
    path('api/', include(router.urls)),
    path('api/register/uuid/', views.RegisterUUIDView.as_view()),
    path('api/register/user/', views.RegisterUserView.as_view()),
    path('api/auth/refresh/', refresh_jwt_token),
    path('api/auth/verify/', verify_jwt_token),
    path('api/auth/uuid/', views.AuthUUIDView.as_view()),
    path('api/auth/user/', obtain_jwt_token),
    path('api/user/', views.UserView.as_view()),
    path('api/user/password/', views.UserPasswordView.as_view()),
    path('api/password/', views.PasswordResetView.as_view()),
    path('api/password/email/', views.PasswordResetEmailView.as_view()),
    path('api/password/digit/', views.PasswordResetDigitView.as_view()),
]

if settings.DEBUG:
    from rest_framework import permissions
Exemplo n.º 2
0
from rest_framework.routers import DefaultRouter
from . import views

router = DefaultRouter()
router.APIRootView = views.NextBoxUIPluginRootView

router.register(r'savedtopologies', views.SavedTopologyViewSet)

app_name = "nextbox_ui_plugin-api"
urlpatterns = router.urls
Exemplo n.º 3
0
    def get_urls(self):
        from rest_framework.routers import APIRootView, DefaultRouter
        from EasyAPI.metadata import EasyAPIMetadata

        router = DefaultRouter()

        class EasyAPIRootView(APIRootView):
            metadata_class = EasyAPIMetadata

            @classmethod
            def get_view_name(self):
                return self.name

            @classmethod
            def Assemble(cls, **kwargs):
                class AssembledEasyAPIRootView(cls):
                    name = kwargs["name"]
                    permissions = kwargs["permissions"]

                return AssembledEasyAPIRootView

        router.APIRootView = EasyAPIRootView.Assemble(
            name=self.name, permissions=self.permissions
        )
        router.APIRootView.__doc__ = self.description

        queries = []
        mutations = []
        for model, resource in self._registry.items():
            resource.filterset.add_subfilters()
            if self.dump_info or resource.dump_info:
                resource.__dump_info__()
            name = model._meta.model_name

            if self.rest:
                viewset = resource.generate_viewset()

                router.register(
                    r"%s" % resource.label, viewset, "%s %s" % (name, resource.label),
                )

            if self.graphql:
                objectType, query, mutation = resource.generate_graphql()
                query and queries.append(query)
                mutation and mutations.append(mutation)

        if self.graphql:

            class Query(*queries, graphene.ObjectType):
                pass

            class Mutate(*mutations, graphene.ObjectType):
                pass

            class PermissionedGraphQL(AccessMixin, GraphQLView):
                permission_classes = self.permissions
                raise_exception = True

                def dispatch(self, request, *args, **kwargs):
                    from rest_framework_simplejwt.authentication import JWTAuthentication
                    if request.META.get('HTTP_AUTHORIZATION', None):
                        try:
                            request.user, request.auth = JWTAuthentication().authenticate(request)
                        except:
                            pass
                    for permission_class in self.permission_classes:
                        permission = permission_class()
                        if not permission.has_permission(request, self):
                            return self.handle_no_permission()
                    return super().dispatch(request, *args, **kwargs)

            schema = graphene.Schema(query=Query, mutation=mutations and Mutate or None)

        urlpatterns = router.urls + (self.graphql and [
            url(
                r"^graphql$",
                csrf_exempt(PermissionedGraphQL.as_view(graphiql=True, schema=schema)),
            ),
        ] or []) 
        return urlpatterns
Exemplo n.º 4
0
from django.conf.urls import url, include
from rest_framework.routers import DefaultRouter

from . import views

#
# Router
#
router = DefaultRouter()
router.root_view_name = 'io-api-root'
router.APIRootView = views.IoView
router.register(r'questions', views.QuestionIoViewSet)
router.register(r'submissions', views.SubmissionIoViewSet)

#
# Patterns
#
urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^questions/(?P<pk>[0-9a-f-]+)/iospec/$', views.question_iospec_view),
    url(r'^submissions/(?P<pk>[0-9a-f-]+)/feedback/$',
        views.submission_feedback_view),
]
Exemplo n.º 5
0
from django.conf.urls import url, include
from rest_framework.routers import DefaultRouter
from . import views
from mytestproj import settings


def get_media_root():
    return settings.MEDIA_ROOT


routers = DefaultRouter()
routers.APIRootView = views.RootView
routers.register(r'teststep', views.TeststepViewSet)
routers.register(r'testcase', views.TestCaseViewSet)
routers.register(r'testsuite', views.TestSuiteViewSet)
routers.register(r'testreport', views.TestReportViewSet)
routers.register(r'users', views.UserViewSet)

urlpatterns = [
    url(r'^', include(routers.urls)),
    url(r'^api-auth/',
        include('rest_framework.urls', namespace='rest_framework')),
]