Skip to content

Commit

Permalink
Fix the api docs
Browse files Browse the repository at this point in the history
  • Loading branch information
grahamgilbert committed Jan 12, 2021
1 parent d377fd2 commit 99b77ab
Show file tree
Hide file tree
Showing 6 changed files with 168 additions and 136 deletions.
24 changes: 24 additions & 0 deletions api/templates/redoc.html
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Sal API documentation</title>
<!-- needed for adaptive design -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700"
rel="stylesheet"
/>
<!-- ReDoc doesn't change outer page styles -->
<style>
body {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<redoc spec-url="{% url schema_url %}"></redoc>
<script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"></script>
</body>
</html>
45 changes: 29 additions & 16 deletions api/v2/urls.py
@@ -1,33 +1,46 @@
from django.urls import include, path
from django.views.generic import TemplateView

from rest_framework.documentation import include_docs_urls
from rest_framework.routers import DefaultRouter
from rest_framework.schemas import get_schema_view

from . import views


router = DefaultRouter()
router.register('business_units', views.BusinessUnitViewSet)
router.register('facts', views.FactViewSet)
router.register('inventory', views.InventoryViewSet)
router.register('machine_groups', views.MachineGroupViewSet)
router.register('machines', views.MachineViewSet)
router.register('management_sources', views.ManagementSourceViewSet)
router.register('managed_items', views.ManagedItemViewSet)
router.register('managed_item_histories', views.ManagedItemHistoryViewSet)
router.register('messages', views.MessageViewSet)
router.register('plugin_script_rows', views.PluginScriptRowViewSet)
router.register('profiles', views.ProfileViewSet)
router.register('saved_searches', views.SavedSearchViewSet)
router.register("business_units", views.BusinessUnitViewSet)
router.register("facts", views.FactViewSet)
router.register("inventory", views.InventoryViewSet)
router.register("machine_groups", views.MachineGroupViewSet)
router.register("machines", views.MachineViewSet)
router.register("management_sources", views.ManagementSourceViewSet)
router.register("managed_items", views.ManagedItemViewSet)
router.register("managed_item_histories", views.ManagedItemHistoryViewSet)
router.register("messages", views.MessageViewSet)
router.register("plugin_script_rows", views.PluginScriptRowViewSet)
router.register("profiles", views.ProfileViewSet)
router.register("saved_searches", views.SavedSearchViewSet)


urlpatterns = [
path('', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
path("", include(router.urls)),
path("api-auth/", include("rest_framework.urls", namespace="rest_framework")),
path(
"openapi",
get_schema_view(title="Sal API", description="API for Sal", version="2.0.0"),
name="openapi-schema",
),
]

# Include the docs separatly, so we can use the v2 URLs above to filter
# out the older API schema from the docs.
urlpatterns.append(
path('docs/', include_docs_urls(
title='Sal REST API', schema_url='/api/v2/', patterns=urlpatterns)))
path(
"docs/",
TemplateView.as_view(
template_name="redoc.html", extra_context={"schema_url": "openapi-schema"}
),
name="redoc",
),
)

0 comments on commit 99b77ab

Please sign in to comment.