django-pfx 1.4.dev52__tar.gz → 1.4.dev54__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 (143) hide show
  1. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/PKG-INFO +1 -1
  2. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/django_pfx.egg-info/PKG-INFO +1 -1
  3. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +2 -2
  4. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/rest_views.py +46 -4
  5. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/.gitignore +0 -0
  6. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/.gitlab-ci.yml +0 -0
  7. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/.pre-commit-config.yaml +0 -0
  8. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/LICENSE +0 -0
  9. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/MANIFEST.in +0 -0
  10. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/README.md +0 -0
  11. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/django_pfx.egg-info/SOURCES.txt +0 -0
  12. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/django_pfx.egg-info/dependency_links.txt +0 -0
  13. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/django_pfx.egg-info/requires.txt +0 -0
  14. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/django_pfx.egg-info/top_level.txt +0 -0
  15. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/Makefile +0 -0
  16. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/conf.py +0 -0
  17. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/index.rst +0 -0
  18. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/api.views.rst +0 -0
  19. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/authentication.md +0 -0
  20. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/decorator.md +0 -0
  21. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/generate_openapi.md +0 -0
  22. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/getting_started.md +0 -0
  23. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/internationalisation.md +0 -0
  24. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/model.md +0 -0
  25. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/pfx_views.md +0 -0
  26. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/profiling.md +0 -0
  27. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/settings.md +0 -0
  28. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/doc/source/testing.md +0 -0
  29. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/img/pfx.png +0 -0
  30. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/img/pfx.svg +0 -0
  31. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/make_messages +0 -0
  32. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/manage.py +0 -0
  33. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/__init__.py +0 -0
  34. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/__init__.py +0 -0
  35. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/apidoc/__init__.py +0 -0
  36. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/apidoc/parameters.py +0 -0
  37. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/apidoc/schema.py +0 -0
  38. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/apidoc/tags.py +0 -0
  39. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/apps.py +0 -0
  40. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/decorator/__init__.py +0 -0
  41. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/decorator/rest.py +0 -0
  42. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/default_settings.py +0 -0
  43. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/exceptions.py +0 -0
  44. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/fields.py +0 -0
  45. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/http/__init__.py +0 -0
  46. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/http/json_response.py +0 -0
  47. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
  48. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/management/__init__.py +0 -0
  49. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/management/commands/__init__.py +0 -0
  50. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
  51. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/management/commands/profile.py +0 -0
  52. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/middleware/__init__.py +0 -0
  53. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/middleware/authentication.py +0 -0
  54. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/middleware/locale.py +0 -0
  55. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/middleware/profiling.py +0 -0
  56. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/migrations/0001_initial.py +0 -0
  57. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/migrations/__init__.py +0 -0
  58. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/__init__.py +0 -0
  59. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
  60. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/cache_mixins.py +0 -0
  61. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/login_ban.py +0 -0
  62. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/not_null_fields.py +0 -0
  63. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/otp_user_mixin.py +0 -0
  64. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/pfx_models.py +0 -0
  65. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/pfx_user.py +0 -0
  66. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
  67. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/serializers/__init__.py +0 -0
  68. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/serializers/json.py +0 -0
  69. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/settings.py +0 -0
  70. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/shortcuts.py +0 -0
  71. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/storage/__init__.py +0 -0
  72. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/storage/s3_storage.py +0 -0
  73. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
  74. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
  75. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
  76. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
  77. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
  78. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
  79. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/test.py +0 -0
  80. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/urls.py +0 -0
  81. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/__init__.py +0 -0
  82. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/authentication_views.py +0 -0
  83. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/fields.py +0 -0
  84. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/filters_views.py +0 -0
  85. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/locale_views.py +0 -0
  86. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/__init__.py +0 -0
  87. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/date_format.py +0 -0
  88. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/groups.py +0 -0
  89. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/list_count.py +0 -0
  90. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/list_items.py +0 -0
  91. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
  92. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/list_order.py +0 -0
  93. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/list_search.py +0 -0
  94. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
  95. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
  96. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
  97. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
  98. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/subset.py +0 -0
  99. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
  100. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
  101. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
  102. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
  103. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
  104. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/settings/__init__.py +0 -0
  105. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pfx/settings/dev.py +0 -0
  106. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/pyproject.toml +0 -0
  107. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/requirements.txt +0 -0
  108. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/serve-doc +0 -0
  109. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/setup.cfg +0 -0
  110. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/setup.py +0 -0
  111. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/__init__.py +0 -0
  112. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
  113. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/models.py +0 -0
  114. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/settings/__init__.py +0 -0
  115. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/settings/ci.py +0 -0
  116. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/settings/common.py +0 -0
  117. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/settings/dev.py +0 -0
  118. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/settings/dev_custom_example.py +0 -0
  119. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/settings/dev_default.py +0 -0
  120. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/__init__.py +0 -0
  121. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/basic_api_errors.py +0 -0
  122. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/basic_api_test.py +0 -0
  123. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_api_doc.py +0 -0
  124. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_api_doc_search.py +0 -0
  125. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_auth_api.py +0 -0
  126. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_body_mixin.py +0 -0
  127. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_cache.py +0 -0
  128. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_client.py +0 -0
  129. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_fields.py +0 -0
  130. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_filters.py +0 -0
  131. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_locale_api.py +0 -0
  132. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_perm_tests.py +0 -0
  133. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_perms_api.py +0 -0
  134. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_profiling_middleware.py +0 -0
  135. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_settings.py +0 -0
  136. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_shortcuts.py +0 -0
  137. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_timezone_middleware.py +0 -0
  138. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_tools.py +0 -0
  139. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_user_queryset.py +0 -0
  140. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_view_decorators.py +0 -0
  141. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/tests/test_view_fields.py +0 -0
  142. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/urls.py +0 -0
  143. {django_pfx-1.4.dev52 → django_pfx-1.4.dev54}/tests/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-pfx
3
- Version: 1.4.dev52
3
+ Version: 1.4.dev54
4
4
  Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-pfx
3
- Version: 1.4.dev52
3
+ Version: 1.4.dev54
4
4
  Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: \n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2024-05-21 15:30+0200\n"
10
+ "POT-Creation-Date: 2024-08-20 12:22+0200\n"
11
11
  "PO-Revision-Date: 2021-06-22 23:31+0200\n"
12
12
  "Last-Translator: \n"
13
13
  "Language-Team: \n"
@@ -280,6 +280,6 @@ msgstr "{model} {obj} modifié."
280
280
  msgid "{model} {obj} deleted."
281
281
  msgstr "{model} {obj} supprimé."
282
282
 
283
- #: views/rest_views.py:1139 views/rest_views.py:1167
283
+ #: views/rest_views.py:1169 views/rest_views.py:1209
284
284
  msgid "Unexpected storage error"
285
285
  msgstr "Erreur de stockage inattendue"
@@ -1124,11 +1124,41 @@ class MediaRestViewMixin(ModelMixin):
1124
1124
  ---
1125
1125
  get:
1126
1126
  summary: Get upload URL
1127
- description: Get upload URL for a file field.
1127
+ description: |
1128
+ Get upload URL for a `MediaField` field.
1129
+
1130
+ You can upload a file ont the received URL. When the upload
1131
+ query is done, you have to confirm the process with an
1132
+ update request (`PUT`) on {model}. The body of this request
1133
+ must contain the name of the `MediaField` with the contents
1134
+ of the `file` value in the response of this request.
1135
+
1136
+ 1. `GET /<int:pk>/<str:field>/upload-url/<str:filename>`
1137
+ → `data`
1138
+ 2. `PUT data.url aFile Content-Type: aFile.type`
1139
+ 3. `PUT /<int:pk> {{field: data.file}}`
1128
1140
  parameters extras:
1129
- pk: the {model} pk
1130
- field: the {model} field name
1131
- filename: the desired filename
1141
+ pk: The {model} pk.
1142
+ field: The {model} field name. Must be the name of
1143
+ a `MediaField` field.
1144
+ filename: The desired filename.
1145
+ responses:
1146
+ 200:
1147
+ description: The upload URL
1148
+ content:
1149
+ application/json:
1150
+ schema:
1151
+ properties:
1152
+ url:
1153
+ type: string
1154
+ format: uri
1155
+ file:
1156
+ type: object
1157
+ properties:
1158
+ name:
1159
+ type: string
1160
+ key:
1161
+ type: string
1132
1162
  """
1133
1163
  obj = self.get_object(pk=pk)
1134
1164
  try:
@@ -1158,6 +1188,18 @@ class MediaRestViewMixin(ModelMixin):
1158
1188
  parameters extras:
1159
1189
  pk: the {model} pk
1160
1190
  field: the {model} field name
1191
+ responses:
1192
+ 200:
1193
+ description: The file URL, if `redirect` is `false`.
1194
+ content:
1195
+ application/json:
1196
+ schema:
1197
+ properties:
1198
+ url:
1199
+ type: string
1200
+ format: uri
1201
+ 302:
1202
+ description: The redirect, if `redirect` is `true`.
1161
1203
  """
1162
1204
  obj = self.get_object(pk=pk)
1163
1205
  try:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes