kinto 23.0.1__tar.gz → 23.0.3__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.

Potentially problematic release.


This version of kinto might be problematic. Click here for more details.

Files changed (398) hide show
  1. {kinto-23.0.1 → kinto-23.0.3}/PKG-INFO +1 -1
  2. {kinto-23.0.1 → kinto-23.0.3}/constraints.txt +15 -11
  3. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/errors.rst +1 -1
  4. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/openapi.rst +1 -1
  5. {kinto-23.0.1 → kinto-23.0.3}/docs/requirements.txt +3 -3
  6. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/resource/__init__.py +9 -1
  7. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/resource/schema.py +4 -4
  8. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/resource/viewset.py +2 -2
  9. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/__init__.py +8 -0
  10. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/testing.py +8 -0
  11. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/utils.py +1 -1
  12. kinto-23.0.3/kinto/plugins/admin/VERSION +1 -0
  13. kinto-23.0.3/kinto/plugins/admin/build/VERSION +1 -0
  14. kinto-23.0.3/kinto/plugins/admin/build/assets/index-DnaKeFLX.css +6 -0
  15. kinto-23.0.3/kinto/plugins/admin/build/assets/index-Dt2_17Gx.js +145 -0
  16. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/index.html +2 -2
  17. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/views.py +1 -1
  18. {kinto-23.0.1 → kinto-23.0.3}/kinto.egg-info/PKG-INFO +1 -1
  19. {kinto-23.0.1 → kinto-23.0.3}/kinto.egg-info/SOURCES.txt +2 -2
  20. {kinto-23.0.1 → kinto-23.0.3}/scripts/pull-kinto-admin.sh +2 -1
  21. {kinto-23.0.1 → kinto-23.0.3}/tests/browser.ini +2 -0
  22. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_filter.py +4 -0
  23. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_schema.py +2 -2
  24. kinto-23.0.1/kinto/plugins/admin/VERSION +0 -1
  25. kinto-23.0.1/kinto/plugins/admin/build/VERSION +0 -1
  26. kinto-23.0.1/kinto/plugins/admin/build/assets/index-Cs7JVwIg.css +0 -6
  27. kinto-23.0.1/kinto/plugins/admin/build/assets/index-CylsivYB.js +0 -165
  28. {kinto-23.0.1 → kinto-23.0.3}/.dockerignore +0 -0
  29. {kinto-23.0.1 → kinto-23.0.3}/.github/CODE_OF_CONDUCT.md +0 -0
  30. {kinto-23.0.1 → kinto-23.0.3}/.github/CONTRIBUTING.md +0 -0
  31. {kinto-23.0.1 → kinto-23.0.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  32. {kinto-23.0.1 → kinto-23.0.3}/.github/dependabot.yml +0 -0
  33. {kinto-23.0.1 → kinto-23.0.3}/.github/release.yml +0 -0
  34. {kinto-23.0.1 → kinto-23.0.3}/.github/workflows/labels.yaml +0 -0
  35. {kinto-23.0.1 → kinto-23.0.3}/.github/workflows/publish.yml +0 -0
  36. {kinto-23.0.1 → kinto-23.0.3}/.github/workflows/scheduled.yml +0 -0
  37. {kinto-23.0.1 → kinto-23.0.3}/.github/workflows/test.yml +0 -0
  38. {kinto-23.0.1 → kinto-23.0.3}/.gitignore +0 -0
  39. {kinto-23.0.1 → kinto-23.0.3}/.readthedocs.yaml +0 -0
  40. {kinto-23.0.1 → kinto-23.0.3}/CHANGELOG.rst +0 -0
  41. {kinto-23.0.1 → kinto-23.0.3}/CONTRIBUTORS.rst +0 -0
  42. {kinto-23.0.1 → kinto-23.0.3}/Dockerfile +0 -0
  43. {kinto-23.0.1 → kinto-23.0.3}/LICENSE +0 -0
  44. {kinto-23.0.1 → kinto-23.0.3}/Makefile +0 -0
  45. {kinto-23.0.1 → kinto-23.0.3}/README.rst +0 -0
  46. {kinto-23.0.1 → kinto-23.0.3}/SECURITY.md +0 -0
  47. {kinto-23.0.1 → kinto-23.0.3}/SUPPORT.md +0 -0
  48. {kinto-23.0.1 → kinto-23.0.3}/app.wsgi +0 -0
  49. {kinto-23.0.1 → kinto-23.0.3}/constraints.in +0 -0
  50. {kinto-23.0.1 → kinto-23.0.3}/docker-compose.yml +0 -0
  51. {kinto-23.0.1 → kinto-23.0.3}/docs/_static/piwik.js +0 -0
  52. {kinto-23.0.1 → kinto-23.0.3}/docs/_static/theme_overrides.css +0 -0
  53. {kinto-23.0.1 → kinto-23.0.3}/docs/_templates/footer.html +0 -0
  54. {kinto-23.0.1 → kinto-23.0.3}/docs/_templates/indexcontent.html +0 -0
  55. {kinto-23.0.1 → kinto-23.0.3}/docs/_templates/layout.html +0 -0
  56. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-delete-list.rst +0 -0
  57. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-delete-object.rst +0 -0
  58. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-get-list.rst +0 -0
  59. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-get-object.rst +0 -0
  60. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-head-list.rst +0 -0
  61. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-patch-object.rst +0 -0
  62. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-post-list.rst +0 -0
  63. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_details-put-object.rst +0 -0
  64. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-delete-list.rst +0 -0
  65. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-delete-object.rst +0 -0
  66. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-get-list.rst +0 -0
  67. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-get-object.rst +0 -0
  68. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-patch-object.rst +0 -0
  69. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-post-list.rst +0 -0
  70. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/_status-put-object.rst +0 -0
  71. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/accounts.rst +0 -0
  72. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/admin.rst +0 -0
  73. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/authentication.rst +0 -0
  74. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/backoff.rst +0 -0
  75. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/batch.rst +0 -0
  76. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/buckets.rst +0 -0
  77. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/collections.rst +0 -0
  78. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/deprecation.rst +0 -0
  79. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/filtering.rst +0 -0
  80. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/flush.rst +0 -0
  81. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/groups.rst +0 -0
  82. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/history.rst +0 -0
  83. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/index.rst +0 -0
  84. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/openid.rst +0 -0
  85. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/pagination.rst +0 -0
  86. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/permissions.rst +0 -0
  87. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/records.rst +0 -0
  88. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/selecting_fields.rst +0 -0
  89. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/sorting.rst +0 -0
  90. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/timestamps.rst +0 -0
  91. {kinto-23.0.1 → kinto-23.0.3}/docs/api/1.x/utilities.rst +0 -0
  92. {kinto-23.0.1 → kinto-23.0.3}/docs/api/index.rst +0 -0
  93. {kinto-23.0.1 → kinto-23.0.3}/docs/api/versioning.rst +0 -0
  94. {kinto-23.0.1 → kinto-23.0.3}/docs/changelog.rst +0 -0
  95. {kinto-23.0.1 → kinto-23.0.3}/docs/commandline.rst +0 -0
  96. {kinto-23.0.1 → kinto-23.0.3}/docs/community.rst +0 -0
  97. {kinto-23.0.1 → kinto-23.0.3}/docs/concepts.rst +0 -0
  98. {kinto-23.0.1 → kinto-23.0.3}/docs/conf.py +0 -0
  99. {kinto-23.0.1 → kinto-23.0.3}/docs/configuration/good-practices.rst +0 -0
  100. {kinto-23.0.1 → kinto-23.0.3}/docs/configuration/index.rst +0 -0
  101. {kinto-23.0.1 → kinto-23.0.3}/docs/configuration/production.rst +0 -0
  102. {kinto-23.0.1 → kinto-23.0.3}/docs/configuration/settings.rst +0 -0
  103. {kinto-23.0.1 → kinto-23.0.3}/docs/core/_static/theme_overrides.css +0 -0
  104. {kinto-23.0.1 → kinto-23.0.3}/docs/core/api.rst +0 -0
  105. {kinto-23.0.1 → kinto-23.0.3}/docs/core/cache.rst +0 -0
  106. {kinto-23.0.1 → kinto-23.0.3}/docs/core/decorators.rst +0 -0
  107. {kinto-23.0.1 → kinto-23.0.3}/docs/core/errors.rst +0 -0
  108. {kinto-23.0.1 → kinto-23.0.3}/docs/core/glossary.rst +0 -0
  109. {kinto-23.0.1 → kinto-23.0.3}/docs/core/images/cliquet-base.png +0 -0
  110. {kinto-23.0.1 → kinto-23.0.3}/docs/core/images/cliquet-mozilla.png +0 -0
  111. {kinto-23.0.1 → kinto-23.0.3}/docs/core/index.rst +0 -0
  112. {kinto-23.0.1 → kinto-23.0.3}/docs/core/notifications.rst +0 -0
  113. {kinto-23.0.1 → kinto-23.0.3}/docs/core/permission.rst +0 -0
  114. {kinto-23.0.1 → kinto-23.0.3}/docs/core/quickstart.rst +0 -0
  115. {kinto-23.0.1 → kinto-23.0.3}/docs/core/rationale.rst +0 -0
  116. {kinto-23.0.1 → kinto-23.0.3}/docs/core/resource.rst +0 -0
  117. {kinto-23.0.1 → kinto-23.0.3}/docs/core/storage.rst +0 -0
  118. {kinto-23.0.1 → kinto-23.0.3}/docs/core/testing.rst +0 -0
  119. {kinto-23.0.1 → kinto-23.0.3}/docs/core/utils.rst +0 -0
  120. {kinto-23.0.1 → kinto-23.0.3}/docs/core/viewsets.rst +0 -0
  121. {kinto-23.0.1 → kinto-23.0.3}/docs/faq.rst +0 -0
  122. {kinto-23.0.1 → kinto-23.0.3}/docs/images/alwaysdata-button.svg +0 -0
  123. {kinto-23.0.1 → kinto-23.0.3}/docs/images/architecture.svg +0 -0
  124. {kinto-23.0.1 → kinto-23.0.3}/docs/images/color-formatter.png +0 -0
  125. {kinto-23.0.1 → kinto-23.0.3}/docs/images/concepts-general.png +0 -0
  126. {kinto-23.0.1 → kinto-23.0.3}/docs/images/concepts-permissions.png +0 -0
  127. {kinto-23.0.1 → kinto-23.0.3}/docs/images/heroku-button.png +0 -0
  128. {kinto-23.0.1 → kinto-23.0.3}/docs/images/kinto-logo.png +0 -0
  129. {kinto-23.0.1 → kinto-23.0.3}/docs/images/kinto-logo.svg +0 -0
  130. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-admin.svg +0 -0
  131. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-attachment.svg +0 -0
  132. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-community.svg +0 -0
  133. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-history.svg +0 -0
  134. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-javascript.svg +0 -0
  135. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-jsonschema.svg +0 -0
  136. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-multiapps.svg +0 -0
  137. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-permissions.svg +0 -0
  138. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-python.svg +0 -0
  139. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-selfhostable.svg +0 -0
  140. {kinto-23.0.1 → kinto-23.0.3}/docs/images/logo-synchronisation.svg +0 -0
  141. {kinto-23.0.1 → kinto-23.0.3}/docs/images/overview-deployonce-selfhost.png +0 -0
  142. {kinto-23.0.1 → kinto-23.0.3}/docs/images/overview-features.png +0 -0
  143. {kinto-23.0.1 → kinto-23.0.3}/docs/images/overview-synchronisation.png +0 -0
  144. {kinto-23.0.1 → kinto-23.0.3}/docs/images/overview-use-cases.png +0 -0
  145. {kinto-23.0.1 → kinto-23.0.3}/docs/images/scalingo-button.svg +0 -0
  146. {kinto-23.0.1 → kinto-23.0.3}/docs/images/screenshot-kinto-admin-1.png +0 -0
  147. {kinto-23.0.1 → kinto-23.0.3}/docs/images/screenshot-kinto-admin-2.png +0 -0
  148. {kinto-23.0.1 → kinto-23.0.3}/docs/images/screenshot-kinto-admin-3.png +0 -0
  149. {kinto-23.0.1 → kinto-23.0.3}/docs/images/screenshot-kinto-admin-4.png +0 -0
  150. {kinto-23.0.1 → kinto-23.0.3}/docs/images/sequence-storage.png +0 -0
  151. {kinto-23.0.1 → kinto-23.0.3}/docs/images/sync-both.svg +0 -0
  152. {kinto-23.0.1 → kinto-23.0.3}/docs/images/sync-newest.svg +0 -0
  153. {kinto-23.0.1 → kinto-23.0.3}/docs/images/sync-oldest.svg +0 -0
  154. {kinto-23.0.1 → kinto-23.0.3}/docs/index.rst +0 -0
  155. {kinto-23.0.1 → kinto-23.0.3}/docs/kinto-admin.rst +0 -0
  156. {kinto-23.0.1 → kinto-23.0.3}/docs/overview.rst +0 -0
  157. {kinto-23.0.1 → kinto-23.0.3}/docs/troubleshooting.rst +0 -0
  158. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/custom-id-generator.rst +0 -0
  159. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/first-steps.rst +0 -0
  160. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/index.rst +0 -0
  161. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/install.rst +0 -0
  162. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/notifications-custom.rst +0 -0
  163. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/permission-setups.rst +0 -0
  164. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/permissions.rst +0 -0
  165. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/synchronisation.rst +0 -0
  166. {kinto-23.0.1 → kinto-23.0.3}/docs/tutorials/write-plugin.rst +0 -0
  167. {kinto-23.0.1 → kinto-23.0.3}/kinto/__init__.py +0 -0
  168. {kinto-23.0.1 → kinto-23.0.3}/kinto/__main__.py +0 -0
  169. {kinto-23.0.1 → kinto-23.0.3}/kinto/authorization.py +0 -0
  170. {kinto-23.0.1 → kinto-23.0.3}/kinto/config/__init__.py +0 -0
  171. {kinto-23.0.1 → kinto-23.0.3}/kinto/config/kinto.tpl +0 -0
  172. {kinto-23.0.1 → kinto-23.0.3}/kinto/contribute.json +0 -0
  173. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/__init__.py +0 -0
  174. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/authentication.py +0 -0
  175. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/authorization.py +0 -0
  176. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cache/__init__.py +0 -0
  177. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cache/memcached.py +0 -0
  178. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cache/memory.py +0 -0
  179. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cache/postgresql/__init__.py +0 -0
  180. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cache/postgresql/schema.sql +0 -0
  181. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cache/testing.py +0 -0
  182. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/__init__.py +0 -0
  183. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/cors.py +0 -0
  184. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/errors.py +0 -0
  185. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/pyramidhook.py +0 -0
  186. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/renderer.py +0 -0
  187. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/resource.py +0 -0
  188. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/service.py +0 -0
  189. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/util.py +0 -0
  190. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/validators/__init__.py +0 -0
  191. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/validators/_colander.py +0 -0
  192. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice/validators/_marshmallow.py +0 -0
  193. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/__init__.py +0 -0
  194. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/converters/__init__.py +0 -0
  195. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/converters/exceptions.py +0 -0
  196. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/converters/parameters.py +0 -0
  197. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/converters/schema.py +0 -0
  198. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/swagger.py +0 -0
  199. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/templates/index.html +0 -0
  200. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/templates/index_script_template.html +0 -0
  201. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/util.py +0 -0
  202. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/cornice_swagger/views.py +0 -0
  203. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/decorators.py +0 -0
  204. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/errors.py +0 -0
  205. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/events.py +0 -0
  206. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/initialization.py +0 -0
  207. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/listeners/__init__.py +0 -0
  208. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/metrics.py +0 -0
  209. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/openapi.py +0 -0
  210. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/permission/__init__.py +0 -0
  211. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/permission/memory.py +0 -0
  212. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/permission/postgresql/__init__.py +0 -0
  213. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/permission/postgresql/migrations/migration_001_002.sql +0 -0
  214. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/permission/postgresql/schema.sql +0 -0
  215. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/permission/testing.py +0 -0
  216. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/resource/model.py +0 -0
  217. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/schema.py +0 -0
  218. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/scripts.py +0 -0
  219. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/statsd.py +0 -0
  220. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/__init__.py +0 -0
  221. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/exceptions.py +0 -0
  222. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/generators.py +0 -0
  223. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/memory.py +0 -0
  224. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/client.py +0 -0
  225. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_001_002.sql +0 -0
  226. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_002_003.sql +0 -0
  227. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_003_004.sql +0 -0
  228. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_004_005.sql +0 -0
  229. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_005_006.sql +0 -0
  230. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_006_007.sql +0 -0
  231. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_007_008.sql +0 -0
  232. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_008_009.sql +0 -0
  233. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_009_010.sql +0 -0
  234. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_010_011.sql +0 -0
  235. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_011_012.sql +0 -0
  236. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_012_013.sql +0 -0
  237. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_013_014.sql +0 -0
  238. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_014_015.sql +0 -0
  239. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_015_016.sql +0 -0
  240. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_016_017.sql +0 -0
  241. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_017_018.sql +0 -0
  242. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_018_019.sql +0 -0
  243. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_019_020.sql +0 -0
  244. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_020_021.sql +0 -0
  245. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_021_022.sql +0 -0
  246. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrations/migration_022_023.sql +0 -0
  247. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/migrator.py +0 -0
  248. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/pool.py +0 -0
  249. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/postgresql/schema.sql +0 -0
  250. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/storage/utils.py +0 -0
  251. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/testing.py +0 -0
  252. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/__init__.py +0 -0
  253. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/batch.py +0 -0
  254. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/errors.py +0 -0
  255. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/heartbeat.py +0 -0
  256. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/hello.py +0 -0
  257. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/openapi.py +0 -0
  258. {kinto-23.0.1 → kinto-23.0.3}/kinto/core/views/version.py +0 -0
  259. {kinto-23.0.1 → kinto-23.0.3}/kinto/events.py +0 -0
  260. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/__init__.py +0 -0
  261. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/accounts/__init__.py +0 -0
  262. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/accounts/authentication.py +0 -0
  263. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/accounts/scripts.py +0 -0
  264. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/accounts/utils.py +0 -0
  265. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/accounts/views.py +0 -0
  266. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/README.md +0 -0
  267. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/__init__.py +0 -0
  268. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/asn1-EdZsLKOL.js +0 -0
  269. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/clojure-BMjYHr_A.js +0 -0
  270. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/css-BnMrqG3P.js +0 -0
  271. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/javascript-qCveANmP.js +0 -0
  272. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/logo-VBRiKSPX.png +0 -0
  273. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/mllike-CXdrOF99.js +0 -0
  274. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/python-BuPzkPfP.js +0 -0
  275. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/rpm-CTu-6PCP.js +0 -0
  276. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/sql-D0XecflT.js +0 -0
  277. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/build/assets/ttcn-cfg-B9xdYoR4.js +0 -0
  278. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/admin/public/help.html +0 -0
  279. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/default_bucket/__init__.py +0 -0
  280. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/flush.py +0 -0
  281. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/history/__init__.py +0 -0
  282. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/history/listener.py +0 -0
  283. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/history/views.py +0 -0
  284. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/openid/__init__.py +0 -0
  285. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/openid/utils.py +0 -0
  286. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/openid/views.py +0 -0
  287. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/prometheus.py +0 -0
  288. {kinto-23.0.1 → kinto-23.0.3}/kinto/plugins/statsd.py +0 -0
  289. {kinto-23.0.1 → kinto-23.0.3}/kinto/schema_validation.py +0 -0
  290. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/__init__.py +0 -0
  291. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/admin.py +0 -0
  292. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/buckets.py +0 -0
  293. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/collections.py +0 -0
  294. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/contribute.py +0 -0
  295. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/groups.py +0 -0
  296. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/permissions.py +0 -0
  297. {kinto-23.0.1 → kinto-23.0.3}/kinto/views/records.py +0 -0
  298. {kinto-23.0.1 → kinto-23.0.3}/kinto.egg-info/dependency_links.txt +0 -0
  299. {kinto-23.0.1 → kinto-23.0.3}/kinto.egg-info/entry_points.txt +0 -0
  300. {kinto-23.0.1 → kinto-23.0.3}/kinto.egg-info/requires.txt +0 -0
  301. {kinto-23.0.1 → kinto-23.0.3}/kinto.egg-info/top_level.txt +0 -0
  302. {kinto-23.0.1 → kinto-23.0.3}/pyproject.toml +0 -0
  303. {kinto-23.0.1 → kinto-23.0.3}/setup.cfg +0 -0
  304. {kinto-23.0.1 → kinto-23.0.3}/tests/__init__.py +0 -0
  305. {kinto-23.0.1 → kinto-23.0.3}/tests/browser.py +0 -0
  306. {kinto-23.0.1 → kinto-23.0.3}/tests/core/__init__.py +0 -0
  307. {kinto-23.0.1 → kinto-23.0.3}/tests/core/listeners.py +0 -0
  308. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/__init__.py +0 -0
  309. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_base.py +0 -0
  310. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_cache_expires.py +0 -0
  311. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_events.py +0 -0
  312. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_model.py +0 -0
  313. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_object.py +0 -0
  314. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_object_permissions.py +0 -0
  315. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_pagination.py +0 -0
  316. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_partial_response.py +0 -0
  317. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_preconditions.py +0 -0
  318. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_sort.py +0 -0
  319. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_sync.py +0 -0
  320. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_views.py +0 -0
  321. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_views_cors.py +0 -0
  322. {kinto-23.0.1 → kinto-23.0.3}/tests/core/resource/test_viewset.py +0 -0
  323. {kinto-23.0.1 → kinto-23.0.3}/tests/core/schema/postgresql-permission-1.sql +0 -0
  324. {kinto-23.0.1 → kinto-23.0.3}/tests/core/schema/postgresql-storage-1.6.sql +0 -0
  325. {kinto-23.0.1 → kinto-23.0.3}/tests/core/schema/postgresql-storage-11.sql +0 -0
  326. {kinto-23.0.1 → kinto-23.0.3}/tests/core/support.py +0 -0
  327. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_authentication.py +0 -0
  328. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_authorization.py +0 -0
  329. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_cache.py +0 -0
  330. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_decorators.py +0 -0
  331. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_deprecation.py +0 -0
  332. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_errors.py +0 -0
  333. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_initialization.py +0 -0
  334. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_listeners.py +0 -0
  335. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_logging.py +0 -0
  336. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_metrics.py +0 -0
  337. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_openapi.py +0 -0
  338. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_permission.py +0 -0
  339. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_schema.py +0 -0
  340. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_scripts.py +0 -0
  341. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_storage.py +0 -0
  342. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_storage_migrations.py +0 -0
  343. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_storage_pool.py +0 -0
  344. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_utils.py +0 -0
  345. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_batch.py +0 -0
  346. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_errors.py +0 -0
  347. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_heartbeat.py +0 -0
  348. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_hello.py +0 -0
  349. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_openapi.py +0 -0
  350. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_postgresql.py +0 -0
  351. {kinto-23.0.1 → kinto-23.0.3}/tests/core/test_views_transaction.py +0 -0
  352. {kinto-23.0.1 → kinto-23.0.3}/tests/core/testapp/__init__.py +0 -0
  353. {kinto-23.0.1 → kinto-23.0.3}/tests/core/testapp/static/index.html +0 -0
  354. {kinto-23.0.1 → kinto-23.0.3}/tests/core/testapp/views.py +0 -0
  355. {kinto-23.0.1 → kinto-23.0.3}/tests/core/testplugin/__init__.py +0 -0
  356. {kinto-23.0.1 → kinto-23.0.3}/tests/functional.ini +0 -0
  357. {kinto-23.0.1 → kinto-23.0.3}/tests/functional.py +0 -0
  358. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/__init__.py +0 -0
  359. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/support.py +0 -0
  360. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_plugins.py +0 -0
  361. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_resources.py +0 -0
  362. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_responses_buckets.py +0 -0
  363. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_responses_collections.py +0 -0
  364. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_responses_errors.py +0 -0
  365. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_responses_groups.py +0 -0
  366. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_responses_records.py +0 -0
  367. {kinto-23.0.1 → kinto-23.0.3}/tests/openapi/test_validation.py +0 -0
  368. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/__init__.py +0 -0
  369. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_accounts.py +0 -0
  370. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_admin.py +0 -0
  371. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_default_bucket.py +0 -0
  372. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_flush.py +0 -0
  373. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_history.py +0 -0
  374. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_openid.py +0 -0
  375. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_prometheus.py +0 -0
  376. {kinto-23.0.1 → kinto-23.0.3}/tests/plugins/test_statsd.py +0 -0
  377. {kinto-23.0.1 → kinto-23.0.3}/tests/support.py +0 -0
  378. {kinto-23.0.1 → kinto-23.0.3}/tests/test_authorization.py +0 -0
  379. {kinto-23.0.1 → kinto-23.0.3}/tests/test_config.py +0 -0
  380. {kinto-23.0.1 → kinto-23.0.3}/tests/test_configuration/test.ini +0 -0
  381. {kinto-23.0.1 → kinto-23.0.3}/tests/test_init.py +0 -0
  382. {kinto-23.0.1 → kinto-23.0.3}/tests/test_main.py +0 -0
  383. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_admin.py +0 -0
  384. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_buckets.py +0 -0
  385. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_collections.py +0 -0
  386. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_collections_cache.py +0 -0
  387. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_contribute.py +0 -0
  388. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_disable_default.py +0 -0
  389. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_groups.py +0 -0
  390. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_hello.py +0 -0
  391. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_metrics.py +0 -0
  392. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_objects_permissions.py +0 -0
  393. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_permissions.py +0 -0
  394. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_records.py +0 -0
  395. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_schema_collection.py +0 -0
  396. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_schema_group.py +0 -0
  397. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_schema_record.py +0 -0
  398. {kinto-23.0.1 → kinto-23.0.3}/tests/test_views_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinto
3
- Version: 23.0.1
3
+ Version: 23.0.3
4
4
  Summary: Kinto Web Service - Store, Sync, Share, and Self-Host.
5
5
  Author-email: Mozilla Services <developers@kinto-storage.org>
6
6
  License: Copyright 2012 - Mozilla Foundation
@@ -60,7 +60,7 @@ jsonpointer==2.4
60
60
  # jsonschema
61
61
  jsonref==1.1.0
62
62
  # via bravado-core
63
- jsonschema==4.23.0
63
+ jsonschema==4.24.0
64
64
  # via
65
65
  # -r constraints.in
66
66
  # bravado-core
@@ -73,7 +73,7 @@ markupsafe==2.1.4
73
73
  # via werkzeug
74
74
  msgpack==1.0.7
75
75
  # via bravado-core
76
- newrelic==10.11.0
76
+ newrelic==10.14.0
77
77
  # via -r constraints.in
78
78
  packaging==23.2
79
79
  # via
@@ -88,16 +88,20 @@ plaster==1.1.2
88
88
  # pyramid
89
89
  plaster-pastedeploy==1.0.1
90
90
  # via pyramid
91
- playwright==1.52.0
91
+ playwright==1.53.0
92
92
  # via -r constraints.in
93
93
  pluggy==1.5.0
94
- # via pytest
95
- prometheus-client==0.21.1
94
+ # via
95
+ # pytest
96
+ # pytest-cov
97
+ prometheus-client==0.22.1
96
98
  # via -r constraints.in
97
99
  psycopg2-binary==2.9.10
98
100
  # via -r constraints.in
99
101
  pyee==13.0.0
100
102
  # via playwright
103
+ pygments==2.19.1
104
+ # via pytest
101
105
  pyproject-hooks==1.0.0
102
106
  # via build
103
107
  pyramid==2.0.2
@@ -109,14 +113,14 @@ pyramid-multiauth==1.0.2
109
113
  # via -r constraints.in
110
114
  pyramid-tm==2.6
111
115
  # via -r constraints.in
112
- pytest==8.3.5
116
+ pytest==8.4.1
113
117
  # via
114
118
  # -r constraints.in
115
119
  # pytest-cache
116
120
  # pytest-cov
117
121
  pytest-cache==1.0
118
122
  # via -r constraints.in
119
- pytest-cov==6.1.1
123
+ pytest-cov==6.2.1
120
124
  # via -r constraints.in
121
125
  python-dateutil==2.9.0.post0
122
126
  # via
@@ -137,7 +141,7 @@ referencing==0.32.1
137
141
  # via
138
142
  # jsonschema
139
143
  # jsonschema-specifications
140
- requests==2.32.3
144
+ requests==2.32.4
141
145
  # via
142
146
  # -r constraints.in
143
147
  # bravado-core
@@ -149,7 +153,7 @@ rpds-py==0.17.1
149
153
  # via
150
154
  # jsonschema
151
155
  # referencing
152
- ruff==0.11.9
156
+ ruff==0.12.3
153
157
  # via -r constraints.in
154
158
  sentry-sdk==2.8.0
155
159
  # via -r constraints.in
@@ -162,7 +166,7 @@ six==1.16.0
162
166
  # rfc3339-validator
163
167
  soupsieve==2.5
164
168
  # via beautifulsoup4
165
- sqlalchemy==2.0.40
169
+ sqlalchemy==2.0.41
166
170
  # via
167
171
  # -r constraints.in
168
172
  # sentry-sdk
@@ -189,7 +193,7 @@ typing-extensions==4.9.0
189
193
  # swagger-spec-validator
190
194
  uri-template==1.3.0
191
195
  # via jsonschema
192
- urllib3==2.2.2
196
+ urllib3==2.5.0
193
197
  # via
194
198
  # requests
195
199
  # sentry-sdk
@@ -53,7 +53,7 @@ Precondition errors
53
53
  As detailed in the :ref:`timestamps <server-timestamps>` section, it is
54
54
  possible to add concurrency control using ``ETag`` request headers.
55
55
 
56
- When a the provided preconditions are not met, a |status-412| error response
56
+ When the provided preconditions are not met, a |status-412| error response
57
57
  is returned.
58
58
 
59
59
  Additional information about the record currently stored on the server will be
@@ -102,7 +102,7 @@ The current implementation supports extensions as follows:
102
102
  `Cornice Swagger documentation <https://cornices.github.io/cornice.ext.swagger/>`_.
103
103
 
104
104
  - If the plugin changes the possible responses for a Resource, you can
105
- document it by subclassing :class:`kinto.core.resource.schema.ResourceReponses` and
105
+ document it by subclassing :class:`kinto.core.resource.schema.ResourceResponses` and
106
106
  changing the ``responses`` attribute on your Resource ``ViewSet``.
107
107
 
108
108
  - If the plugin adds an authentication method, you may declare it using
@@ -5,7 +5,7 @@ sphinxcontrib-httpdomain==1.8.1
5
5
  sphinx-github-changelog==1.7.1
6
6
  kinto
7
7
  mock==5.2.0
8
- webtest==3.0.4
8
+ webtest==3.0.6
9
9
  pyramid==2.0.2
10
- python-rapidjson==1.20
11
- SQLAlchemy==2.0.40
10
+ python-rapidjson==1.21
11
+ SQLAlchemy==2.0.41
@@ -319,7 +319,7 @@ class Resource:
319
319
  #
320
320
 
321
321
  def plural_head(self):
322
- """Model ``HEAD`` endpoint: empty reponse with a ``Total-Objects`` header.
322
+ """Model ``HEAD`` endpoint: empty response with a ``Total-Objects`` header.
323
323
 
324
324
  :raises: :exc:`~pyramid:pyramid.httpexceptions.HTTPNotModified` if
325
325
  ``If-None-Match`` header is provided and collection not
@@ -1135,6 +1135,14 @@ class Resource:
1135
1135
  if field == self.model.modified_field and not is_valid_timestamp(value):
1136
1136
  raise_invalid(self.request, **error_details)
1137
1137
 
1138
+ if field in (self.model.modified_field, self.model.id_field) and operator in (
1139
+ COMPARISON.CONTAINS,
1140
+ COMPARISON.CONTAINS_ANY,
1141
+ ):
1142
+ error_msg = f"Field '{field}' is not an array"
1143
+ error_details["description"] = error_msg
1144
+ raise_invalid(self.request, **error_details)
1145
+
1138
1146
  filters.append(Filter(field, value, operator))
1139
1147
 
1140
1148
  # If a plural endpoint is reached, and if the user does not have the
@@ -21,7 +21,7 @@ positive_big_integer = colander.Range(min=0, max=POSTGRESQL_MAX_INTEGER_VALUE)
21
21
 
22
22
 
23
23
  class TimeStamp(TimeStamp):
24
- """This schema is deprecated, you shoud use `kinto.core.schema.TimeStamp` instead."""
24
+ """This schema is deprecated, you should use `kinto.core.schema.TimeStamp` instead."""
25
25
 
26
26
  def __init__(self, *args, **kwargs):
27
27
  message = (
@@ -33,7 +33,7 @@ class TimeStamp(TimeStamp):
33
33
 
34
34
 
35
35
  class URL(URL):
36
- """This schema is deprecated, you shoud use `kinto.core.schema.URL` instead."""
36
+ """This schema is deprecated, you should use `kinto.core.schema.URL` instead."""
37
37
 
38
38
  def __init__(self, *args, **kwargs):
39
39
  message = (
@@ -422,7 +422,7 @@ class PluralResponseSchema(colander.MappingSchema):
422
422
  return datalist
423
423
 
424
424
 
425
- class ResourceReponses:
425
+ class ResourceResponses:
426
426
  """Class that wraps and handles Resource responses."""
427
427
 
428
428
  default_schemas = {
@@ -448,7 +448,7 @@ class ResourceReponses:
448
448
  }
449
449
  default_get_schemas = {
450
450
  "304": NotModifiedResponseSchema(
451
- description="Reponse has not changed since value in If-None-Match header"
451
+ description="Response has not changed since value in If-None-Match header"
452
452
  )
453
453
  }
454
454
  default_post_schemas = {
@@ -16,7 +16,7 @@ from .schema import (
16
16
  PluralGetQuerySchema,
17
17
  PluralQuerySchema,
18
18
  RequestSchema,
19
- ResourceReponses,
19
+ ResourceResponses,
20
20
  )
21
21
 
22
22
 
@@ -64,7 +64,7 @@ class ViewSet:
64
64
 
65
65
  factory = authorization.RouteFactory
66
66
 
67
- responses = ResourceReponses()
67
+ responses = ResourceResponses()
68
68
 
69
69
  service_arguments = {"description": "Set of {resource_name}"}
70
70
 
@@ -884,6 +884,14 @@ class Storage(StorageBase, MigratorMixin):
884
884
  operator = "IS NOT NULL" if filtr.value else "IS NULL"
885
885
  cond = f"{sql_field} {operator}"
886
886
 
887
+ elif filtr.operator == COMPARISON.CONTAINS:
888
+ value_holder = f"{prefix}_value_{i}"
889
+ holders[value_holder] = value
890
+ # In case the field is not a sequence, we ignore the object.
891
+ is_json_sequence = f"jsonb_typeof({sql_field}) = 'array'"
892
+ sql_operator = operators[filtr.operator]
893
+ cond = f"{is_json_sequence} AND {sql_field} {sql_operator} :{value_holder}"
894
+
887
895
  elif filtr.operator == COMPARISON.CONTAINS_ANY:
888
896
  value_holder = f"{prefix}_value_{i}"
889
897
  holders[value_holder] = value
@@ -491,6 +491,14 @@ class BaseTestStorage:
491
491
  objects = self.storage.list_all(filters=filters, **self.storage_kw)
492
492
  self.assertEqual(len(objects), 0)
493
493
 
494
+ def test_list_all_contains_ignores_object_if_field_is_not_array(self):
495
+ self.create_object({"code": "black"})
496
+ self.create_object({"fib": ["a", "b", "c"]})
497
+
498
+ filters = [Filter("fib", ["a"], utils.COMPARISON.CONTAINS)]
499
+ objects = self.storage.list_all(filters=filters, **self.storage_kw)
500
+ self.assertEqual(len(objects), 1)
501
+
494
502
  def test_list_all_can_filter_on_array_with_contains_any_and_unsupported_type(self):
495
503
  self.create_object({"code": "black"})
496
504
  self.create_object({"fib": [2, 3, 5]})
@@ -422,7 +422,7 @@ def follow_subrequest(request, subrequest, **kwargs):
422
422
  """Run a subrequest (e.g. batch), and follow the redirection if any.
423
423
 
424
424
  :rtype: tuple
425
- :returns: the reponse and the redirection request (or `subrequest`
425
+ :returns: the response and the redirection request (or `subrequest`
426
426
  if no redirection happened.)
427
427
  """
428
428
  try:
@@ -0,0 +1 @@
1
+ 4.0.2
@@ -0,0 +1 @@
1
+ 4.0.2