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

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) 

12 

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 

17 

18app_name = "apis_core" 

19 

20router = CustomDefaultRouter() 

21# inject the manually created UriToObjectViewSet into the api router 

22router.register(r"metainfo/uritoobject", UriToObjectViewSet, basename="uritoobject") 

23 

24 

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 ) 

71 

72if "apis_core.relations" in settings.INSTALLED_APPS: 

73 urlpatterns.append(path("relations/", include("apis_core.relations.urls"))) 

74 

75if "apis_core.collections" in settings.INSTALLED_APPS: 

76 urlpatterns.append(path("collections/", include("apis_core.collections.urls")))