Coverage for apis_core/urls.py: 100%
21 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-16 07:42 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-16 07:42 +0000
1from django.conf import settings
2from django.contrib import admin
3from django.contrib.auth.decorators import login_required
4from django.urls import include, path, re_path
5from django.views.generic import TemplateView
6from django.views.static import serve
7from drf_spectacular.views import (
8 SpectacularAPIView,
9 SpectacularRedocView,
10 SpectacularSwaggerView,
11)
13from apis_core.apis_entities.api_views import GetEntityGeneric, ListEntityGeneric
14from apis_core.apis_metainfo.viewsets import UriToObjectViewSet
15from apis_core.core.views import Dumpdata
16from apis_core.generic.routers import CustomDefaultRouter
18app_name = "apis_core"
20router = CustomDefaultRouter()
21# inject the manually created UriToObjectViewSet into the api router
22router.register(r"metainfo/uritoobject", UriToObjectViewSet, basename="uritoobject")
25urlpatterns = [
26 path("", TemplateView.as_view(template_name="base.html"), name="apis_index"),
27 path("admin/", admin.site.urls),
28 path("swagger/schema/", SpectacularAPIView.as_view(), name="schema"),
29 # Optional UI:
30 path(
31 "swagger/schema/swagger-ui/",
32 SpectacularSwaggerView.as_view(url_name="apis_core:schema"),
33 name="swagger-ui",
34 ),
35 path(
36 "swagger/schema/redoc/",
37 SpectacularRedocView.as_view(url_name="apis_core:schema"),
38 name="redoc",
39 ),
40 path(
41 "entities/", include("apis_core.apis_entities.urls", namespace="apis_entities")
42 ),
43 path(
44 "relations/",
45 include("apis_core.apis_relations.urls", namespace="apis_relations"),
46 ),
47 path(
48 "api/", include((router.urls, "apis_core"), namespace="apis_api")
49 ), # routers do not support namespaces out of the box
50 path("api-auth/", include("rest_framework.urls", namespace="rest_framework")),
51 re_path(
52 r"^docs/(?P<path>.*)$",
53 login_required(serve),
54 {"document_root": "apis-core/docs/_build/html"},
55 "docs",
56 ),
57 path("accounts/", include("django.contrib.auth.urls")),
58 path(
59 "entity/<int:pk>/",
60 GetEntityGeneric.as_view(),
61 name="GetEntityGeneric",
62 ),
63 path("api/entities/", ListEntityGeneric.as_view()),
64 path("api/dumpdata", Dumpdata.as_view()),
65 path("", include("apis_core.generic.urls", namespace="generic")),
66]
67if "apis_core.history" in settings.INSTALLED_APPS:
68 urlpatterns.append(
69 path("history/", include("apis_core.history.urls", namespace="history"))
70 )
72if "apis_core.relations" in settings.INSTALLED_APPS:
73 urlpatterns.append(path("relations/", include("apis_core.relations.urls")))
75if "apis_core.collections" in settings.INSTALLED_APPS:
76 urlpatterns.append(path("collections/", include("apis_core.collections.urls")))