Esempio n. 1
0
def test_accept_header_versioning(no_warnings, viewset_cls, version, with_request):
    router = routers.SimpleRouter()
    router.register('x', viewset_cls, basename='x')
    generator = SchemaGenerator(
        patterns=[
            path('', include((router.urls, 'x'))),
        ],
        api_version=version,
    )
    if with_request:
        view = SpectacularAPIView(
            versioning_class=AcceptHeaderVersioning,
        )
        factory = APIRequestFactory()
        request = factory.get('x', content_type='application/vnd.oai.openapi+json')
        request = view.initialize_request(request)
    else:
        request = None
    schema = generator.get_schema(request=request, public=True)
    assert_schema(schema, f'tests/test_versioning_accept_{version}.yml')
Esempio n. 2
0
urlpatterns = [
    #  Django Rest Framework API v2
    url(r'^%sapi/v2/' % get_system_setting('url_prefix'), include(v2_api.urls)),
    # action history
    url(r'^%shistory/(?P<cid>\d+)/(?P<oid>\d+)$' % get_system_setting('url_prefix'), views.action_history,
        name='action_history'),
    url(r'^%s' % get_system_setting('url_prefix'), include(ur)),
    url(r'^%sapi/v2/api-token-auth/' % get_system_setting('url_prefix'), tokenviews.obtain_auth_token, name='api-token-auth'),
    url(r'^%sapi/v2/user_profile/' % get_system_setting('url_prefix'), UserProfileView.as_view(), name='user_profile'),

    # drf-yasg = OpenAPI2
    url(r'^%sapi/v2/doc/' % get_system_setting('url_prefix'), schema_view.with_ui('swagger', cache_timeout=0), name='api_v2_schema'),

    # drf-spectacular = OpenAPI3
    url(r'^%sapi/v2/oa3/schema/' % get_system_setting('url_prefix'), SpectacularAPIView.as_view(), name='schema_oa3'),
    url(r'^%sapi/v2/oa3/swagger-ui/' % get_system_setting('url_prefix'), SpectacularSwaggerView.as_view(url=get_system_setting('url_prefix') + '/api/v2/oa3/schema/?format=json'), name='swagger-ui_oa3'),

    url(r'^robots.txt', lambda x: HttpResponse("User-Agent: *\nDisallow: /", content_type="text/plain"), name="robots_file"),
    url(r'^manage_files/(?P<oid>\d+)/(?P<obj_type>\w+)$', views.manage_files, name='manage_files'),

]

urlpatterns += survey_urls

if hasattr(settings, 'DJANGO_METRICS_ENABLED'):
    if settings.DJANGO_METRICS_ENABLED:
        urlpatterns += [url(r'^%sdjango_metrics/' % get_system_setting('url_prefix'), include('django_prometheus.urls'))]

if hasattr(settings, 'SAML2_ENABLED'):
    if settings.SAML2_ENABLED:
Esempio n. 3
0
from rest_framework import routers
from comite_api.settings import DEBUG
from core import views
from rest_framework_simplejwt import views as jwt_views

router = routers.DefaultRouter()
router.register("people", views.PersonViewSet)
router.register("families", views.FamilyViewSet)
router.register("donations", views.DonationViewSet)

urlpatterns = [
    path("api/token/",
         jwt_views.TokenObtainPairView.as_view(),
         name="token_obtain_pair"),
    path("api/token/refresh/",
         jwt_views.TokenRefreshView.as_view(),
         name="token_refresh"),
    path("api/", include(router.urls)),
    path("api/admin/", admin.site.urls),
]

if DEBUG:
    urlpatterns += [
        path("api/docs/schema/", SpectacularAPIView.as_view(), name="schema"),
        path(
            "api/docs/schema/swagger-ui/",
            SpectacularSwaggerView.as_view(url_name="schema"),
            name="swagger-ui",
        ),
    ]
Esempio n. 4
0
from django.conf import settings
from django.urls import path, include

urlpatterns = [
    path('records/', include('apps.records.urls')),
    path('reports/', include('apps.reports.urls')),
]

if settings.DEBUG:
    from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView

    urlpatterns += [
        path('docs/', SpectacularAPIView.as_view(), name='schema'),
        path('docs/swagger/',
             SpectacularSwaggerView.as_view(url_name='schema'),
             name='swagger'),
        path('docs/redoc/',
             SpectacularRedocView.as_view(url_name='schema'),
             name='redoc'),
    ]
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import include, path

from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView

import thenewboston_node.accounts.urls
import thenewboston_node.web.urls

API_PREFIX = 'api/'

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(thenewboston_node.web.urls)),

    # local apps
    path(API_PREFIX + 'v1/', include(thenewboston_node.accounts.urls)),
    path(API_PREFIX + 'schema/', SpectacularAPIView.as_view(), name='schema'),
    path(API_PREFIX + 'doc/',
         SpectacularSwaggerView.as_view(url_name='schema'),
         name='swagger'),
]
Esempio n. 6
0
    url(r'^%shistory/(?P<cid>\d+)/(?P<oid>\d+)$' %
        get_system_setting('url_prefix'),
        views.action_history,
        name='action_history'),
    url(r'^%s' % get_system_setting('url_prefix'), include(ur)),
    url(r'^%sapi/v2/api-token-auth/' % get_system_setting('url_prefix'),
        tokenviews.obtain_auth_token),

    # drf-yasg = OpenAPI2
    url(r'^%sapi/v2/doc/' % get_system_setting('url_prefix'),
        schema_view.with_ui('swagger', cache_timeout=0),
        name='api_v2_schema'),

    # drf-spectacular = OpenAPI3
    url(r'^%sapi/v2/oa3/schema/' % get_system_setting('url_prefix'),
        SpectacularAPIView.as_view(),
        name='schema_oa3'),
    url(r'^%sapi/v2/oa3/swagger-ui/' % get_system_setting('url_prefix'),
        SpectacularSwaggerView.as_view(url=get_system_setting('url_prefix') +
                                       '/api/v2/oa3/schema/?format=json'),
        name='swagger-ui_oa3'),
    url(r'^robots.txt',
        lambda x: HttpResponse("User-Agent: *\nDisallow: /",
                               content_type="text/plain"),
        name="robots_file"),
    url(r'^manage_files/(?P<oid>\d+)/(?P<obj_type>\w+)$',
        views.manage_files,
        name='manage_files'),
]

urlpatterns += survey_urls
Esempio n. 7
0
        view = SpectacularAPIView(
            versioning_class=AcceptHeaderVersioning,
        )
        factory = APIRequestFactory()
        request = factory.get('x', content_type='application/vnd.oai.openapi+json')
        request = view.initialize_request(request)
    else:
        request = None
    schema = generator.get_schema(request=request, public=True)
    assert_schema(schema, f'tests/test_versioning_accept_{version}.yml')


urlpatterns_namespace = [
    path('x/', NamespaceVersioningViewset.as_view({'get': 'list'})),
    path('schema/', SpectacularAPIView.as_view(
        versioning_class=NamespaceVersioning
    ), name='schema-nv-versioned'),
    path('schema/ui', SpectacularSwaggerView.as_view(
        versioning_class=NamespaceVersioning, url_name='schema-nv-versioned'
    )),
]
urlpatterns_path = [
    path('x/', PathVersioningViewset2.as_view({'get': 'list'})),
    path('schema/', SpectacularAPIView.as_view(
        versioning_class=URLPathVersioning
    ), name='schema-pv-versioned'),
    path('schema/ui', SpectacularSwaggerView.as_view(
        versioning_class=URLPathVersioning, url_name='schema-pv-versioned'
    )),
]
urlpatterns_accept_header = [
Esempio n. 8
0
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import extend_schema
from drf_spectacular.validation import validate_schema
from drf_spectacular.views import SpectacularAPIView


@extend_schema(responses=OpenApiTypes.FLOAT)
@api_view(http_method_names=['GET'])
def pi(request):
    return Response(3.1415)


urlpatterns_v1 = [url(r'^api/v1/pi', pi)]
urlpatterns_v1.append(
    url(r'^api/v1/schema$',
        SpectacularAPIView.as_view(urlconf=urlpatterns_v1)))

urlpatterns_v2 = [
    url(r'^api/v2/pi', pi),
    url(r'^api/v2/pi-fast', pi),
]
urlpatterns_v2.append(
    url(r'^api/v2/schema$',
        SpectacularAPIView.as_view(urlconf=urlpatterns_v2)), )

urlpatterns = urlpatterns_v1 + urlpatterns_v2


@pytest.mark.urls(__name__)
def test_spectacular_view(no_warnings):
    response = APIClient().get('/api/v1/schema')
Esempio n. 9
0
                             permanent=False)),
    re_path(r'^v1/', include((router.urls, 'emgapi_v1'),
                             namespace='emgapi_v1')),
    path(r'v1/utils/token/obtain',
         obtain_jwt_token,
         name='obtain_jwt_token_v1'),
    path(r'v1/utils/token/verify',
         verify_jwt_token,
         name='verify_jwt_token_v1'),
]

urlpatterns += mongo_urlpatterns
urlpatterns += emgapi_urlpatterns
urlpatterns += [
    path(r'schema/',
         SpectacularAPIView.as_view(api_version='emgapi_v1'),
         name='schema'),
    path(r'docs/',
         SpectacularSwaggerView.as_view(url_name='schema',
                                        url=settings.EMG_URL + '/schema'),
         name='swagger-ui'),
]

# admin
if settings.ADMIN:
    urlpatterns += [
        path('grappelli/', include('grappelli.urls')),
        path('admin/', admin.site.urls),
    ]

if settings.DEBUG:
Esempio n. 10
0
import pytest
import yaml
from django.conf.urls import url
from rest_framework.test import APIClient

from drf_spectacular.validation import validate_schema
from drf_spectacular.views import SpectacularAPIView

urlpatterns = [
    url(r'^api/schema$', SpectacularAPIView.as_view(), name='schema')
]


@pytest.mark.urls(__name__)
def test_spectacular_view(no_warnings):
    response = APIClient().get('/api/schema')
    assert response.status_code == 200
    assert response.content.startswith(b'openapi: 3.0.3\n')
    assert response.accepted_media_type == 'application/vnd.oai.openapi'
    schema = yaml.load(response.content, Loader=yaml.SafeLoader)
    validate_schema(schema)
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include

from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView

# For details about the include, see https://docs.djangoproject.com/en/3.1/topics/http/urls/#including-other-urlconfs
# If it makes problems, either include the urls.py directly and rework the view pointers, or attempt solving this.
urlpatterns = [
    # YOUR PATTERNS
    path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
    path('api/schema-json/',
         SpectacularAPIView(renderer_classes=drf_spectacular.renderers.
                            OpenApiJsonRenderer).as_view(),
         name='schema'),
    # Optional UI:
    path('api/schema/swagger-ui/',
         SpectacularSwaggerView.as_view(url_name='schema'),
         name='swagger-ui'),
    path('api/schema/redoc/',
         SpectacularRedocView.as_view(url_name='schema'),
         name='redoc'),
    # The rest
    path('admin/', admin.site.urls),
    path('', include('EthicAssessmentSoftware.urls'))
]
Esempio n. 12
0
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView
from drf_spectacular import renderers
from django.contrib import admin
from django.urls import path

from .user.views import UserAPIView, RegisterAPIView, LoginAPIView, LogoutAPIView, LogoutAllAPIView
from .github.views import FetchGithubRepos, GetGithubRepo, ListGithubRepos, ListGithubTokens, AddGithubToken, UpdateGithubRepo
from .extensions import *

urlpatterns = [

    # Schema
    path('api/schema/',
         SpectacularAPIView().as_view(
             renderer_classes=[renderers.OpenApiJsonRenderer2]),
         name='schema'),
    path('api/schema/redoc/',
         SpectacularRedocView.as_view(url_name='schema'),
         name='redoc'),

    # Auth APIs
    path('api/auth/user/', UserAPIView.as_view(), name='user'),
    path('api/auth/register/', RegisterAPIView.as_view(), name='register'),
    path('api/auth/login/', LoginAPIView.as_view(), name='login'),
    path('api/auth/logout/', LogoutAPIView.as_view(), name='logout'),
    path('api/auth/logoutall/', LogoutAllAPIView.as_view(), name='logout-all'),

    # Github related APIs
    path('api/github/tokens/', AddGithubToken.as_view(), name='add-gh-token'),
    path('api/github/tokens/',
Esempio n. 13
0
         include(("variables.urls", "variables"), namespace="variables")),
    url(r"^admin/", admin.site.urls),
    path("plots/", include(("plots.urls", "plots"), namespace="plots")),
    path(
        "activities/",
        include(("activities.urls", "activities"), namespace="activities"),
    ),
    # SWAGGER PATHS
    path(
        "",
        SpectacularSwaggerView.as_view(url_name="schema"),
        name="swagger-ui",
    ),
    path(
        "schema/",
        SpectacularAPIView.as_view(),
        name="schema",
    ),
    path(
        "api/",
        SpectacularSwaggerView.as_view(url_name="api-schema"),
        name="swagger-ui",
    ),
    path("api/schema/",
         SpectacularAPIView.as_view(urlconf="api.urls"),
         name="api-schema"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

# Host the static from uWSGI
if settings.IS_WSGI:
    print("uWSGI mode, adding static file patterns")
    re_path('', include('training_platform.urls', )),
    re_path('', include('users.urls', )),

]

# sub_urlpatterns += [
#     # YOUR PATTERNS
#     path('api/v1/schema/', SpectacularAPIView.as_view(api_version='v1',), name='schema'),
#     # Optional UI:
#     path('api/v1/schema/swagger-ui/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
#     path('api/v1/schema/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'),
#
#     path('__debug__/', include(debug_toolbar.urls)),
# ]

sub_urlpatterns_api_v1 += [
    # YOUR PATTERNS
    path('schema/', SpectacularAPIView.as_view(api_version='v1',), name='schema'),
    # Optional UI:
    path('schema/swagger-ui/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
    path('schema/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'),

    # path('__debug__/', include(debug_toolbar.urls)),
]
foo = []
urlpatterns = [
    re_path(r'^api/v1/', include((sub_urlpatterns_api_v1, 'v1'), namespace='v1')),
    re_path(r'^api/v2/', include((sub_urlpatterns_api_v1, 'v2'), namespace='v2')),
    path('__debug__/', include(debug_toolbar.urls)),
]
Esempio n. 15
0
admin.autodiscover()

router = routers.DefaultRouter()
router.register(r"sessions", SessionViewSet)
router.register(r"speakers", SpeakerViewSet)
router.register(r"events", EventDetailViewSet)

urlpatterns = [
    url(r"^api/", include(router.urls)),
    url(r"^api/schema/swagger-ui/",
        SpectacularSwaggerView.as_view(url_name='schema'),
        name='swagger-ui'),
    url(r"^api/schema/redoc/",
        SpectacularRedocView.as_view(url_name='schema'),
        name='redoc'),
    url(r"^api/schema/", SpectacularAPIView.as_view(), name='schema'),
    url(r"^api-auth/", include("rest_framework.urls")),
    url(r"^api-token-auth/", views.obtain_auth_token),
    url(r"^admin/", admin.site.urls),
    url(r"^admin/send_email/$", SendEmailView.as_view(), name="send_email"),
    url(r"^sitemap\.xml$", sitemap_view,
        {"sitemaps": {
            "cmspages": CMSSitemap
        }}),
    url(r"^select2/", include("django_select2.urls")),
    url(r"", include("attendee.urls")),
    url(r"^accounts/", include("devday.registration_urls")),
    url(r"^upload/", include("django_file_form.urls")),
    url(r"^session/", include("talk.urls")),
    url(r"^committee/", include("talk.urls_committee")),
    url(r"^twitterwall/", TwitterwallView.as_view(), name="twitterwall"),
Esempio n. 16
0
    path("admin/decos-api-search/", DecosAPISearch.as_view(), name="decos_api_search"),
    path("admin/bwv-structure", BWVTablesView.as_view(), name="bwv-structure"),
    path("admin/", admin.site.urls),
    # Algorithm sandbox environment
    path("algorithm/", AlgorithmListView.as_view(), name="algorithm-list"),
    path("algorithm/<int:pk>", AlgorithmView.as_view(), name="algorithm-detail"),
    # Health check urls
    path("looplijsten/health", health_default, name="health-default"),
    path("looplijsten/health_bwv", health_bwv, name="health-bwv"),
    path("health/", include("health_check.urls")),
    # The API for requesting data
    path("api/v1/", include((v1_urls, "app"), namespace="v1")),
    path("api/v2/", include((v1_urls, "app"), namespace="v2")),
    # # Swagger/OpenAPI documentation
    path(
        "api/v1/schema/", SpectacularAPIView.as_view(api_version="v1"), name="schema-v1"
    ),
    path(
        "api/v1/swagger/",
        SpectacularSwaggerView.as_view(url_name="schema-v1"),
        name="swagger-ui",
    ),
    path(
        "api/v2/schema/", SpectacularAPIView.as_view(api_version="v2"), name="schema-v2"
    ),
    path(
        "api/v2/swagger/",
        SpectacularSwaggerView.as_view(url_name="schema-v2"),
        name="swagger-ui",
    ),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Esempio n. 17
0
)

# noinspection PyUnresolvedReferences
from hacktheback.rest.openapi import JSONWebTokenAuthenticationScheme

# URL patterns for hacker APIs
hacker_urlpatterns = [
    path("", include("hacktheback.rest.forms.hacker_urls")),
]

# URL patterns for admin APIs
admin_urlpatterns = [
    path("account/", include("hacktheback.rest.account.admin_urls")),
    path("messenger/", include("hacktheback.rest.messenger.admin_urls")),
    path("", include("hacktheback.rest.forms.admin_urls")),
]

urlpatterns = [
    path("account/", include("hacktheback.rest.account.urls")),
    path("", include(hacker_urlpatterns)),
    path("admin/", include(admin_urlpatterns)),
    path("schema", SpectacularAPIView.as_view(), name="schema"),
    path("schema.json", SpectacularJSONAPIView.as_view(), name="schema-json"),
    path("schema.yaml", SpectacularYAMLAPIView.as_view(), name="schema-yaml"),
    path(
        "swagger",
        SpectacularSwaggerView.as_view(url_name="schema-yaml"),
        name="swagger",
    ),
]
Esempio n. 18
0
                         basename='project-services')

# Routes for requirements
router.register(r'requirements', views.RequirementViewSet)

# Routes for resources
router.register(r'resources', views.ResourceViewSet)

# Routes for services
router.register(r'services', views.ServiceViewSet)
services_router = routers.NestedSimpleRouter(router,
                                             r'services',
                                             lookup='service')
services_router.register(r'requirements',
                         views.ServiceRequirementsViewSet,
                         basename='service-requirements')

# Combine the URLs from all the routers to make the URL patterns
urlpatterns = [
    path('me/', views.CurrentUserView.as_view(), name='current-user'),
    path('join/', views.ProjectJoinView.as_view(), name='project-join'),
    path('', include(router.urls)),
    path('', include(consortia_router.urls)),
    path('', include(projects_router.urls)),
    path('', include(services_router.urls)),
    path('schema.json', SpectacularAPIView.as_view(), name='openapi-schema'),
    path('doc/',
         SpectacularSwaggerView.as_view(url_name='openapi-schema'),
         name='openapi-docs'),
]
Esempio n. 19
0
# Django
from django.contrib.auth.decorators import login_required
from django.urls import path
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView

# Project
from .views_qc import QCUploadView, QCDownloadView
from .views_wsn import CreateView, IridiumView, MeshliumView
from .views_wsn import QueryPostgreSQL, QueryClickHouse
from .views_wsn import UploadEddyproView


app_name = 'api'

urlpatterns = [
    # wsn: import data
    path('api/create/', CreateView.as_view()),
    path('api/upload/eddypro/', UploadEddyproView.as_view()),
    path('api/iridium/', IridiumView.as_view()),
    path('getpost_frame_parser.php', MeshliumView.as_view()),
    # wsn: query
    path('api/query/postgresql/', QueryPostgreSQL.as_view()),
    path('api/query/clickhouse/', QueryClickHouse.as_view()),
    # Quality Control
    path('api/qc/upload/', QCUploadView.as_view(), name='qc-upload'),
    path('api/qc/download/<name>/', QCDownloadView.as_view(), name='qc-download'),
    # Schema & docs
    path('api/schema/', login_required(SpectacularAPIView.as_view()), name='schema'),
    path('api/', login_required(SpectacularRedocView.as_view(url_name='api:schema')), name='redoc'),
]
Esempio n. 20
0
    def get_serializer_class(self):
        # make sure the mocked request possesses the correct path and
        # schema endpoint path does not leak in.
        assert self.request.path.startswith('/api/x/')
        # make schema dependent on request method
        if self.request.method == 'GET':
            return SimpleSerializer
        else:
            return AnotherSimpleSerializer


router = routers.SimpleRouter()
router.register('x', XViewset)
urlpatterns = [
    path('api/', include(router.urls)),
    path('api/schema-plain/', SpectacularAPIView.as_view()),
    path(
        'api/schema-authenticated/',
        SpectacularAPIView.as_view(
            authentication_classes=[TokenAuthentication])),
    path(
        'api/schema-authenticated-private/',
        SpectacularAPIView.as_view(
            authentication_classes=[TokenAuthentication],
            serve_public=False,
        )),
    path('api/schema-versioned/',
         SpectacularAPIView.as_view(versioning_class=AcceptHeaderVersioning))
]

Esempio n. 21
0
File: urls.py Progetto: TmLev/dal
)

from drf_spectacular.views import (
    SpectacularAPIView,
    SpectacularSwaggerView,
)

from conf import settings

from common.views.populate import PopulateAPIView

from tgbot.views import populate as tgbot_populate

urlpatterns = [
    # Swagger
    path("swagger/schema/", SpectacularAPIView.as_view(), name="schema"),
    path("swagger/",
         SpectacularSwaggerView.as_view(url_name="schema"),
         name="swagger-ui"),

    # Public
    path("api/auth/", include("auth.urls")),
    path("api/dms/", include("dms.urls")),
    path("api/lms/", include("lms.urls")),
    path("api/tgbot/", include("tgbot.urls")),

    # Internal
    path("admin/", admin.site.urls),
    path("better-populate/", PopulateAPIView.as_view()),
    path("populate/tgbot/", tgbot_populate),
]
Esempio n. 22
0
urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) +\
    [
    # admin panel
    path('admin/', admin.site.urls),

    # login into the API
    path('api/', include('rest_framework.urls')),

    # token authentication
    path('api-token-auth/', drf_views.obtain_auth_token),

    # API
    path('api/v2/', include('backend.api_v2.urls')),
    path(
        'schema/',
        SpectacularAPIView.as_view(
            api_version="1.0.0"),
        name='schema'),
    path(
        'schema/swagger-ui/',
        SpectacularSwaggerView().as_view(
            url_name='schema'),
        name='swagger-ui'),
    path(
        'schema/redoc/',
        SpectacularRedocView.as_view(
            url_name='schema'),
        name='redoc'),

    # training artifacts
    path('files/', include('directory.urls')),
Esempio n. 23
0
from django.contrib import admin
from django.urls import path, include
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('users/', include('apps.users.urls')),
    path('api_users/', include('apps.api_users.urls')),
    path("docs/schema/", SpectacularAPIView.as_view(), name="docs"),
    path("docs/",
         SpectacularSwaggerView.as_view(url_name="docs"),
         name="swagger-ui"),
]
Esempio n. 24
0
    SpectacularAPIView,
    SpectacularRedocView,
    SpectacularSwaggerSplitView,
    SpectacularSwaggerView,
)


@extend_schema(responses=OpenApiTypes.FLOAT)
@api_view(http_method_names=['GET'])
def pi(request):
    return Response(3.1415)


urlpatterns_v1 = [path('api/v1/pi/', pi)]
urlpatterns_v1.append(
    path('api/v1/schema/', SpectacularAPIView.as_view(urlconf=urlpatterns_v1)))

urlpatterns_v2 = [
    path('api/v2/pi/', pi),
    path('api/v2/pi-fast/', pi),
    path('api/v2/schema/swagger-ui/',
         SpectacularSwaggerView.as_view(),
         name='swagger'),
    path('api/v2/schema/swagger-ui-alt/',
         SpectacularSwaggerSplitView.as_view(),
         name='swagger-alt'),
    path('api/v2/schema/redoc/', SpectacularRedocView.as_view(), name='redoc'),
]
urlpatterns_v2.append(
    path('api/v2/schema/',
         SpectacularAPIView.as_view(urlconf=urlpatterns_v2),
Esempio n. 25
0
                             content_type="text/plain")),
    path(
        "sitemap.xml",
        sitemap,
        {
            "sitemaps": {
                "static": StaticViewSitemap,
                "dynamic": GenericSitemap({"queryset": Job.objects.all()})
            }
        },
        name="django.contrib.sitemaps.views.sitemap",
    ),
    path("api/", include("api.urls")),
    path("api/token/", TokenObtainPairView.as_view(),
         name="token_obtain_pair"),
    path("api/token/refresh/",
         TokenRefreshView.as_view(),
         name="token_refresh"),
    path("api/token/verify/", TokenVerifyView.as_view(), name="token_verify"),
    # Swagger UI for DRF.
    path("api/schema/",
         SpectacularAPIView.as_view(api_version="v3"),
         name="schema"),
    path(
        "api/docs/",
        SpectacularSwaggerView.as_view(template_name="swagger-ui.html",
                                       url_name="schema"),
        name="swagger-ui",
    ),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Esempio n. 26
0
File: urls.py Progetto: hmpf/Argus
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import include, path, re_path

from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
from social_django.urls import extra

from argus.auth.views import ObtainNewAuthToken
from argus.dataporten import views as dataporten_views
from argus.site.views import error


psa_urls = [
    # Overrides social_django's `complete` view
    re_path(fr"^complete/(?P<backend>[^/]+){extra}$", dataporten_views.login_wrapper, name="complete"),
    path("", include("social_django.urls", namespace="social")),
]

urlpatterns = [
    # path(".error/", error),  # Only needed when testing error pages and error behavior
    path("admin/", admin.site.urls),
    path("oidc/", include(psa_urls)),
    path("api/schema/", SpectacularAPIView.as_view(api_version="v1"), name="schema-v1-old"),
    path("api/schema/swagger-ui/", SpectacularSwaggerView.as_view(url_name="schema-v1-old"), name="swagger-ui-v1-old"),
    path("api/v1/", include(("argus.site.api_v1_urls", "api"), namespace="v1")),
    # path("api/v2/", include(("argus.site.api_v2_urls", "api"), namespace="v2")),
]
Esempio n. 27
0
         views.EventUpdateView.as_view(),
         name='eventupdate'),
    path('eventdelete/<int:pk>/',
         views.EventDeleteView.as_view(),
         name='eventdelete'),
    path('taglist/', views.TagListView.as_view(), name='taglist'),
    path('tagcreate/', views.TagCreateView.as_view(), name='tagcreate'),
    path('tagupdate/<int:pk>/',
         views.TagUpdateView.as_view(),
         name='tagupdate'),
    path('tagdelete/<int:pk>/',
         views.TagDeleteView.as_view(),
         name='tagdelete'),
    path('photos/', include(router.urls)),
    path('accounts/', include('accounts.urls')),
    path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
    # Optional UI:
    path('api/schema/swagger-ui/',
         SpectacularSwaggerView.as_view(url_name='schema'),
         name='swagger-ui'),
    path('api/schema/redoc/',
         SpectacularRedocView.as_view(url_name='schema'),
         name='redoc'),

    # JWT authentication
    path('api/token/', TokenObtainPairView.as_view(),
         name='token_obtain_pair'),
    path('api/token/refresh/',
         TokenRefreshView.as_view(),
         name='token_refresh'),
]
Esempio n. 28
0
    SpectacularAPIView,
    SpectacularRedocView,
    SpectacularSwaggerView,
)

from hours.api import APIRouter
from hours.views import invalidate_hauki_auth_signature

admin.autodiscover()

router = APIRouter()

urlpatterns = [
    path("admin/", admin.site.urls),
    path("v1/", include(router.urls)),
    path("openapi/", SpectacularAPIView.as_view(), name="schema"),
    path("api_docs/",
         SpectacularRedocView.as_view(url_name="schema"),
         name="redoc"),
    path(
        "api_docs/swagger/",
        SpectacularSwaggerView.as_view(url_name="schema"),
        name="swagger-ui",
    ),
    path(
        "invalidate_signature/",
        invalidate_hauki_auth_signature,
        name="invalidate_hauki_auth_signature",
    ),
    path("", include("rest_framework.urls", namespace="rest_framework")),
    path("", RedirectView.as_view(url="v1/")),
Esempio n. 29
0
from django.urls import include, path

from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView

from argus.auth.views import ObtainNewAuthToken

openapi_urls = [
    path("", SpectacularAPIView.as_view(api_version="v2"), name="schema"),
    path("swagger-ui/",
         SpectacularSwaggerView.as_view(url_name="v2:openapi:schema"),
         name="swagger-ui"),
]

tokenauth_urls = [
    path("", ObtainNewAuthToken.as_view(), name="api-token-auth"),
]

urlpatterns = [
    path("schema/", include((openapi_urls, "openapi"))),
    path("auth/", include("argus.auth.urls")),
    path("incidents/", include("argus.incident.urls")),
    path("notificationprofiles/", include("argus.notificationprofile.urls")),
    path("token-auth/", include((tokenauth_urls, "auth"))),
]
Esempio n. 30
0
router.register('server', views.ServerViewSet, basename='server')
router.register('issues', views.IssueViewSet)
router.register('comments', views.CommentViewSet)
router.register('restrictions', RestrictionsViewSet, basename='restrictions')
router.register('cloudstorages', views.CloudStorageViewSet)

urlpatterns = [
    # Entry point for a client
    path(
        '',
        RedirectView.as_view(url=settings.UI_URL,
                             permanent=True,
                             query_string=True)),

    # documentation for API
    path('api/schema/',
         SpectacularAPIView.as_view(api_version='2.0'),
         name='schema'),
    path('api/swagger/',
         SpectacularSwaggerView.as_view(url_name='schema'),
         name='swagger'),
    path('api/docs/',
         SpectacularRedocView.as_view(url_name='schema'),
         name='redoc'),

    # entry point for API
    path('api/', include('cvat.apps.iam.urls')),
    path('api/', include('cvat.apps.organizations.urls')),
    path('api/', include(router.urls)),
]