commonground-api-common 2.6.4__tar.gz → 2.6.6__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.4 → commonground_api_common-2.6.6}/CHANGELOG.rst +19 -0
  2. {commonground_api_common-2.6.4/commonground_api_common.egg-info → commonground_api_common-2.6.6}/PKG-INFO +16 -11
  3. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/README.rst +10 -4
  4. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6/commonground_api_common.egg-info}/PKG-INFO +16 -11
  5. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/commonground_api_common.egg-info/requires.txt +4 -6
  6. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/setup.cfg +7 -24
  7. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_cached_hyperlinkrelatedfields.py +0 -2
  8. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_jwt_decoding.py +1 -1
  9. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_pagination.py +0 -1
  10. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_schema.py +3 -3
  11. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_utils.py +1 -1
  12. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_validators.py +19 -0
  13. commonground_api_common-2.6.6/vng_api_common/__init__.py +1 -0
  14. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/admin.py +0 -1
  15. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/models.py +1 -2
  16. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/middleware.py +2 -2
  17. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/models.py +0 -1
  18. commonground_api_common-2.6.6/vng_api_common/authorizations/utils.py +27 -0
  19. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/registry.py +3 -3
  20. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/client.py +0 -1
  21. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/conf/api.py +2 -2
  22. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/constants.py +35 -20
  23. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/descriptors.py +4 -4
  24. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/filters.py +2 -2
  25. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/filters_backend.py +0 -1
  26. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/mocks.py +1 -1
  27. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/routers.py +2 -2
  28. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/serializers.py +7 -7
  29. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/validators.py +5 -2
  30. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/views.py +1 -1
  31. commonground_api_common-2.6.4/vng_api_common/__init__.py +0 -1
  32. commonground_api_common-2.6.4/vng_api_common/authorizations/utils.py +0 -18
  33. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/MANIFEST.in +0 -0
  34. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/bin/generate_schema +0 -0
  35. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/commonground_api_common.egg-info/SOURCES.txt +0 -0
  36. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/commonground_api_common.egg-info/dependency_links.txt +0 -0
  37. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/commonground_api_common.egg-info/not-zip-safe +0 -0
  38. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/commonground_api_common.egg-info/top_level.txt +0 -0
  39. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/pyproject.toml +0 -0
  40. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/setup.py +0 -0
  41. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_autorisatie_validation.py +0 -0
  42. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_cache_headers.py +0 -0
  43. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_check_query_params.py +0 -0
  44. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_checks.py +0 -0
  45. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_choices.py +0 -0
  46. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_configuration_steps_applicaties.py +0 -0
  47. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_configuration_steps_jwtsecrets.py +0 -0
  48. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_content_type_headers.py +0 -0
  49. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_field_extensions.py +0 -0
  50. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_filter_extension.py +0 -0
  51. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_filters.py +0 -0
  52. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_gegevensgroepen.py +0 -0
  53. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_get_resource.py +0 -0
  54. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_jwtsecrets.py +0 -0
  55. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_migrations.py +0 -0
  56. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_nested_serializer_validation.py +0 -0
  57. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_permissions.py +0 -0
  58. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_publish_validators.py +0 -0
  59. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_serializer_extensions.py +0 -0
  60. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_serializer_fields.py +0 -0
  61. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_server_errors.py +0 -0
  62. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/tests/test_views.py +0 -0
  63. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/api/__init__.py +0 -0
  64. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/api/permissions.py +0 -0
  65. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/api/serializers.py +0 -0
  66. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/api/urls.py +0 -0
  67. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/api/views.py +0 -0
  68. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/apps.py +0 -0
  69. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/__init__.py +0 -0
  70. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/admin.py +0 -0
  71. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/api/__init__.py +0 -0
  72. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/api/scopes.py +0 -0
  73. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/api/serializers.py +0 -0
  74. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/apps.py +0 -0
  75. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/audits.py +0 -0
  76. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0001_initial.py +0 -0
  77. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0002_auto_20190516_0830.py +0 -0
  78. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0003_auto_20190517_0844.py +0 -0
  79. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0004_auto_20190520_1238.py +0 -0
  80. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0005_auto_20190520_1450.py +0 -0
  81. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0006_audittrail_toelichting.py +0 -0
  82. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0007_auto_20190522_0916.py +0 -0
  83. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0008_audittrail_resource_weergave.py +0 -0
  84. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0009_auto_20190712_1643.py +0 -0
  85. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0010_audittrail_request_id.py +0 -0
  86. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0011_auto_20190918_1335.py +0 -0
  87. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0012_auto_20200619_0545.py +0 -0
  88. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0012_remove_audittrail_request_id.py +0 -0
  89. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0013_audittrail_logrecord_id.py +0 -0
  90. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0013_auto_20201207_0846.py +0 -0
  91. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0014_auto_20201221_0905.py +0 -0
  92. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0014_auto_20210323_1654.py +0 -0
  93. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0015_auto_20220318_1608.py +0 -0
  94. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0016_merge_20220607_0517.py +0 -0
  95. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0017_alter_audittrail_bron.py +0 -0
  96. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/0018_auto_20221212_0745.py +0 -0
  97. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/__init__.py +0 -0
  98. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/migrations/_operations.py +0 -0
  99. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/utils.py +0 -0
  100. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/audittrails/viewsets.py +0 -0
  101. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/__init__.py +0 -0
  102. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/admin.py +0 -0
  103. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0001_initial.py +0 -0
  104. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0002_authorizationsconfig.py +0 -0
  105. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0003_auto_20190502_0409.py +0 -0
  106. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0004_auto_20190503_0941.py +0 -0
  107. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0005_auto_20190506_0842.py +0 -0
  108. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0006_auto_20190506_0901.py +0 -0
  109. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0007_auto_20190506_1212.py +0 -0
  110. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0008_auto_20190712_1541.py +0 -0
  111. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0009_update_enums.py +0 -0
  112. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0010_auto_20190712_1643.py +0 -0
  113. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0011_auto_20191114_0728.py +0 -0
  114. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0012_auto_20200619_0545.py +0 -0
  115. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0013_auto_20201207_0846.py +0 -0
  116. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0014_auto_20201221_0905.py +0 -0
  117. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0015_auto_20220318_1608.py +0 -0
  118. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0016_remove_authorizationsconfig_api_root_and_more.py +0 -0
  119. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/0017_alter_applicatie_client_ids_and_more.py +0 -0
  120. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/migrations/__init__.py +0 -0
  121. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/serializers.py +0 -0
  122. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/authorizations/validators.py +0 -0
  123. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/__init__.py +0 -0
  124. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/decorators.py +0 -0
  125. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/etags.py +0 -0
  126. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/introspection.py +0 -0
  127. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/models.py +0 -0
  128. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/caching/signals.py +0 -0
  129. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/checks.py +0 -0
  130. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/choices.py +0 -0
  131. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/compat.py +0 -0
  132. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/conf/__init__.py +0 -0
  133. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/contrib/__init__.py +0 -0
  134. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/contrib/setup_configuration/__init__.py +0 -0
  135. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/contrib/setup_configuration/models.py +0 -0
  136. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/contrib/setup_configuration/steps.py +0 -0
  137. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/db/__init__.py +0 -0
  138. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/db/operations.py +0 -0
  139. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/decorators.py +0 -0
  140. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/doc.py +0 -0
  141. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/exception_handling.py +0 -0
  142. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/exceptions.py +0 -0
  143. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/__init__.py +0 -0
  144. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/file.py +0 -0
  145. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/gegevensgroep.py +0 -0
  146. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/geojson.py +0 -0
  147. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/hyperlink.py +0 -0
  148. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/polymorphic.py +0 -0
  149. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/extensions/query.py +0 -0
  150. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/fields.py +0 -0
  151. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/filtersets.py +0 -0
  152. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/generators.py +0 -0
  153. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/geo.py +0 -0
  154. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/locale/nl/LC_MESSAGES/django.mo +0 -0
  155. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/locale/nl/LC_MESSAGES/django.po +0 -0
  156. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/middleware.py +0 -0
  157. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/0001_initial.py +0 -0
  158. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/0002_apicredential.py +0 -0
  159. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/0003_auto_20190417_1145.py +0 -0
  160. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/0004_auto_20190517_0903.py +0 -0
  161. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/0005_auto_20190614_1346.py +0 -0
  162. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/0006_delete_apicredential.py +0 -0
  163. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/migrations/__init__.py +0 -0
  164. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/models.py +0 -0
  165. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/__init__.py +0 -0
  166. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/api/__init__.py +0 -0
  167. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/api/urls.py +0 -0
  168. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/api/views.py +0 -0
  169. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/apps.py +0 -0
  170. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/handlers.py +0 -0
  171. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0001_initial.py +0 -0
  172. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0002_subscription__subscription.py +0 -0
  173. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0003_auto_20190319_1048.py +0 -0
  174. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0004_auto_20190325_1313.py +0 -0
  175. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0005_fix_default_nrc.py +0 -0
  176. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0006_auto_20190417_1142.py +0 -0
  177. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0007_auto_20190429_1442.py +0 -0
  178. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0008_auto_20190502_0415.py +0 -0
  179. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0009_auto_20190729_0427.py +0 -0
  180. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0010_auto_20220704_1419.py +0 -0
  181. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/0011_remove_subscription_config_and_more.py +0 -0
  182. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/notifications/migrations/__init__.py +0 -0
  183. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/oas.py +0 -0
  184. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/pagination.py +0 -0
  185. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/permissions.py +0 -0
  186. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/polymorphism.py +0 -0
  187. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/schema.py +0 -0
  188. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/scopes.py +0 -0
  189. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/search.py +0 -0
  190. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/css/admin/admin_overrides.css +0 -0
  191. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/css/screen.css +0 -0
  192. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/ico/favicon.png +0 -0
  193. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/img/vng.svg +0 -0
  194. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/LICENSE.txt +0 -0
  195. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/css/all.css +0 -0
  196. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/css/all.min.css +0 -0
  197. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.eot +0 -0
  198. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.svg +0 -0
  199. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  200. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.woff +0 -0
  201. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  202. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.eot +0 -0
  203. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.svg +0 -0
  204. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  205. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.woff +0 -0
  206. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  207. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.eot +0 -0
  208. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.svg +0 -0
  209. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  210. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.woff +0 -0
  211. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/static/vng_api_common/libs/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  212. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/admin/base_site.html +0 -0
  213. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/includes/kanalen_card.html +0 -0
  214. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/index.html +0 -0
  215. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/master.html +0 -0
  216. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/ref/error_detail.html +0 -0
  217. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/ref/scopes.html +0 -0
  218. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templates/vng_api_common/view_config.html +0 -0
  219. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templatetags/__init__.py +0 -0
  220. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/templatetags/vng_api_common.py +0 -0
  221. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/tests/__init__.py +0 -0
  222. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/tests/auth.py +0 -0
  223. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/tests/caching.py +0 -0
  224. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/tests/schema.py +0 -0
  225. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/tests/urls.py +0 -0
  226. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/urls.py +0 -0
  227. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/utils.py +0 -0
  228. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/version.py +0 -0
  229. {commonground_api_common-2.6.4 → commonground_api_common-2.6.6}/vng_api_common/viewsets.py +0 -0
@@ -2,6 +2,25 @@
2
2
  Change history
3
3
  ==============
4
4
 
5
+ 2.6.6 (2025-06-04)
6
+ ------------------
7
+
8
+ * [open-zaak/open-zaak#635] Rename JWT_LEEWAY setting to TIME_LEEWAY and add it to UntilNowValidator
9
+
10
+ 2.6.5 (2025-05-27)
11
+ ------------------
12
+
13
+ **Bugfixes/QOL**
14
+
15
+ * No longer rely on zgw-consumers for generate_jwt util
16
+ * [#90] Make requests_mock dependency optional (can be installed with ``pip install commonground-api-common[oas]``)
17
+
18
+ **Maintenance**
19
+
20
+ * [maykinmedia/open-api-framework#140] Upgrade python to 3.12
21
+ * [maykinmedia/open-api-framework#132] Replace check_sphinx.py with make
22
+ * [maykinmedia/open-api-framework#133] Replace black, isort and flake8 with ruff and update code-quality workflow
23
+
5
24
  2.6.4 (2025-05-16)
6
25
  ------------------
7
26
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commonground-api-common
3
- Version: 2.6.4
3
+ Version: 2.6.6
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
@@ -45,24 +45,23 @@ Provides-Extra: drf-extra-fields
45
45
  Requires-Dist: drf-extra-fields>=3.7.0; extra == "drf-extra-fields"
46
46
  Provides-Extra: tests
47
47
  Requires-Dist: psycopg2; extra == "tests"
48
- Requires-Dist: pytest; extra == "tests"
48
+ Requires-Dist: pytest==8.3.5; extra == "tests"
49
49
  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.6
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
 
@@ -105,7 +109,7 @@ Features
105
109
  * Niet-negatieve waarde validator
106
110
  * Alfanumerieke waarde (zonder diacritics)
107
111
  * URL-validator (test dat URL bestaat) met pluggable link-checker
108
- * ``UntilNowValidator`` - valideer datetimes tot en met *nu*.
112
+ * ``UntilNowValidator`` - valideer datetimes tot en met *nu*. (Via de TIME_LEEWAY setting kan speling worden toegevoegd)
109
113
  * ``UniekeIdentificatieValidator`` (in combinatie met organisatie)
110
114
  * ``InformatieObjectUniqueValidator`` om te valideren dat M2M entries
111
115
  slechts eenmalig voorkomen
@@ -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.6
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
 
@@ -31,7 +36,7 @@ Features
31
36
  * Niet-negatieve waarde validator
32
37
  * Alfanumerieke waarde (zonder diacritics)
33
38
  * URL-validator (test dat URL bestaat) met pluggable link-checker
34
- * ``UntilNowValidator`` - valideer datetimes tot en met *nu*.
39
+ * ``UntilNowValidator`` - valideer datetimes tot en met *nu*. (Via de TIME_LEEWAY setting kan speling worden toegevoegd)
35
40
  * ``UniekeIdentificatieValidator`` (in combinatie met organisatie)
36
41
  * ``InformatieObjectUniqueValidator`` om te valideren dat M2M entries
37
42
  slechts eenmalig voorkomen
@@ -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.4
3
+ Version: 2.6.6
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
@@ -45,24 +45,23 @@ Provides-Extra: drf-extra-fields
45
45
  Requires-Dist: drf-extra-fields>=3.7.0; extra == "drf-extra-fields"
46
46
  Provides-Extra: tests
47
47
  Requires-Dist: psycopg2; extra == "tests"
48
- Requires-Dist: pytest; extra == "tests"
48
+ Requires-Dist: pytest==8.3.5; extra == "tests"
49
49
  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.6
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
 
@@ -105,7 +109,7 @@ Features
105
109
  * Niet-negatieve waarde validator
106
110
  * Alfanumerieke waarde (zonder diacritics)
107
111
  * URL-validator (test dat URL bestaat) met pluggable link-checker
108
- * ``UntilNowValidator`` - valideer datetimes tot en met *nu*.
112
+ * ``UntilNowValidator`` - valideer datetimes tot en met *nu*. (Via de TIME_LEEWAY setting kan speling worden toegevoegd)
109
113
  * ``UniekeIdentificatieValidator`` (in combinatie met organisatie)
110
114
  * ``InformatieObjectUniqueValidator`` om te valideren dat M2M entries
111
115
  slechts eenmalig voorkomen
@@ -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
@@ -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
@@ -45,13 +44,12 @@ django-setup-configuration>=0.7.0
45
44
 
46
45
  [tests]
47
46
  psycopg2
48
- pytest
47
+ pytest==8.3.5
49
48
  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.4
3
+ version = 2.6.6
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
@@ -72,23 +71,23 @@ drf_extra_fields =
72
71
  drf-extra-fields>=3.7.0
73
72
  tests =
74
73
  psycopg2
75
- pytest
74
+ pytest==8.3.5 # can be unpinned when pytest-factoryboy is updated
76
75
  pytest-django
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
 
@@ -42,7 +42,7 @@ def test_nbf_validated():
42
42
  @pytest.mark.django_db
43
43
  @freeze_time("2021-08-23T14:20:00")
44
44
  def test_nbf_validated_with_leeway(settings):
45
- settings.JWT_LEEWAY = 3
45
+ settings.TIME_LEEWAY = 3
46
46
  JWTSecret.objects.create(identifier="client", secret="secret")
47
47
  payload = {
48
48
  "client_id": "client",
@@ -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):
@@ -1,10 +1,14 @@
1
+ from datetime import datetime, timezone
2
+
1
3
  from django.core.exceptions import ValidationError
2
4
 
3
5
  import pytest
6
+ from freezegun import freeze_time
4
7
 
5
8
  from vng_api_common.validators import (
6
9
  AlphanumericExcludingDiacritic,
7
10
  BaseIdentifierValidator,
11
+ UntilNowValidator,
8
12
  validate_bsn,
9
13
  validate_rsin,
10
14
  )
@@ -104,3 +108,18 @@ def test_invalid_rsin():
104
108
  with pytest.raises(ValidationError) as error:
105
109
  validate_rsin("12345678") # validate_length
106
110
  assert "Waarde moet 9 tekens lang zijn" in str(error.value)
111
+
112
+
113
+ @freeze_time("2021-08-23T14:20:00")
114
+ def test_invalid_date():
115
+ validator = UntilNowValidator()
116
+ with pytest.raises(ValidationError) as error:
117
+ validator(datetime(2021, 8, 23, 14, 20, 4, tzinfo=timezone.utc))
118
+ assert "Ensure this value is not in the future." in str(error.value)
119
+
120
+
121
+ @freeze_time("2021-08-23T14:20:00")
122
+ def test_invalid_date_with_leeway(settings):
123
+ settings.TIME_LEEWAY = 5
124
+ validator = UntilNowValidator()
125
+ validator(datetime(2021, 8, 23, 14, 20, 4, tzinfo=timezone.utc))
@@ -0,0 +1 @@
1
+ __version__ = "2.6.6"
@@ -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(
@@ -108,7 +108,7 @@ class JWTAuth:
108
108
  self.encoded,
109
109
  algorithms=["HS256"],
110
110
  options={"verify_signature": False},
111
- leeway=settings.JWT_LEEWAY,
111
+ leeway=settings.TIME_LEEWAY,
112
112
  )
113
113
  except jwt.DecodeError:
114
114
  logger.info("Invalid JWT encountered")
@@ -146,7 +146,7 @@ class JWTAuth:
146
146
  self.encoded,
147
147
  key,
148
148
  algorithms=["HS256"],
149
- leeway=settings.JWT_LEEWAY,
149
+ leeway=settings.TIME_LEEWAY,
150
150
  )
151
151
  except jwt.InvalidSignatureError:
152
152
  logger.exception("Invalid signature - possible payload tampering?")
@@ -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")
@@ -8,7 +8,7 @@ __all__ = [
8
8
  "GEMMA_URL_INFORMATIEMODEL_VERSIE",
9
9
  "GEMMA_URL_INFORMATIEMODEL",
10
10
  "GEMMA_URL_TEMPLATE",
11
- "JWT_LEEWAY",
11
+ "TIME_LEEWAY",
12
12
  "JWT_SPECTACULAR_SETTINGS",
13
13
  "LINK_FETCHER",
14
14
  "NOTIFICATIONS_DISABLED",
@@ -95,6 +95,6 @@ vng_repo = "VNG-Realisatie/vng-api-common"
95
95
  vng_branch = "ref-responses"
96
96
  COMMON_SPEC = f"https://raw.githubusercontent.com/{vng_repo}/feature/{vng_branch}/vng_api_common/schemas/common.yaml"
97
97
 
98
- JWT_LEEWAY = 0 # default in PyJWT
98
+ TIME_LEEWAY = 0 # default in PyJWT
99
99
 
100
100
  COMMONGROUND_API_COMMON_GET_DOMAIN = "vng_api_common.utils.get_site_domain"
@@ -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")