Skip to content

Commit 0980238

Browse files
committed
✨ Add schema
Removes pagination as per the reference openapi spec.
1 parent c844f2e commit 0980238

20 files changed

+5737
-28
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from django.conf import settings
2+
3+
from drf_yasg import openapi
4+
5+
description = """
6+
Een API om de referentielijsten in het domein klantinteracties te raadplegen en beheren.
7+
""".strip()
8+
9+
info = openapi.Info(
10+
title="Klantinteracties Referentielijsten",
11+
default_version=settings.REFERENTIELIJSTEN_API_VERSION,
12+
description=description,
13+
contact=openapi.Contact(
14+
email="standaarden.ondersteuning@vng.nl",
15+
url="https://vng-realisatie.github.io/klantinteracties/",
16+
),
17+
license=openapi.License(
18+
name="EUPL 1.2", url="https://opensource.org/licenses/EUPL-1.2"
19+
),
20+
)

src/openklant/components/referentielijsten/api/tests/test_externe_registers.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ def test_getexterneregisters(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 1000)
17-
self.assertLess(len(response_data["results"]), 1000)
16+
self.assertEqual(len(response_data), 1000)
1817

1918
def test_postregister(self):
2019
url = reverse("referentielijsten:externregister-list")

src/openklant/components/referentielijsten/api/tests/test_kanalen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_getkanalen(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 6)
16+
self.assertEqual(len(response_data), 6)
1717

1818
def test_postkanaal(self):
1919
url = reverse("referentielijsten:kanaal-list")

src/openklant/components/referentielijsten/api/tests/test_landen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_getlanden(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 6)
16+
self.assertEqual(len(response_data), 6)
1717

1818
def test_postland(self):
1919
url = reverse("referentielijsten:land-list")

src/openklant/components/referentielijsten/api/tests/test_soorten_digitaal_adres.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_getsoortendigitaaladres(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 6)
16+
self.assertEqual(len(response_data), 6)
1717

1818
def test_postsoortdigitaaladres(self):
1919
url = reverse("referentielijsten:soortdigitaaladres-list")

src/openklant/components/referentielijsten/api/tests/test_soorten_object.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_getsoortenobject(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 6)
16+
self.assertEqual(len(response_data), 6)
1717

1818
def test_postsoortobject(self):
1919
url = reverse("referentielijsten:soortobject-list")

src/openklant/components/referentielijsten/api/tests/test_soorten_objectid.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_getsoortenobjectid(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 6)
16+
self.assertEqual(len(response_data), 6)
1717

1818
def test_postsoortobjectid(self):
1919
url = reverse("referentielijsten:soortobjectid-list")

src/openklant/components/referentielijsten/api/tests/test_talen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_gettalen(self):
1313
response = self.client.get(url)
1414
self.assertEqual(response.status_code, status.HTTP_200_OK)
1515
response_data = response.json()
16-
self.assertEqual(response_data["count"], 6)
16+
self.assertEqual(len(response_data), 6)
1717

1818
def test_posttaal(self):
1919
url = reverse("referentielijsten:taal-list")

src/openklant/components/referentielijsten/api/urls.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from django.conf import settings
2-
from django.urls import include, path
2+
from django.urls import include, path, re_path
33

4-
from vng_api_common import routers
4+
from vng_api_common import routers, schema
55

66
from . import viewsets
7+
from .schema import info
78

89
app_name = "referentielijsten"
910

@@ -17,13 +18,27 @@
1718
router.register("talen", viewsets.TaalViewSet)
1819

1920

21+
class SchemaView(schema.SchemaView):
22+
schema_path = settings.SPEC_URL["referentielijsten"]
23+
info = info
24+
25+
2026
urlpatterns = [
2127
path(
22-
"v<slug:version>/",
28+
"v<version>/",
2329
include(
2430
[
25-
# TODO API documentation
26-
# re_path(r"^schema/openapi(?P<format>\.json|\.yaml)$",
31+
# API documentation
32+
re_path(
33+
r"^schema/openapi(?P<format>\.json|\.yaml)$",
34+
SchemaView.without_ui(cache_timeout=None),
35+
name="schema-json-referentielijsten",
36+
),
37+
path(
38+
"schema/",
39+
SchemaView.with_ui("redoc", cache_timeout=None),
40+
name="schema-redoc-klantinteracties",
41+
),
2742
path("", include(router.urls)),
2843
]
2944
),
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from rest_framework import viewsets
2-
from rest_framework.pagination import PageNumberPagination
32

43
from ...models import ExternRegister
54
from ..serializers import ExternRegisterSerializer
65

76

87
class ExternRegisterViewSet(viewsets.ModelViewSet):
8+
__doc__ = ExternRegister.__doc__
99
lookup_field = "code"
10-
pagination_class = PageNumberPagination
10+
pagination_class = None
1111
queryset = ExternRegister.objects.order_by("-pk")
1212
serializer_class = ExternRegisterSerializer

0 commit comments

Comments
 (0)