Coverage for apis_core/urls.py: 100%

28 statements  

« prev     ^ index     » next       coverage.py v7.5.3, created at 2025-06-25 10:00 +0000

1""" 

2Main entry point for APIS routes 

3""" 

4 

5from django.conf import settings 

6from django.contrib import admin 

7from django.urls import include, path 

8from drf_spectacular.views import ( 

9 SpectacularAPIView, 

10 SpectacularRedocView, 

11 SpectacularSwaggerView, 

12) 

13 

14from apis_core.generic.routers import CustomDefaultRouter 

15 

16app_name = "apis_core" 

17 

18urlpatterns = [ 

19 path("", include("apis_core.core.urls")), 

20 path("", include("apis_core.generic.urls")), 

21 path("admin/", admin.site.urls), 

22 path("accounts/", include("django.contrib.auth.urls")), 

23] 

24 

25router = CustomDefaultRouter() 

26 

27 

28if "apis_core.apis_metainfo" in settings.INSTALLED_APPS: 

29 from apis_core.apis_metainfo.urls import router as apis_metainfo_router 

30 

31 router.registry.extend(apis_metainfo_router.registry) 

32 

33 

34if "apis_core.apis_entities" in settings.INSTALLED_APPS: 

35 urlpatterns.append(path("entities/", include("apis_core.apis_entities.urls"))) 

36 from apis_core.apis_entities.urls import api_routes 

37 

38 urlpatterns.append(path("api/", include(api_routes))) 

39 

40 

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

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

43 

44 

45if "apis_core.history" in settings.INSTALLED_APPS: 

46 urlpatterns.append(path("history/", include("apis_core.history.urls"))) 

47 

48 

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

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

51 

52 

53if "apis_core.documentation" in settings.INSTALLED_APPS: 

54 urlpatterns.append(path("", include("apis_core.documentation.urls"))) 

55 

56 

57urlpatterns.append(path("api/", include(router.urls))) 

58urlpatterns.append(path("api-auth/", include("rest_framework.urls"))) 

59 

60 

61urlpatterns.append(path("swagger/schema/", SpectacularAPIView.as_view(), name="schema")) 

62urlpatterns.append( 

63 path( 

64 "swagger/schema/swagger-ui/", 

65 SpectacularSwaggerView.as_view(url_name="apis_core:schema"), 

66 name="swagger-ui", 

67 ) 

68) 

69urlpatterns.append( 

70 path( 

71 "swagger/schema/redoc/", 

72 SpectacularRedocView.as_view(url_name="apis_core:schema"), 

73 name="redoc", 

74 ) 

75)