commonground-api-common 2.6.3__tar.gz → 2.6.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/CHANGELOG.rst +20 -0
  2. {commonground_api_common-2.6.3/commonground_api_common.egg-info → commonground_api_common-2.6.5}/PKG-INFO +14 -9
  3. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/README.rst +9 -3
  4. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5/commonground_api_common.egg-info}/PKG-INFO +14 -9
  5. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/commonground_api_common.egg-info/SOURCES.txt +1 -0
  6. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/commonground_api_common.egg-info/requires.txt +3 -5
  7. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/setup.cfg +6 -23
  8. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_cached_hyperlinkrelatedfields.py +0 -2
  9. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_pagination.py +0 -1
  10. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_schema.py +3 -3
  11. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_utils.py +1 -1
  12. commonground_api_common-2.6.5/vng_api_common/__init__.py +1 -0
  13. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/admin.py +0 -1
  14. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/models.py +1 -2
  15. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/models.py +0 -1
  16. commonground_api_common-2.6.5/vng_api_common/authorizations/utils.py +27 -0
  17. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/registry.py +3 -3
  18. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/client.py +0 -1
  19. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/conf/api.py +1 -1
  20. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/constants.py +35 -20
  21. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/descriptors.py +4 -4
  22. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/filters.py +2 -51
  23. commonground_api_common-2.6.5/vng_api_common/filters_backend.py +60 -0
  24. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/mocks.py +1 -1
  25. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/routers.py +2 -2
  26. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/serializers.py +7 -7
  27. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/validators.py +1 -1
  28. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/views.py +1 -1
  29. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/viewsets.py +1 -1
  30. commonground_api_common-2.6.3/vng_api_common/__init__.py +0 -1
  31. commonground_api_common-2.6.3/vng_api_common/authorizations/utils.py +0 -18
  32. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/MANIFEST.in +0 -0
  33. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/bin/generate_schema +0 -0
  34. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/commonground_api_common.egg-info/dependency_links.txt +0 -0
  35. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/commonground_api_common.egg-info/not-zip-safe +0 -0
  36. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/commonground_api_common.egg-info/top_level.txt +0 -0
  37. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/pyproject.toml +0 -0
  38. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/setup.py +0 -0
  39. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_autorisatie_validation.py +0 -0
  40. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_cache_headers.py +0 -0
  41. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_check_query_params.py +0 -0
  42. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_checks.py +0 -0
  43. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_choices.py +0 -0
  44. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_configuration_steps_applicaties.py +0 -0
  45. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_configuration_steps_jwtsecrets.py +0 -0
  46. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_content_type_headers.py +0 -0
  47. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_field_extensions.py +0 -0
  48. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_filter_extension.py +0 -0
  49. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_filters.py +0 -0
  50. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_gegevensgroepen.py +0 -0
  51. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_get_resource.py +0 -0
  52. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_jwt_decoding.py +0 -0
  53. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_jwtsecrets.py +0 -0
  54. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_migrations.py +0 -0
  55. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_nested_serializer_validation.py +0 -0
  56. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_permissions.py +0 -0
  57. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_publish_validators.py +0 -0
  58. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_serializer_extensions.py +0 -0
  59. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_serializer_fields.py +0 -0
  60. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_server_errors.py +0 -0
  61. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_validators.py +0 -0
  62. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/tests/test_views.py +0 -0
  63. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/api/__init__.py +0 -0
  64. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/api/permissions.py +0 -0
  65. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/api/serializers.py +0 -0
  66. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/api/urls.py +0 -0
  67. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/api/views.py +0 -0
  68. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/apps.py +0 -0
  69. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/__init__.py +0 -0
  70. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/admin.py +0 -0
  71. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/api/__init__.py +0 -0
  72. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/api/scopes.py +0 -0
  73. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/api/serializers.py +0 -0
  74. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/apps.py +0 -0
  75. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/audits.py +0 -0
  76. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0001_initial.py +0 -0
  77. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0002_auto_20190516_0830.py +0 -0
  78. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0003_auto_20190517_0844.py +0 -0
  79. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0004_auto_20190520_1238.py +0 -0
  80. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0005_auto_20190520_1450.py +0 -0
  81. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0006_audittrail_toelichting.py +0 -0
  82. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0007_auto_20190522_0916.py +0 -0
  83. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0008_audittrail_resource_weergave.py +0 -0
  84. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0009_auto_20190712_1643.py +0 -0
  85. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0010_audittrail_request_id.py +0 -0
  86. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0011_auto_20190918_1335.py +0 -0
  87. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0012_auto_20200619_0545.py +0 -0
  88. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0012_remove_audittrail_request_id.py +0 -0
  89. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0013_audittrail_logrecord_id.py +0 -0
  90. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0013_auto_20201207_0846.py +0 -0
  91. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0014_auto_20201221_0905.py +0 -0
  92. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0014_auto_20210323_1654.py +0 -0
  93. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0015_auto_20220318_1608.py +0 -0
  94. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0016_merge_20220607_0517.py +0 -0
  95. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0017_alter_audittrail_bron.py +0 -0
  96. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/0018_auto_20221212_0745.py +0 -0
  97. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/__init__.py +0 -0
  98. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/migrations/_operations.py +0 -0
  99. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/utils.py +0 -0
  100. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/audittrails/viewsets.py +0 -0
  101. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/__init__.py +0 -0
  102. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/admin.py +0 -0
  103. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/middleware.py +0 -0
  104. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0001_initial.py +0 -0
  105. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0002_authorizationsconfig.py +0 -0
  106. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0003_auto_20190502_0409.py +0 -0
  107. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0004_auto_20190503_0941.py +0 -0
  108. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0005_auto_20190506_0842.py +0 -0
  109. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0006_auto_20190506_0901.py +0 -0
  110. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0007_auto_20190506_1212.py +0 -0
  111. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0008_auto_20190712_1541.py +0 -0
  112. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0009_update_enums.py +0 -0
  113. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0010_auto_20190712_1643.py +0 -0
  114. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0011_auto_20191114_0728.py +0 -0
  115. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0012_auto_20200619_0545.py +0 -0
  116. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0013_auto_20201207_0846.py +0 -0
  117. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0014_auto_20201221_0905.py +0 -0
  118. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0015_auto_20220318_1608.py +0 -0
  119. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0016_remove_authorizationsconfig_api_root_and_more.py +0 -0
  120. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/0017_alter_applicatie_client_ids_and_more.py +0 -0
  121. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/migrations/__init__.py +0 -0
  122. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/serializers.py +0 -0
  123. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/authorizations/validators.py +0 -0
  124. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/__init__.py +0 -0
  125. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/decorators.py +0 -0
  126. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/etags.py +0 -0
  127. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/introspection.py +0 -0
  128. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/models.py +0 -0
  129. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/caching/signals.py +0 -0
  130. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/checks.py +0 -0
  131. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/choices.py +0 -0
  132. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/compat.py +0 -0
  133. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/conf/__init__.py +0 -0
  134. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/contrib/__init__.py +0 -0
  135. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/contrib/setup_configuration/__init__.py +0 -0
  136. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/contrib/setup_configuration/models.py +0 -0
  137. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/contrib/setup_configuration/steps.py +0 -0
  138. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/db/__init__.py +0 -0
  139. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/db/operations.py +0 -0
  140. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/decorators.py +0 -0
  141. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/doc.py +0 -0
  142. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/exception_handling.py +0 -0
  143. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/exceptions.py +0 -0
  144. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/__init__.py +0 -0
  145. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/file.py +0 -0
  146. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/gegevensgroep.py +0 -0
  147. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/geojson.py +0 -0
  148. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/hyperlink.py +0 -0
  149. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/polymorphic.py +0 -0
  150. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/extensions/query.py +0 -0
  151. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/fields.py +0 -0
  152. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/filtersets.py +0 -0
  153. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/generators.py +0 -0
  154. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/geo.py +0 -0
  155. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/locale/nl/LC_MESSAGES/django.mo +0 -0
  156. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/locale/nl/LC_MESSAGES/django.po +0 -0
  157. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/middleware.py +0 -0
  158. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/0001_initial.py +0 -0
  159. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/0002_apicredential.py +0 -0
  160. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/0003_auto_20190417_1145.py +0 -0
  161. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/0004_auto_20190517_0903.py +0 -0
  162. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/0005_auto_20190614_1346.py +0 -0
  163. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/0006_delete_apicredential.py +0 -0
  164. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/migrations/__init__.py +0 -0
  165. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/models.py +0 -0
  166. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/__init__.py +0 -0
  167. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/api/__init__.py +0 -0
  168. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/api/urls.py +0 -0
  169. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/api/views.py +0 -0
  170. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/apps.py +0 -0
  171. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/handlers.py +0 -0
  172. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0001_initial.py +0 -0
  173. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0002_subscription__subscription.py +0 -0
  174. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0003_auto_20190319_1048.py +0 -0
  175. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0004_auto_20190325_1313.py +0 -0
  176. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0005_fix_default_nrc.py +0 -0
  177. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0006_auto_20190417_1142.py +0 -0
  178. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0007_auto_20190429_1442.py +0 -0
  179. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0008_auto_20190502_0415.py +0 -0
  180. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0009_auto_20190729_0427.py +0 -0
  181. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0010_auto_20220704_1419.py +0 -0
  182. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/0011_remove_subscription_config_and_more.py +0 -0
  183. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/notifications/migrations/__init__.py +0 -0
  184. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/oas.py +0 -0
  185. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/pagination.py +0 -0
  186. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/permissions.py +0 -0
  187. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/polymorphism.py +0 -0
  188. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/schema.py +0 -0
  189. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/scopes.py +0 -0
  190. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/search.py +0 -0
  191. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/css/admin/admin_overrides.css +0 -0
  192. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/css/screen.css +0 -0
  193. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/ico/favicon.png +0 -0
  194. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/img/vng.svg +0 -0
  195. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/LICENSE.txt +0 -0
  196. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/css/all.css +0 -0
  197. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/css/all.min.css +0 -0
  198. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.eot +0 -0
  199. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.svg +0 -0
  200. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  201. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.woff +0 -0
  202. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  203. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.eot +0 -0
  204. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.svg +0 -0
  205. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  206. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.woff +0 -0
  207. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  208. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.eot +0 -0
  209. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.svg +0 -0
  210. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  211. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.woff +0 -0
  212. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  213. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/admin/base_site.html +0 -0
  214. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/includes/kanalen_card.html +0 -0
  215. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/index.html +0 -0
  216. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/master.html +0 -0
  217. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/ref/error_detail.html +0 -0
  218. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/ref/scopes.html +0 -0
  219. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templates/vng_api_common/view_config.html +0 -0
  220. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templatetags/__init__.py +0 -0
  221. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/templatetags/vng_api_common.py +0 -0
  222. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/tests/__init__.py +0 -0
  223. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/tests/auth.py +0 -0
  224. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/tests/caching.py +0 -0
  225. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/tests/schema.py +0 -0
  226. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/tests/urls.py +0 -0
  227. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/urls.py +0 -0
  228. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/utils.py +0 -0
  229. {commonground_api_common-2.6.3 → commonground_api_common-2.6.5}/vng_api_common/version.py +0 -0
@@ -2,6 +2,26 @@
2
2
  Change history
3
3
  ==============
4
4
 
5
+ 2.6.5 (2025-05-27)
6
+ ------------------
7
+
8
+ **Bugfixes/QOL**
9
+
10
+ * No longer rely on zgw-consumers for generate_jwt util
11
+ * [#90] Make requests_mock dependency optional (can be installed with ``pip install commonground-api-common[oas]``)
12
+
13
+ **Maintenance**
14
+
15
+ * [maykinmedia/open-api-framework#140] Upgrade python to 3.12
16
+ * [maykinmedia/open-api-framework#132] Replace check_sphinx.py with make
17
+ * [maykinmedia/open-api-framework#133] Replace black, isort and flake8 with ruff and update code-quality workflow
18
+
19
+ 2.6.4 (2025-05-16)
20
+ ------------------
21
+
22
+ * [maykinmedia/open-klant#414] Move ``vng_api_common.filters.Backend`` -> ``vng_api_common.filters_backend.Backend``
23
+ * [maykinmedia/open-klant#414] Fix help texts not showing in generated OAS for ``vng_api_common.filters_backend.Backend``
24
+
5
25
  2.6.3 (2025-05-12)
6
26
  ------------------
7
27
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commonground-api-common
3
- Version: 2.6.3
3
+ Version: 2.6.5
4
4
  Summary: Commonground API tooling
5
5
  Home-page: https://github.com/maykinmedia/commonground-api-common
6
6
  Author: Maykin Media, VNG-Realisatie
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Programming Language :: Python :: 3 :: Only
19
19
  Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Requires-Dist: django>=4.2.0
23
24
  Requires-Dist: django-filter<=25.1,>=23.1
@@ -33,7 +34,6 @@ Requires-Dist: zgw-consumers>=0.35.1
33
34
  Requires-Dist: oyaml
34
35
  Requires-Dist: PyJWT>=2.1.1
35
36
  Requires-Dist: requests
36
- Requires-Dist: requests-mock
37
37
  Requires-Dist: coreapi
38
38
  Requires-Dist: ape-pie
39
39
  Provides-Extra: markdown-docs
@@ -50,19 +50,18 @@ Requires-Dist: pytest-django; extra == "tests"
50
50
  Requires-Dist: pytest-dotenv; extra == "tests"
51
51
  Requires-Dist: pytest-factoryboy; extra == "tests"
52
52
  Requires-Dist: tox; extra == "tests"
53
- Requires-Dist: isort; extra == "tests"
54
- Requires-Dist: black; extra == "tests"
53
+ Requires-Dist: ruff; extra == "tests"
55
54
  Requires-Dist: requests-mock; extra == "tests"
56
55
  Requires-Dist: freezegun; extra == "tests"
57
56
  Requires-Dist: zgw-consumers-oas; extra == "tests"
58
57
  Requires-Dist: djangorestframework-gis; extra == "tests"
59
58
  Requires-Dist: drf-extra-fields; extra == "tests"
59
+ Provides-Extra: oas
60
+ Requires-Dist: requests-mock; extra == "oas"
60
61
  Provides-Extra: testutils
61
62
  Requires-Dist: zgw-consumers-oas; extra == "testutils"
62
63
  Provides-Extra: setup-configuration
63
64
  Requires-Dist: django-setup-configuration>=0.7.0; extra == "setup-configuration"
64
- Provides-Extra: pep8
65
- Requires-Dist: flake8; extra == "pep8"
66
65
  Provides-Extra: coverage
67
66
  Requires-Dist: pytest-cov; extra == "coverage"
68
67
  Provides-Extra: docs
@@ -76,7 +75,12 @@ Requires-Dist: bump2version; extra == "release"
76
75
  Commonground-API-common - Tooling voor RESTful APIs
77
76
  ===================================================
78
77
 
79
- |build-status| |code-quality| |coverage| |docs| |black|
78
+
79
+ :Version: 2.6.5
80
+ :Source: https://github.com/maykinmedia/commonground-api-common
81
+ :PythonVersion: 3.12
82
+
83
+ |build-status| |code-quality| |coverage| |docs| |ruff|
80
84
 
81
85
  |python-versions| |django-versions| |pypi-version|
82
86
 
@@ -158,7 +162,8 @@ Features
158
162
  .. |pypi-version| image:: https://img.shields.io/pypi/v/commonground-api-common.svg
159
163
  :target: https://pypi.org/project/commonground-api-common/
160
164
 
161
- .. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
162
- :target: https://github.com/psf/black
165
+ .. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
166
+ :target: https://github.com/astral-sh/ruff
167
+ :alt: Ruff
163
168
 
164
169
  .. _documentatie: https://commonground-api-common.readthedocs.io/en/latest/?badge=latest
@@ -2,7 +2,12 @@
2
2
  Commonground-API-common - Tooling voor RESTful APIs
3
3
  ===================================================
4
4
 
5
- |build-status| |code-quality| |coverage| |docs| |black|
5
+
6
+ :Version: 2.6.5
7
+ :Source: https://github.com/maykinmedia/commonground-api-common
8
+ :PythonVersion: 3.12
9
+
10
+ |build-status| |code-quality| |coverage| |docs| |ruff|
6
11
 
7
12
  |python-versions| |django-versions| |pypi-version|
8
13
 
@@ -84,7 +89,8 @@ Features
84
89
  .. |pypi-version| image:: https://img.shields.io/pypi/v/commonground-api-common.svg
85
90
  :target: https://pypi.org/project/commonground-api-common/
86
91
 
87
- .. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
88
- :target: https://github.com/psf/black
92
+ .. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
93
+ :target: https://github.com/astral-sh/ruff
94
+ :alt: Ruff
89
95
 
90
96
  .. _documentatie: https://commonground-api-common.readthedocs.io/en/latest/?badge=latest
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commonground-api-common
3
- Version: 2.6.3
3
+ Version: 2.6.5
4
4
  Summary: Commonground API tooling
5
5
  Home-page: https://github.com/maykinmedia/commonground-api-common
6
6
  Author: Maykin Media, VNG-Realisatie
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Programming Language :: Python :: 3 :: Only
19
19
  Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Requires-Dist: django>=4.2.0
23
24
  Requires-Dist: django-filter<=25.1,>=23.1
@@ -33,7 +34,6 @@ Requires-Dist: zgw-consumers>=0.35.1
33
34
  Requires-Dist: oyaml
34
35
  Requires-Dist: PyJWT>=2.1.1
35
36
  Requires-Dist: requests
36
- Requires-Dist: requests-mock
37
37
  Requires-Dist: coreapi
38
38
  Requires-Dist: ape-pie
39
39
  Provides-Extra: markdown-docs
@@ -50,19 +50,18 @@ Requires-Dist: pytest-django; extra == "tests"
50
50
  Requires-Dist: pytest-dotenv; extra == "tests"
51
51
  Requires-Dist: pytest-factoryboy; extra == "tests"
52
52
  Requires-Dist: tox; extra == "tests"
53
- Requires-Dist: isort; extra == "tests"
54
- Requires-Dist: black; extra == "tests"
53
+ Requires-Dist: ruff; extra == "tests"
55
54
  Requires-Dist: requests-mock; extra == "tests"
56
55
  Requires-Dist: freezegun; extra == "tests"
57
56
  Requires-Dist: zgw-consumers-oas; extra == "tests"
58
57
  Requires-Dist: djangorestframework-gis; extra == "tests"
59
58
  Requires-Dist: drf-extra-fields; extra == "tests"
59
+ Provides-Extra: oas
60
+ Requires-Dist: requests-mock; extra == "oas"
60
61
  Provides-Extra: testutils
61
62
  Requires-Dist: zgw-consumers-oas; extra == "testutils"
62
63
  Provides-Extra: setup-configuration
63
64
  Requires-Dist: django-setup-configuration>=0.7.0; extra == "setup-configuration"
64
- Provides-Extra: pep8
65
- Requires-Dist: flake8; extra == "pep8"
66
65
  Provides-Extra: coverage
67
66
  Requires-Dist: pytest-cov; extra == "coverage"
68
67
  Provides-Extra: docs
@@ -76,7 +75,12 @@ Requires-Dist: bump2version; extra == "release"
76
75
  Commonground-API-common - Tooling voor RESTful APIs
77
76
  ===================================================
78
77
 
79
- |build-status| |code-quality| |coverage| |docs| |black|
78
+
79
+ :Version: 2.6.5
80
+ :Source: https://github.com/maykinmedia/commonground-api-common
81
+ :PythonVersion: 3.12
82
+
83
+ |build-status| |code-quality| |coverage| |docs| |ruff|
80
84
 
81
85
  |python-versions| |django-versions| |pypi-version|
82
86
 
@@ -158,7 +162,8 @@ Features
158
162
  .. |pypi-version| image:: https://img.shields.io/pypi/v/commonground-api-common.svg
159
163
  :target: https://pypi.org/project/commonground-api-common/
160
164
 
161
- .. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
162
- :target: https://github.com/psf/black
165
+ .. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
166
+ :target: https://github.com/astral-sh/ruff
167
+ :alt: Ruff
163
168
 
164
169
  .. _documentatie: https://commonground-api-common.readthedocs.io/en/latest/?badge=latest
@@ -54,6 +54,7 @@ vng_api_common/exception_handling.py
54
54
  vng_api_common/exceptions.py
55
55
  vng_api_common/fields.py
56
56
  vng_api_common/filters.py
57
+ vng_api_common/filters_backend.py
57
58
  vng_api_common/filtersets.py
58
59
  vng_api_common/generators.py
59
60
  vng_api_common/geo.py
@@ -12,7 +12,6 @@ zgw-consumers>=0.35.1
12
12
  oyaml
13
13
  PyJWT>=2.1.1
14
14
  requests
15
- requests-mock
16
15
  coreapi
17
16
  ape-pie
18
17
 
@@ -34,8 +33,8 @@ drf-extra-fields>=3.7.0
34
33
  django-markup<=1.3
35
34
  markdown
36
35
 
37
- [pep8]
38
- flake8
36
+ [oas]
37
+ requests-mock
39
38
 
40
39
  [release]
41
40
  bump2version
@@ -50,8 +49,7 @@ pytest-django
50
49
  pytest-dotenv
51
50
  pytest-factoryboy
52
51
  tox
53
- isort
54
- black
52
+ ruff
55
53
  requests-mock
56
54
  freezegun
57
55
  zgw-consumers-oas
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = commonground-api-common
3
- version = 2.6.3
3
+ version = 2.6.5
4
4
  description = Commonground API tooling
5
5
  long_description = file: README.rst
6
6
  url = https://github.com/maykinmedia/commonground-api-common
@@ -20,6 +20,7 @@ classifiers =
20
20
  Programming Language :: Python :: 3 :: Only
21
21
  Programming Language :: Python :: 3.10
22
22
  Programming Language :: Python :: 3.11
23
+ Programming Language :: Python :: 3.12
23
24
  Topic :: Software Development :: Libraries :: Python Modules
24
25
 
25
26
  [options]
@@ -43,7 +44,6 @@ install_requires =
43
44
  oyaml
44
45
  PyJWT>=2.1.1
45
46
  requests
46
- requests-mock
47
47
  coreapi
48
48
  ape-pie
49
49
  tests_require =
@@ -52,8 +52,7 @@ tests_require =
52
52
  pytest-dotenv
53
53
  pytest-factoryboy
54
54
  tox
55
- isort
56
- black
55
+ ruff
57
56
  requests-mock
58
57
  freezegun
59
58
  zgw-consumers-oas
@@ -77,18 +76,18 @@ tests =
77
76
  pytest-dotenv
78
77
  pytest-factoryboy
79
78
  tox
80
- isort
81
- black
79
+ ruff
82
80
  requests-mock
83
81
  freezegun
84
82
  zgw-consumers-oas
85
83
  djangorestframework-gis
86
84
  drf-extra-fields
85
+ oas =
86
+ requests-mock
87
87
  testutils =
88
88
  zgw-consumers-oas
89
89
  setup-configuration =
90
90
  django-setup-configuration>=0.7.0
91
- pep8 = flake8
92
91
  coverage = pytest-cov
93
92
  docs =
94
93
  psycopg2
@@ -100,18 +99,6 @@ release =
100
99
  [aliases]
101
100
  test = pytest
102
101
 
103
- [isort]
104
- profile = black
105
- combine_as_imports = true
106
- skip =
107
- env
108
- node_modules
109
- .tox
110
- skip_glob = **/migrations/**
111
- known_django = django
112
- known_first_party = vng_api_common
113
- sections = FUTURE,STDLIB,DJANGO,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
114
-
115
102
  [tool:pytest]
116
103
  testpaths = tests
117
104
  DJANGO_SETTINGS_MODULE = testapp.settings
@@ -120,10 +107,6 @@ DJANGO_SETTINGS_MODULE = testapp.settings
120
107
  max-line-length = 88
121
108
  exclude = env,.tox,doc
122
109
 
123
- [flake8]
124
- max-line-length = 88
125
- exclude = env,.tox,doc
126
-
127
110
  [coverage:run]
128
111
  branch = True
129
112
  source = vng_api_common
@@ -1,7 +1,5 @@
1
1
  from unittest.mock import patch
2
2
 
3
- from django.urls import reverse
4
-
5
3
  import pytest
6
4
  from rest_framework.reverse import reverse
7
5
 
@@ -37,7 +37,6 @@ def test_list_with_page_size_in_query(api_client):
37
37
 
38
38
 
39
39
  def test_page_size_query_description_property():
40
-
41
40
  class DummyPagination(DynamicPageSizeMixin):
42
41
  page_size = 42
43
42
 
@@ -177,7 +177,7 @@ def test_geo_headers():
177
177
  }
178
178
 
179
179
  # parameters
180
- for method, path in {
180
+ for method, url_path in {
181
181
  "post": "/api/geo",
182
182
  "put": "/api/geo/{id}",
183
183
  "patch": "/api/geo/{id}",
@@ -187,14 +187,14 @@ def test_geo_headers():
187
187
  "name": "Accept-Crs",
188
188
  "schema": {"type": "string", "enum": ["EPSG:4326"]},
189
189
  "description": "The desired 'Coordinate Reference System' (CRS) of the response data. According to the GeoJSON spec, WGS84 is the default (EPSG: 4326 is the same as WGS84).",
190
- } in schema["paths"][path][method]["parameters"]
190
+ } in schema["paths"][url_path][method]["parameters"]
191
191
  assert {
192
192
  "in": "header",
193
193
  "name": "Content-Crs",
194
194
  "schema": {"type": "string", "enum": ["EPSG:4326"]},
195
195
  "description": "The 'Coordinate Reference System' (CRS) of the request data. According to the GeoJSON spec, WGS84 is the default (EPSG: 4326 is the same as WGS84).",
196
196
  "required": True,
197
- } in schema["paths"][path][method]["parameters"]
197
+ } in schema["paths"][url_path][method]["parameters"]
198
198
 
199
199
  assert {
200
200
  "in": "header",
@@ -70,7 +70,7 @@ def test_no_resolution():
70
70
 
71
71
  paths = [
72
72
  f"/api/groups/{group.pk}",
73
- f"/api/groups/-3",
73
+ "/api/groups/-3",
74
74
  ]
75
75
 
76
76
  with pytest.raises(RuntimeError):
@@ -0,0 +1 @@
1
+ __version__ = "2.6.5"
@@ -1,5 +1,4 @@
1
1
  from django.contrib import admin
2
- from django.utils.translation import gettext_lazy as _
3
2
 
4
3
  from .models import JWTSecret
5
4
 
@@ -20,8 +20,7 @@ class AuditTrail(models.Model):
20
20
  max_length=255,
21
21
  blank=True,
22
22
  help_text=_(
23
- 'Een globaal "request" ID om een verzoek door het '
24
- "netwerk heen te traceren."
23
+ 'Een globaal "request" ID om een verzoek door het netwerk heen te traceren.'
25
24
  ),
26
25
  )
27
26
  bron = models.CharField(
@@ -11,7 +11,6 @@ from zgw_consumers.constants import APITypes, AuthTypes
11
11
  from vng_api_common.client import Client, get_client
12
12
 
13
13
  from ..constants import ComponentTypes, VertrouwelijkheidsAanduiding
14
- from ..decorators import field_default
15
14
  from ..fields import VertrouwelijkheidsAanduidingField
16
15
  from ..models import APIMixin
17
16
 
@@ -0,0 +1,27 @@
1
+ import time
2
+
3
+ import jwt
4
+
5
+
6
+ def generate_jwt(
7
+ client_id: str,
8
+ secret: str,
9
+ user_id: str,
10
+ user_representation: str,
11
+ jwt_valid_for: int | None = None,
12
+ ) -> str:
13
+ iat = int(time.time())
14
+ payload = {
15
+ # standard claims
16
+ "iss": client_id,
17
+ "iat": iat,
18
+ # custom claims
19
+ "client_id": client_id,
20
+ "user_id": user_id,
21
+ "user_representation": user_representation,
22
+ }
23
+ if jwt_valid_for:
24
+ payload["exp"] = iat + jwt_valid_for
25
+
26
+ token = jwt.encode(payload, secret, algorithm="HS256")
27
+ return f"Bearer {token}"
@@ -64,9 +64,9 @@ class Dependency:
64
64
  instance: models.Model,
65
65
  is_delete: bool = False,
66
66
  ) -> Iterable[models.Model]:
67
- assert isinstance(
68
- instance, self.source_model
69
- ), "Instance is not of expected model class"
67
+ assert isinstance(instance, self.source_model), (
68
+ "Instance is not of expected model class"
69
+ )
70
70
 
71
71
  reverse_relation_field = self.field.remote_field
72
72
 
@@ -40,7 +40,6 @@ class Client(APIClient):
40
40
  def request(
41
41
  self, method: str | bytes, url: str | bytes, *args, **kwargs
42
42
  ) -> Response:
43
-
44
43
  headers = kwargs.pop("headers", {})
45
44
  headers.setdefault("Accept", "application/json")
46
45
  headers.setdefault("Content-Type", "application/json")
@@ -33,7 +33,7 @@ BASE_REST_FRAMEWORK = {
33
33
  # of applications
34
34
  "DEFAULT_AUTHENTICATION_CLASSES": (),
35
35
  "DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.URLPathVersioning",
36
- "DEFAULT_FILTER_BACKENDS": ("vng_api_common.filters.Backend",),
36
+ "DEFAULT_FILTER_BACKENDS": ("vng_api_common.filters_backend.Backend",),
37
37
  #
38
38
  # # Filtering
39
39
  "ORDERING_PARAM": "ordering", # 'ordering',
@@ -88,28 +88,40 @@ class RolTypes(models.TextChoices):
88
88
 
89
89
 
90
90
  class Archiefnominatie(models.TextChoices):
91
- blijvend_bewaren = "blijvend_bewaren", _(
92
- "Het zaakdossier moet bewaard blijven en op de Archiefactiedatum "
93
- "overgedragen worden naar een archiefbewaarplaats."
91
+ blijvend_bewaren = (
92
+ "blijvend_bewaren",
93
+ _(
94
+ "Het zaakdossier moet bewaard blijven en op de Archiefactiedatum "
95
+ "overgedragen worden naar een archiefbewaarplaats."
96
+ ),
94
97
  )
95
- vernietigen = "vernietigen", _(
96
- "Het zaakdossier moet op of na de Archiefactiedatum vernietigd worden."
98
+ vernietigen = (
99
+ "vernietigen",
100
+ _("Het zaakdossier moet op of na de Archiefactiedatum vernietigd worden."),
97
101
  )
98
102
 
99
103
 
100
104
  class Archiefstatus(models.TextChoices):
101
- nog_te_archiveren = "nog_te_archiveren", _(
102
- "De zaak cq. het zaakdossier is nog niet als geheel gearchiveerd."
105
+ nog_te_archiveren = (
106
+ "nog_te_archiveren",
107
+ _("De zaak cq. het zaakdossier is nog niet als geheel gearchiveerd."),
103
108
  )
104
- gearchiveerd = "gearchiveerd", _(
105
- "De zaak cq. het zaakdossier is als geheel niet-wijzigbaar bewaarbaar gemaakt."
109
+ gearchiveerd = (
110
+ "gearchiveerd",
111
+ _(
112
+ "De zaak cq. het zaakdossier is als geheel niet-wijzigbaar bewaarbaar gemaakt."
113
+ ),
106
114
  )
107
- gearchiveerd_procestermijn_onbekend = "gearchiveerd_procestermijn_onbekend", _(
108
- "De zaak cq. het zaakdossier is als geheel niet-wijzigbaar bewaarbaar gemaakt "
109
- "maar de vernietigingsdatum kan nog niet bepaald worden."
115
+ gearchiveerd_procestermijn_onbekend = (
116
+ "gearchiveerd_procestermijn_onbekend",
117
+ _(
118
+ "De zaak cq. het zaakdossier is als geheel niet-wijzigbaar bewaarbaar gemaakt "
119
+ "maar de vernietigingsdatum kan nog niet bepaald worden."
120
+ ),
110
121
  )
111
- overgedragen = "overgedragen", _(
112
- "De zaak cq. het zaakdossier is overgebracht naar een archiefbewaarplaats."
122
+ overgedragen = (
123
+ "overgedragen",
124
+ _("De zaak cq. het zaakdossier is overgebracht naar een archiefbewaarplaats."),
113
125
  )
114
126
 
115
127
 
@@ -190,17 +202,20 @@ class ZaakobjectTypes(models.TextChoices):
190
202
  buurt = "buurt", _("Buurt")
191
203
  enkelvoudig_document = "enkelvoudig_document", _("Enkelvoudig document")
192
204
  gemeente = "gemeente", _("Gemeente")
193
- gemeentelijke_openbare_ruimte = "gemeentelijke_openbare_ruimte", _(
194
- "Gemeentelijke openbare ruimte"
205
+ gemeentelijke_openbare_ruimte = (
206
+ "gemeentelijke_openbare_ruimte",
207
+ _("Gemeentelijke openbare ruimte"),
195
208
  )
196
209
  huishouden = "huishouden", _("Huishouden")
197
210
  inrichtingselement = "inrichtingselement", _("Inrichtingselement")
198
- kadastrale_onroerende_zaak = "kadastrale_onroerende_zaak", _(
199
- "Kadastrale onroerende zaak"
211
+ kadastrale_onroerende_zaak = (
212
+ "kadastrale_onroerende_zaak",
213
+ _("Kadastrale onroerende zaak"),
200
214
  )
201
215
  kunstwerkdeel = "kunstwerkdeel", _("Kunstwerkdeel")
202
- maatschappelijke_activiteit = "maatschappelijke_activiteit", _(
203
- "Maatschappelijke activiteit"
216
+ maatschappelijke_activiteit = (
217
+ "maatschappelijke_activiteit",
218
+ _("Maatschappelijke activiteit"),
204
219
  )
205
220
  medewerker = "medewerker", _("Medewerker")
206
221
  natuurlijk_persoon = "natuurlijk_persoon", _("Natuurlijk persoon")
@@ -30,9 +30,9 @@ class GegevensGroepType:
30
30
  self.none_for_empty = none_for_empty
31
31
 
32
32
  all_fields_known = set(self.optional).issubset(set(mapping.keys()))
33
- assert (
34
- all_fields_known
35
- ), "The fields in 'optional' must be a subset of the mapping keys"
33
+ assert all_fields_known, (
34
+ "The fields in 'optional' must be a subset of the mapping keys"
35
+ )
36
36
 
37
37
  # check if it's optional or not
38
38
  self.required = (
@@ -45,7 +45,7 @@ class GegevensGroepType:
45
45
  fields = ", ".join(
46
46
  [
47
47
  field if field not in self.optional else f"{field} (optional)"
48
- for field in self.mapping.keys()
48
+ for field in self.mapping
49
49
  ]
50
50
  )
51
51
  return "<GegevensGroepType: fields=%r required=%r>" % (fields, self.required)
@@ -1,71 +1,22 @@
1
1
  import logging
2
- from urllib.parse import urlencode, urlparse
2
+ from urllib.parse import urlparse
3
3
 
4
4
  from django.core.exceptions import ValidationError
5
5
  from django.core.validators import URLValidator
6
6
  from django.db import models
7
7
  from django.forms.widgets import URLInput
8
- from django.http import QueryDict
9
8
  from django.utils.translation import gettext_lazy as _
10
9
 
11
10
  from django_filters import fields, filters
12
11
  from django_filters.constants import EMPTY_VALUES
13
- from django_filters.rest_framework import DjangoFilterBackend
14
- from djangorestframework_camel_case.parser import CamelCaseJSONParser
15
- from djangorestframework_camel_case.render import CamelCaseJSONRenderer
16
- from djangorestframework_camel_case.util import underscoreize
17
- from rest_framework.request import Request
18
- from rest_framework.views import APIView
19
12
 
20
13
  from .constants import FILTER_URL_DID_NOT_RESOLVE
21
- from .search import is_search_view
22
14
  from .utils import NotAViewSet, get_resource_for_path
23
15
  from .validators import validate_rsin
24
16
 
25
17
  logger = logging.getLogger(__name__)
26
18
 
27
19
 
28
- class Backend(DjangoFilterBackend):
29
- def _is_camel_case(self, view):
30
- return any(
31
- issubclass(parser, CamelCaseJSONParser) for parser in view.parser_classes
32
- ) or any(
33
- issubclass(renderer, CamelCaseJSONRenderer)
34
- for renderer in view.renderer_classes
35
- )
36
-
37
- def _transform_query_params(self, view, query_params: QueryDict) -> QueryDict:
38
- if not self._is_camel_case(view):
39
- return query_params
40
-
41
- # data can be a regular dict if it's coming from a serializer
42
- if hasattr(query_params, "lists"):
43
- data = dict(query_params.lists())
44
- else:
45
- data = query_params
46
-
47
- transformed = underscoreize(data)
48
-
49
- return QueryDict(urlencode(transformed, doseq=True))
50
-
51
- def get_filterset_kwargs(
52
- self, request: Request, queryset: models.QuerySet, view: APIView
53
- ):
54
- """
55
- Get the initialization parameters for the filterset.
56
-
57
- * filter on request.data if request.query_params is empty
58
- * do the camelCase transformation of filter parameters
59
- """
60
- kwargs = super().get_filterset_kwargs(request, queryset, view)
61
- filter_parameters = (
62
- request.query_params if not is_search_view(view) else request.data
63
- )
64
- query_params = self._transform_query_params(view, filter_parameters)
65
- kwargs["data"] = query_params
66
- return kwargs
67
-
68
-
69
20
  class URLModelChoiceField(fields.ModelChoiceField):
70
21
  widget = URLInput
71
22
 
@@ -122,7 +73,7 @@ class URLModelChoiceFilter(filters.ModelChoiceFilter):
122
73
 
123
74
  def __init__(self, *args, **kwargs):
124
75
  super().__init__(*args, **kwargs)
125
- self.instance_path = kwargs.get("instance_path", None)
76
+ self.instance_path = kwargs.get("instance_path")
126
77
  self.queryset = kwargs.get("queryset")
127
78
 
128
79
  @property