oxutils 0.1.7__py3-none-any.whl → 0.1.10__py3-none-any.whl

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 (55) hide show
  1. oxutils/__init__.py +2 -1
  2. oxutils/constants.py +4 -0
  3. oxutils/jwt/auth.py +150 -1
  4. oxutils/jwt/models.py +32 -1
  5. oxutils/jwt/utils.py +45 -0
  6. oxutils/logger/receivers.py +10 -6
  7. oxutils/models/base.py +102 -0
  8. oxutils/models/fields.py +79 -0
  9. oxutils/oxiliere/apps.py +6 -1
  10. oxutils/oxiliere/authorization.py +45 -0
  11. oxutils/oxiliere/caches.py +8 -7
  12. oxutils/oxiliere/checks.py +31 -0
  13. oxutils/oxiliere/constants.py +3 -0
  14. oxutils/oxiliere/context.py +18 -0
  15. oxutils/oxiliere/exceptions.py +16 -0
  16. oxutils/oxiliere/management/commands/grant_tenant_owners.py +19 -0
  17. oxutils/oxiliere/management/commands/init_oxiliere_system.py +20 -8
  18. oxutils/oxiliere/middleware.py +29 -13
  19. oxutils/oxiliere/models.py +130 -19
  20. oxutils/oxiliere/permissions.py +6 -5
  21. oxutils/oxiliere/schemas.py +13 -4
  22. oxutils/oxiliere/signals.py +5 -0
  23. oxutils/oxiliere/utils.py +18 -0
  24. oxutils/pagination/__init__.py +0 -0
  25. oxutils/pagination/cursor.py +367 -0
  26. oxutils/permissions/__init__.py +0 -0
  27. oxutils/permissions/actions.py +57 -0
  28. oxutils/permissions/admin.py +3 -0
  29. oxutils/permissions/apps.py +10 -0
  30. oxutils/permissions/caches.py +19 -0
  31. oxutils/permissions/checks.py +188 -0
  32. oxutils/permissions/constants.py +0 -0
  33. oxutils/permissions/controllers.py +344 -0
  34. oxutils/permissions/exceptions.py +60 -0
  35. oxutils/permissions/management/__init__.py +0 -0
  36. oxutils/permissions/management/commands/__init__.py +0 -0
  37. oxutils/permissions/management/commands/load_permission_preset.py +112 -0
  38. oxutils/permissions/migrations/0001_initial.py +112 -0
  39. oxutils/permissions/migrations/0002_alter_grant_role.py +19 -0
  40. oxutils/permissions/migrations/0003_alter_grant_options_alter_group_options_and_more.py +33 -0
  41. oxutils/permissions/migrations/__init__.py +0 -0
  42. oxutils/permissions/models.py +171 -0
  43. oxutils/permissions/perms.py +95 -0
  44. oxutils/permissions/queryset.py +92 -0
  45. oxutils/permissions/schemas.py +276 -0
  46. oxutils/permissions/services.py +663 -0
  47. oxutils/permissions/tests.py +3 -0
  48. oxutils/permissions/utils.py +628 -0
  49. oxutils/settings.py +1 -0
  50. oxutils/users/migrations/0002_alter_user_first_name_alter_user_last_name.py +23 -0
  51. oxutils/users/models.py +2 -0
  52. oxutils/utils.py +25 -0
  53. {oxutils-0.1.7.dist-info → oxutils-0.1.10.dist-info}/METADATA +1 -1
  54. {oxutils-0.1.7.dist-info → oxutils-0.1.10.dist-info}/RECORD +55 -19
  55. {oxutils-0.1.7.dist-info → oxutils-0.1.10.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oxutils
3
- Version: 0.1.7
3
+ Version: 0.1.10
4
4
  Summary: Production-ready utilities for Django applications in the Oxiliere ecosystem
5
5
  Keywords: django,utilities,jwt,s3,audit,logging,celery,structlog
6
6
  Author: Edimedia Mutoke
@@ -1,4 +1,4 @@
1
- oxutils/__init__.py,sha256=KhbRz26xv7g4QkYDPEBR8UY90RvhrzcYEI8uJZSl94I,536
1
+ oxutils/__init__.py,sha256=72fucE_FV2xngi67A4srmDfuvFvIcRUGq8vo5x8A82Y,561
2
2
  oxutils/apps.py,sha256=8pO8eXUZeKYn8fPo0rkoytmHACwDNuTNhdRcpkPTxGM,347
3
3
  oxutils/audit/__init__.py,sha256=uonc00G73Xm7RwRHVWD-wBn8lJYNCq3iBgnRGMWAEWs,583
4
4
  oxutils/audit/apps.py,sha256=xvnmB5Z6nLV7ejzhSeQbesTkwRoFygoPFob8H5QTHgU,304
@@ -13,7 +13,7 @@ oxutils/celery/__init__.py,sha256=29jo4DfdvOoThX-jfL0ZiDjsy3-Z_fNhwHVJaLO5rsk,29
13
13
  oxutils/celery/base.py,sha256=qLlBU2XvT2zj8qszy8togqH7hM_wUYyWWA3JAQPPJx0,3378
14
14
  oxutils/celery/settings.py,sha256=njhHBErpcFczV2e23NCPX_Jxs015jr4dIig4Is_wbgE,33
15
15
  oxutils/conf.py,sha256=TR0RIVaLMHvG0gm3NgbKsoU25eJFBjItAhknFJdiOiQ,231
16
- oxutils/constants.py,sha256=-sBwwte7rxVQ6whvYUaz-NgGUD56YVP3u-TnInugCvM,186
16
+ oxutils/constants.py,sha256=-mAUy_VhPVRFNLWEKq6kGGg22-WJq9RWommspwrHpYc,264
17
17
  oxutils/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  oxutils/context/site_name_processor.py,sha256=1gc0Td_3HVlUn9ThhQBCQ8kfnRnI88bEflK9vEzTvEc,225
19
19
  oxutils/currency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -33,57 +33,93 @@ oxutils/enums/invoices.py,sha256=E33QGQeutZUqvlovJY0VGDxWUb0i_kdfhEiir1ARKuQ,201
33
33
  oxutils/exceptions.py,sha256=CCjENOD0of6_noif2ajrpfbBLoG16DWa46iB9_uEe3M,3592
34
34
  oxutils/functions.py,sha256=4stHj94VebWX0s1XeWshubMD2v8w8QztTWppbkTE_Gg,3246
35
35
  oxutils/jwt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- oxutils/jwt/auth.py,sha256=rO-xWNfug9Ok6zA7EIPvVkpD8TBUdq05CdrnMrL-t9Q,1597
37
- oxutils/jwt/models.py,sha256=lnBv6buITQ2Pqxkaxdd32MyatRY0V-GYTozaEQVWeAw,1363
36
+ oxutils/jwt/auth.py,sha256=G7jIxH7Xw8meDhAnwh9JFlTcd_waZ3BRfKMz4gmpp7A,6343
37
+ oxutils/jwt/models.py,sha256=Q0zRnWpK0trFoPDv5ZEY2ROCRaNn83W-K8SbrmSg1E8,2122
38
38
  oxutils/jwt/tokens.py,sha256=kWgtPl4XxV0xHkjbhd5QteQy8Wv5MsvyLcLVyO-gzuo,1822
39
+ oxutils/jwt/utils.py,sha256=Wuy-PnCcUw6MpY6z1Isy2vOx-_u1o6LjUfRJgf_cqbY,1202
39
40
  oxutils/locale/fr/LC_MESSAGES/django.po,sha256=APXt_8R99seCWjJyS5ELOawvRLvUqqBT32O252BaG5s,7971
40
41
  oxutils/logger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- oxutils/logger/receivers.py,sha256=EBpkwMCHYacOJvuOPzUtM_8ttWWetz17kIwoudGiV34,488
42
+ oxutils/logger/receivers.py,sha256=QddJ1hWbzUKToFdmNmEePlcTMSz9U1LrQChbjhsBJfo,674
42
43
  oxutils/logger/settings.py,sha256=VILlpWtq9JYYSUtU-sulP8sCqTXWzn7Aae8GRAwSDms,1857
43
44
  oxutils/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
45
  oxutils/mixins/base.py,sha256=0cGY4mGKhL-hJTEBsbETYiaKMVuUgio5DISCv5iYtGI,589
45
46
  oxutils/mixins/schemas.py,sha256=DGW0GQBJc9K7hwOJLX-fEryi7KCoY1QaCLny8fjtQMI,319
46
47
  oxutils/mixins/services.py,sha256=i4MrkCE3y1W7Xrrz6YeMMaY9xMtCQs4WgBIpM7hrDTI,5399
47
48
  oxutils/models/__init__.py,sha256=mR9hhncZMGKefovg9xSPBtb9Yu2AssAdta26ihcNvI4,77
48
- oxutils/models/base.py,sha256=1HGHB8MnhPpaa1SpnUVgiknCSHTwajz5LxprB2zicbc,2884
49
+ oxutils/models/base.py,sha256=fIlgrM6rB98FfrFNO5oZP-_L99NnUoz6X6e5jW9N8as,5869
49
50
  oxutils/models/billing.py,sha256=aCDZcMx4CUyAwh3wgJGypAJl_fSEuWrL27-cSYv3gCs,3323
51
+ oxutils/models/fields.py,sha256=Nf29OVU1JhK59-d2kCuaMaqKx_hBAYumJ4kDfnVmnw0,1843
50
52
  oxutils/models/invoice.py,sha256=nqphkhlBhssODm2H4dBYyb1cOmHS29fToER40UN0cXo,13216
51
53
  oxutils/oxiliere/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
54
  oxutils/oxiliere/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
53
- oxutils/oxiliere/apps.py,sha256=BLS5slH_vuIZP89jh2EAoRteBRsh4IrpzgO80p8CLUk,217
55
+ oxutils/oxiliere/apps.py,sha256=sPZFBFyCM7nbvDdIv15VbdPLl_-Apm1OsaaByfGpP3o,327
56
+ oxutils/oxiliere/authorization.py,sha256=52-ch4T443sC1ZdXvYgzgbQRfotVyQJbfna5-ubBnFM,1408
54
57
  oxutils/oxiliere/cacheops.py,sha256=VGG5qG5IsxvWJTu1aTlmsaDXV2aiuIMVdVcvHGHeY3g,163
55
- oxutils/oxiliere/caches.py,sha256=eKZCVekWSzwdEX2LQat3B4JqDIcrumZI9x_wXW1xXCY,1023
58
+ oxutils/oxiliere/caches.py,sha256=NKO7F0Ihm2Ba9cB9BV6AeOM6dvVxTh6PRjw5bz9d9gg,935
59
+ oxutils/oxiliere/checks.py,sha256=fV1DCdLmtL35CUCsisyCf4FRw8yZMl66ntpuksrjoL8,930
60
+ oxutils/oxiliere/constants.py,sha256=IMLhZN7rWHooE9Y9nB4nYsDticNuUscvgvEPUScG58M,125
61
+ oxutils/oxiliere/context.py,sha256=7sLRKaiE4CRB-D9uCO09nq6vNEZNYQxP-6ENOsEiZts,445
56
62
  oxutils/oxiliere/controllers.py,sha256=hL_snutY1EuSO0n06NDbjkz-3A3hkqa3sYGie3Grbmg,847
57
63
  oxutils/oxiliere/enums.py,sha256=etpHgzsHTQKMrPIxVH-d592_DYSRJ2_o0c8bOdIza-8,201
64
+ oxutils/oxiliere/exceptions.py,sha256=d-J-beEend4L49SJcoGRO7SKLyxlQeuLkLnFU5oTCPQ,178
58
65
  oxutils/oxiliere/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
66
  oxutils/oxiliere/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- oxutils/oxiliere/management/commands/init_oxiliere_system.py,sha256=ogNQGARqUUfTv4JgZsRuEh4FInfMUO4nFHHCbgeLLbk,3659
61
- oxutils/oxiliere/middleware.py,sha256=NgC2FqYQVJTB2vujY_9CJ8eSoQ2CuFcHDVZWKuQJk1s,5672
67
+ oxutils/oxiliere/management/commands/grant_tenant_owners.py,sha256=U0tc-b677kEFA7KC6xah3Ufbg6qYkW21nRikC0FJRQI,774
68
+ oxutils/oxiliere/management/commands/init_oxiliere_system.py,sha256=wRmm_u_tX1j9WTHLGEJ27XaolTIWz7LbP0kEe0lkXss,3829
69
+ oxutils/oxiliere/middleware.py,sha256=c0C1aalshhYNfe4SBglJkWfUo4Ct-d391GoWP_NhPOw,6412
62
70
  oxutils/oxiliere/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- oxutils/oxiliere/models.py,sha256=EQHoQIzRVBa2VH7J44v-jc3dUZGNTjw_S61RuKcT6lw,2382
64
- oxutils/oxiliere/permissions.py,sha256=B171KebFVxZdAAdyNB36vsyjHg_cfdJkIb4LsgMmIVE,3059
65
- oxutils/oxiliere/schemas.py,sha256=WnWnGTyBQRP_cWyPNuvJwEkdJUPFRwG-dqzVJOfAVKU,1924
71
+ oxutils/oxiliere/models.py,sha256=dN3q-8W2gUcUra49b3R33o0ZNn3stc-pfkoVMAKR4gE,6260
72
+ oxutils/oxiliere/permissions.py,sha256=6lJ_43a0-Z5O0B9cttA2cQFjZTGBucJk7w5rgtfd-lQ,3122
73
+ oxutils/oxiliere/schemas.py,sha256=eV9MzkIpHFHmZFtv8Ck2xaGoVUDJXr-yl7w50U-Tj_8,2260
66
74
  oxutils/oxiliere/settings.py,sha256=ZuKppEyrucWxvvYC2-wLap4RzKfaEfaRdjJnsNZzpuY,440
75
+ oxutils/oxiliere/signals.py,sha256=il6twTzbmv14SxukLx7dLw2QzuNDyVAsIgHmqbYspjw,97
67
76
  oxutils/oxiliere/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
68
- oxutils/oxiliere/utils.py,sha256=iSxvtMWHKPVDHyQuVflw6vObP6N3IpVOFxpV_CKpgbI,2941
77
+ oxutils/oxiliere/utils.py,sha256=V2EsMW2QaqqjnO8LRBm25CTWRQHfF3yPbo4TCXO7Xak,3498
78
+ oxutils/pagination/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ oxutils/pagination/cursor.py,sha256=l1KuKnILkN96JSoDRJGwiXIpdjxSk-tqQhJREK1TBUM,13159
69
80
  oxutils/pdf/__init__.py,sha256=Uu_yOEd-FcNHIB7CV6y76c53wjL5Hce2GMjho8gnkbM,236
70
81
  oxutils/pdf/printer.py,sha256=VVvpGU5GdSNTOP06wLqgm36ICDfRTRaRjmmiS-vJ0wM,2449
71
82
  oxutils/pdf/utils.py,sha256=cn1Yc7KnjuATSQKM3hrYptCo0IsQurBdrNHh7Nu08b8,3786
72
83
  oxutils/pdf/views.py,sha256=DBxCh_UXVywlvlWZh9sVBtYc0gZxMo7ut1j1U_gqPA4,6523
84
+ oxutils/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ oxutils/permissions/actions.py,sha256=YmwiKOxhHl6GJ9YxrCzftWfd1ddrYR2GSZx4VeLtv5g,1273
86
+ oxutils/permissions/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
87
+ oxutils/permissions/apps.py,sha256=nuTziz75_t-GToyZpJv2uloEDxzoz-v8ZBglzzdQeG8,272
88
+ oxutils/permissions/caches.py,sha256=05fvTBc9pisWBwUEnnxCtiJU13PB0b55WalR9mzK24I,565
89
+ oxutils/permissions/checks.py,sha256=eNnm2RF0IcZwzdpQqsoEdY9684tQ0r4I839DIFoQfRQ,6590
90
+ oxutils/permissions/constants.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ oxutils/permissions/controllers.py,sha256=W9iOsjWPPXUX9c1ZR_v3aOEpT_ZEztQbICQ_KcXQU70,9966
92
+ oxutils/permissions/exceptions.py,sha256=3748Ma7JwQdhleB_rkTBNKj_y5hYzUqbEIoqEQ3kk6c,2295
93
+ oxutils/permissions/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ oxutils/permissions/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ oxutils/permissions/management/commands/load_permission_preset.py,sha256=Uk251BJW4n7v3Xo8uhoBBB9RPdzY1U0_jFQhSCA8Xfs,3864
96
+ oxutils/permissions/migrations/0001_initial.py,sha256=WjxLZlOlY7xeuE0memvfkBQ4Ch5kX-XRh7obOkknIZg,6460
97
+ oxutils/permissions/migrations/0002_alter_grant_role.py,sha256=uTWAEgCYszHGw3fKZrLnY4uRxCyMhmYLFNEhctLuvlI,515
98
+ oxutils/permissions/migrations/0003_alter_grant_options_alter_group_options_and_more.py,sha256=W5QoxO2klWnze9p0yV9WUbLPIodZoc9CRcrihg6c6RI,893
99
+ oxutils/permissions/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
+ oxutils/permissions/models.py,sha256=FzTsecGcBdlZU6SPlT-aZmbocFDxJ0pWsHVTOvtQvUo,4474
101
+ oxutils/permissions/perms.py,sha256=yVX7OGxCo1uoc4KDHvLy8b55i6PcS3WGgjr1uzzWtk8,3153
102
+ oxutils/permissions/queryset.py,sha256=c_iYIO5ZX4jp3lWP9WucloAr2RPA72XuI_OM4SNhKpw,3173
103
+ oxutils/permissions/schemas.py,sha256=Y6lwP9FkxSmklhwq5_VL6zORxvTmUXShsClm_FM2B-w,6122
104
+ oxutils/permissions/services.py,sha256=d0oCeluzU_7YHpllphMymm-6gY_joKK-gxNDfJ_rD-Q,22140
105
+ oxutils/permissions/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
106
+ oxutils/permissions/utils.py,sha256=n-naz4mlUPihC8WnBAQnqQaVRpYg1ooVwxGAI-EKJLc,22049
73
107
  oxutils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
108
  oxutils/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
109
  oxutils/s3/settings.py,sha256=NIlVhaOzWdsepOgCpxdTTJRHfM0tM5EcAoy4kaFC1R8,1190
76
110
  oxutils/s3/storages.py,sha256=gjQg05edVn6NuyfJZ-NwUB2lRWwg8GqgzHB8I1D5vbI,5402
77
- oxutils/settings.py,sha256=a7eLYIrwIvob0YwQc--XjQLGhY5ax0Iu036s2DV51qQ,10079
111
+ oxutils/settings.py,sha256=9R-KR2zwzDgaFoYl5suOiYhQaGSW_UYtAVDT6QknhE8,10117
78
112
  oxutils/types.py,sha256=DIz8YK8xMpLc7FYbf88yEElyLsYN_-rbvaZXvENQkOQ,234
79
113
  oxutils/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
114
  oxutils/users/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
81
115
  oxutils/users/apps.py,sha256=zfWHq8f0DIh8skbnqskDSoHG9nrvVrCegSz22Mw4BGI,150
82
116
  oxutils/users/migrations/0001_initial.py,sha256=7l5xgJnms2D8Nnazh38iBQ7I1W9NgNTF228-og_tOVw,3136
117
+ oxutils/users/migrations/0002_alter_user_first_name_alter_user_last_name.py,sha256=o65pUPXu5m9tX_pHkeyKreRUPrByzQRU803Xz4D8v94,577
83
118
  oxutils/users/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- oxutils/users/models.py,sha256=YXAHcXuhmHZfcRDOqA5lBiSRcJ24snBs9X6tcJPCcFs,2960
119
+ oxutils/users/models.py,sha256=y5SF5tSqri11LRqRBDorSv5IYRa7noBHjFqQUJ5Jkkg,3105
85
120
  oxutils/users/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
86
121
  oxutils/users/utils.py,sha256=jY-zL8vLT5U3E2FV3DqCvrPORjKLutbkPZTQ-z96dCw,376
87
- oxutils-0.1.7.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
88
- oxutils-0.1.7.dist-info/METADATA,sha256=kyYdR5sGpECS1QIkIJhnuFLutpG8x4TX26qLaAINxeY,8759
89
- oxutils-0.1.7.dist-info/RECORD,,
122
+ oxutils/utils.py,sha256=6yGX2d1ajU5RqgfqiaS4McYm7ip2KEgADABo3M-yA3U,595
123
+ oxutils-0.1.10.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
124
+ oxutils-0.1.10.dist-info/METADATA,sha256=Af55agNjLKtrfZd7U30ogkRwzz3MrHOeJqw-ns7YwLI,8760
125
+ oxutils-0.1.10.dist-info/RECORD,,