oxutils 0.3.1__tar.gz → 0.3.2__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 (213) hide show
  1. {oxutils-0.3.1 → oxutils-0.3.2}/PKG-INFO +1 -1
  2. {oxutils-0.3.1 → oxutils-0.3.2}/pyproject.toml +1 -1
  3. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/jwt/auth.py +16 -30
  4. {oxutils-0.3.1 → oxutils-0.3.2}/README.md +0 -0
  5. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/__init__.py +0 -0
  6. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/apps.py +0 -0
  7. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/__init__.py +0 -0
  8. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/apps.py +0 -0
  9. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/export.py +0 -0
  10. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/locale/fr/LC_MESSAGES/django.mo +0 -0
  11. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/locale/fr/LC_MESSAGES/django.po +0 -0
  12. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/masks.py +0 -0
  13. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/migrations/0001_initial.py +0 -0
  14. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/migrations/__init__.py +0 -0
  15. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/models.py +0 -0
  16. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/settings.py +0 -0
  17. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/audit/utils.py +0 -0
  18. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/__init__.py +0 -0
  19. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/adapter.py +0 -0
  20. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/admin.py +0 -0
  21. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/app_settings.py +0 -0
  22. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/apps.py +0 -0
  23. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/constants.py +0 -0
  24. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/controllers.py +0 -0
  25. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/emails/__init__.py +0 -0
  26. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/emails/controllers.py +0 -0
  27. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/emails/schemas.py +0 -0
  28. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/emails/services.py +0 -0
  29. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/exceptions.py +0 -0
  30. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/invitations/__init__.py +0 -0
  31. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/invitations/backend.py +0 -0
  32. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/invitations/controllers.py +0 -0
  33. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/invitations/models.py +0 -0
  34. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/invitations/schemas.py +0 -0
  35. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/invitations/tokens.py +0 -0
  36. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/__init__.py +0 -0
  37. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/adapter.py +0 -0
  38. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/base/__init__.py +0 -0
  39. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/base/controllers.py +0 -0
  40. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/base/schemas.py +0 -0
  41. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/recovery_codes/__init__.py +0 -0
  42. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/recovery_codes/controllers.py +0 -0
  43. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/recovery_codes/flows.py +0 -0
  44. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/recovery_codes/schemas.py +0 -0
  45. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/recovery_codes/services.py +0 -0
  46. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/totp/__ini__.py +0 -0
  47. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/totp/controllers.py +0 -0
  48. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/totp/flows.py +0 -0
  49. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/totp/permissions.py +0 -0
  50. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/totp/schemas.py +0 -0
  51. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/totp/services.py +0 -0
  52. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mfa/utils.py +0 -0
  53. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/migrations/0001_initial.py +0 -0
  54. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/migrations/__init__.py +0 -0
  55. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/mixins.py +0 -0
  56. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/models.py +0 -0
  57. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/password_reset/__init__.py +0 -0
  58. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/password_reset/controllers.py +0 -0
  59. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/password_reset/models.py +0 -0
  60. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/password_reset/permissions.py +0 -0
  61. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/password_reset/schemas.py +0 -0
  62. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/registration/__init__.py +0 -0
  63. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/registration/controllers.py +0 -0
  64. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/registration/schemas.py +0 -0
  65. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/schemas.py +0 -0
  66. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/sessions/__init__.py +0 -0
  67. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/sessions/controllers.py +0 -0
  68. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/sessions/schemas.py +0 -0
  69. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/signals.py +0 -0
  70. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/templatetags/__init__.py +0 -0
  71. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/templatetags/spa_urls.py +0 -0
  72. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/tokens/__init__.py +0 -0
  73. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/tokens/app_settings.py +0 -0
  74. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/tokens/models.py +0 -0
  75. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/tokens/schemas.py +0 -0
  76. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/tokens/tokens.py +0 -0
  77. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/tokens/utils.py +0 -0
  78. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/auth/utils.py +0 -0
  79. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/celery/__init__.py +0 -0
  80. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/celery/base.py +0 -0
  81. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/celery/settings.py +0 -0
  82. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/conf.py +0 -0
  83. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/constants.py +0 -0
  84. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/context/__init__.py +0 -0
  85. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/context/site_name_processor.py +0 -0
  86. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/__init__.py +0 -0
  87. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/admin.py +0 -0
  88. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/apps.py +0 -0
  89. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/caches.py +0 -0
  90. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/controllers.py +0 -0
  91. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/enums.py +0 -0
  92. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/management/__init__.py +0 -0
  93. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/management/commands/__init__.py +0 -0
  94. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/management/commands/sync_currency.py +0 -0
  95. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/migrations/0001_initial.py +0 -0
  96. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/migrations/__init__.py +0 -0
  97. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/models.py +0 -0
  98. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/schemas.py +0 -0
  99. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/signals.py +0 -0
  100. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/tests.py +0 -0
  101. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/currency/utils.py +0 -0
  102. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/enums/__init__.py +0 -0
  103. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/enums/audit.py +0 -0
  104. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/enums/invoices.py +0 -0
  105. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/exceptions.py +0 -0
  106. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/functions.py +0 -0
  107. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/jwt/__init__.py +0 -0
  108. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/jwt/middleware.py +0 -0
  109. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/jwt/models.py +0 -0
  110. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/jwt/tokens.py +0 -0
  111. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/jwt/utils.py +0 -0
  112. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/logger/__init__.py +0 -0
  113. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/logger/receivers.py +0 -0
  114. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/logger/settings.py +0 -0
  115. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/mixins/__init__.py +0 -0
  116. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/mixins/base.py +0 -0
  117. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/mixins/schemas.py +0 -0
  118. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/mixins/services.py +0 -0
  119. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/models/__init__.py +0 -0
  120. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/models/base.py +0 -0
  121. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/models/billing.py +0 -0
  122. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/models/change_tracker.py +0 -0
  123. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/models/fields.py +0 -0
  124. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/models/invoice.py +0 -0
  125. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/__init__.py +0 -0
  126. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/admin.py +0 -0
  127. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/apps.py +0 -0
  128. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/authorization.py +0 -0
  129. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/cacheops.py +0 -0
  130. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/caches.py +0 -0
  131. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/checks.py +0 -0
  132. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/constants.py +0 -0
  133. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/context.py +0 -0
  134. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/controllers.py +0 -0
  135. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/enums.py +0 -0
  136. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/exceptions.py +0 -0
  137. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/locale/fr/LC_MESSAGES/django.mo +0 -0
  138. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/locale/fr/LC_MESSAGES/django.po +0 -0
  139. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/management/__init__.py +0 -0
  140. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/management/commands/__init__.py +0 -0
  141. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/management/commands/grant_tenant_owners.py +0 -0
  142. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/management/commands/init_oxiliere_system.py +0 -0
  143. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/middleware.py +0 -0
  144. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/migrations/__init__.py +0 -0
  145. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/models.py +0 -0
  146. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/permissions.py +0 -0
  147. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/schemas.py +0 -0
  148. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/services.py +0 -0
  149. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/settings.py +0 -0
  150. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/signals.py +0 -0
  151. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/tests.py +0 -0
  152. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/oxiliere/utils.py +0 -0
  153. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/pagination/__init__.py +0 -0
  154. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/pagination/cursor.py +0 -0
  155. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/pdf/__init__.py +0 -0
  156. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/pdf/printer.py +0 -0
  157. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/pdf/utils.py +0 -0
  158. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/pdf/views.py +0 -0
  159. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/__init__.py +0 -0
  160. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/actions.py +0 -0
  161. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/admin.py +0 -0
  162. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/apps.py +0 -0
  163. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/caches.py +0 -0
  164. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/checks.py +0 -0
  165. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/constants.py +0 -0
  166. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/controllers.py +0 -0
  167. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/exceptions.py +0 -0
  168. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/locale/fr/LC_MESSAGES/django.mo +0 -0
  169. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/locale/fr/LC_MESSAGES/django.po +0 -0
  170. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/management/__init__.py +0 -0
  171. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/management/commands/__init__.py +0 -0
  172. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/management/commands/load_permission_preset.py +0 -0
  173. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0001_initial.py +0 -0
  174. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0002_alter_grant_role.py +0 -0
  175. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0003_alter_grant_options_alter_group_options_and_more.py +0 -0
  176. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0004_group_app_group_permissions_app_9a9924_idx.py +0 -0
  177. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0005_role_app.py +0 -0
  178. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0006_alter_rolegrant_options_and_more.py +0 -0
  179. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0007_grant_locked_alter_grant_role_and_more.py +0 -0
  180. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/0008_remove_grant_unique_user_scope_role_and_more.py +0 -0
  181. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/migrations/__init__.py +0 -0
  182. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/models.py +0 -0
  183. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/perms.py +0 -0
  184. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/queryset.py +0 -0
  185. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/schemas.py +0 -0
  186. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/services.py +0 -0
  187. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/tests.py +0 -0
  188. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/permissions/utils.py +0 -0
  189. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/py.typed +0 -0
  190. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/s3.py +0 -0
  191. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/settings.py +0 -0
  192. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/account/email/base_message.txt +0 -0
  193. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/email/password/reset_email_message.html +0 -0
  194. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/email/password/reset_email_message.txt +0 -0
  195. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/email/password/reset_email_subject.txt +0 -0
  196. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/email/signup/email_message.html +0 -0
  197. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/email/signup/email_subject.txt +0 -0
  198. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/templates/verified.html +0 -0
  199. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/types.py +0 -0
  200. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/__init__.py +0 -0
  201. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/admin.py +0 -0
  202. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/apps.py +0 -0
  203. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/locale/fr/LC_MESSAGES/django.mo +0 -0
  204. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/locale/fr/LC_MESSAGES/django.po +0 -0
  205. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/migrations/0001_initial.py +0 -0
  206. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/migrations/0002_alter_user_first_name_alter_user_last_name.py +0 -0
  207. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/migrations/0003_user_photo.py +0 -0
  208. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/migrations/0004_alter_user_options.py +0 -0
  209. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/migrations/__init__.py +0 -0
  210. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/models.py +0 -0
  211. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/tests.py +0 -0
  212. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/users/utils.py +0 -0
  213. {oxutils-0.3.1 → oxutils-0.3.2}/src/oxutils/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oxutils
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Production-ready utilities for Django applications in the Oxiliere ecosystem
5
5
  Keywords: django,utilities,jwt,audit,logging,celery,structlog
6
6
  Author: Edimedia Mutoke
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oxutils"
3
- version = "0.3.1"
3
+ version = "0.3.2"
4
4
  description = "Production-ready utilities for Django applications in the Oxiliere ecosystem"
5
5
  readme = "README.md"
6
6
  license = "LGPL-3.0-only"
@@ -1,38 +1,30 @@
1
1
  import os
2
- from typing import Dict, Any, Optional, Type, Tuple, List
3
- from django.utils.translation import gettext_lazy as _
4
- from django.http import HttpRequest
2
+ from typing import Any, Dict, List, Optional, Tuple, Type
3
+
4
+ from django.contrib.auth import SESSION_KEY, get_user_model
5
+ from django.contrib.auth import authenticate as django_authenticate
6
+ from django.contrib.auth import login as django_login
5
7
  from django.contrib.auth.models import AbstractUser
6
- from django.contrib.auth import (
7
- authenticate as django_authenticate,
8
- login as django_login,
9
- get_user_model
10
- )
11
- from jwcrypto import jwk
12
8
  from django.core.exceptions import ImproperlyConfigured
13
-
14
- from ninja.security.base import AuthBase
15
- from ninja_jwt.authentication import (
16
- JWTBaseAuthentication,
17
- JWTStatelessUserAuthentication
18
- )
9
+ from django.http import HttpRequest
10
+ from django.utils.translation import gettext_lazy as _
11
+ from jwcrypto import jwk
19
12
  from ninja.security import (
20
- HttpBearer,
21
13
  APIKeyCookie,
22
14
  HttpBasicAuth,
15
+ HttpBearer,
23
16
  )
17
+ from ninja.security.base import AuthBase
18
+ from ninja_jwt.authentication import JWTBaseAuthentication, JWTStatelessUserAuthentication
24
19
  from ninja_jwt.exceptions import InvalidToken
25
20
  from ninja_jwt.settings import api_settings
21
+
26
22
  from oxutils.constants import ACCESS_TOKEN_COOKIE
27
23
  from oxutils.settings import oxi_settings
28
24
 
29
-
30
-
31
-
32
25
  _public_jwk_cache: Optional[jwk.JWK] = None
33
26
 
34
27
 
35
-
36
28
  def get_jwks() -> Dict[str, Any]:
37
29
  """
38
30
  Get JSON Web Key Set (JWKS) for JWT verification.
@@ -53,17 +45,15 @@ def get_jwks() -> Dict[str, Any]:
53
45
  key_path = oxi_settings.jwt_verifying_key
54
46
 
55
47
  if not os.path.exists(key_path):
56
- raise ImproperlyConfigured(
57
- f"JWT verifying key file not found at: {key_path}"
58
- )
48
+ raise ImproperlyConfigured(f"JWT verifying key file not found at: {key_path}")
59
49
 
60
50
  if _public_jwk_cache is None:
61
51
  try:
62
- with open(key_path, 'r') as f:
52
+ with open(key_path, "r") as f:
63
53
  key_data = f.read()
64
54
 
65
- _public_jwk_cache = jwk.JWK.from_pem(key_data.encode('utf-8'))
66
- _public_jwk_cache.update(kid='main')
55
+ _public_jwk_cache = jwk.JWK.from_pem(key_data.encode("utf-8"))
56
+ _public_jwk_cache.update(kid="main")
67
57
  except Exception as e:
68
58
  raise ImproperlyConfigured(
69
59
  f"Failed to load JWT verifying key from {key_path}: {str(e)}"
@@ -123,7 +113,6 @@ def authenticate_by_x_session_token(token: str) -> Optional[Tuple]:
123
113
  """
124
114
  from allauth.headless import app_settings
125
115
 
126
-
127
116
  session = app_settings.TOKEN_STRATEGY.lookup_session(token)
128
117
  if not session:
129
118
  return None
@@ -177,7 +166,6 @@ class BasicAuth(HttpBasicAuth):
177
166
 
178
167
  class BasicNoPasswordAuth(HttpBasicAuth):
179
168
  def authenticate(self, request: HttpRequest, username: str, password: str) -> Optional[Any]:
180
-
181
169
  # check if the middleware have already authenticated the user
182
170
  if request.user.is_authenticated:
183
171
  return request.user
@@ -220,8 +208,6 @@ jwt_passive_auth = JWTPassiveAuth()
220
208
  jwt_cookie_passive_auth = JWTCookiePassiveAuth()
221
209
 
222
210
 
223
-
224
-
225
211
  def get_auth_handlers(auths: List[AuthBase] = []) -> List[AuthBase]:
226
212
  """Auth handler switcher based on settings.DEBUG"""
227
213
  from django.conf import settings
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes