django-cfg 1.4.84__py3-none-any.whl → 1.4.85__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.

Potentially problematic release.


This version of django-cfg might be problematic. Click here for more details.

Files changed (86) hide show
  1. django_cfg/__init__.py +1 -1
  2. django_cfg/apps/dashboard/serializers/__init__.py +55 -0
  3. django_cfg/apps/dashboard/serializers/activity.py +38 -0
  4. django_cfg/apps/dashboard/serializers/apizones.py +26 -0
  5. django_cfg/apps/dashboard/serializers/base.py +16 -0
  6. django_cfg/apps/dashboard/serializers/charts.py +44 -0
  7. django_cfg/apps/dashboard/serializers/commands.py +26 -0
  8. django_cfg/apps/dashboard/serializers/overview.py +34 -0
  9. django_cfg/apps/dashboard/serializers/statistics.py +46 -0
  10. django_cfg/apps/dashboard/serializers/system.py +58 -0
  11. django_cfg/apps/dashboard/services/__init__.py +10 -1
  12. django_cfg/apps/dashboard/services/apizones_service.py +119 -0
  13. django_cfg/apps/dashboard/services/charts_service.py +266 -0
  14. django_cfg/apps/dashboard/services/commands_service.py +142 -0
  15. django_cfg/apps/dashboard/services/statistics_service.py +262 -104
  16. django_cfg/apps/dashboard/urls.py +25 -6
  17. django_cfg/apps/dashboard/views/__init__.py +23 -0
  18. django_cfg/apps/dashboard/views/activity_views.py +83 -0
  19. django_cfg/apps/dashboard/views/apizones_views.py +73 -0
  20. django_cfg/apps/dashboard/views/charts_views.py +159 -0
  21. django_cfg/apps/dashboard/views/commands_views.py +73 -0
  22. django_cfg/apps/dashboard/views/overview_views.py +92 -0
  23. django_cfg/apps/dashboard/views/statistics_views.py +105 -0
  24. django_cfg/apps/dashboard/views/system_views.py +73 -0
  25. django_cfg/modules/django_unfold/callbacks/main.py +7 -6
  26. django_cfg/modules/django_unfold/dashboard.py +1 -36
  27. django_cfg/modules/django_unfold/models/config.py +102 -73
  28. django_cfg/modules/django_unfold/tailwind.py +31 -79
  29. django_cfg/pyproject.toml +1 -1
  30. django_cfg/static/frontend/admin/404.html +1 -1
  31. django_cfg/static/frontend/admin/500.html +1 -1
  32. django_cfg/static/frontend/admin/_next/static/BembwiEtlu4eFl3OX7n1k/_buildManifest.js +1 -0
  33. django_cfg/static/frontend/admin/_next/static/chunks/23004-faae121bbfecc163.js +1 -0
  34. django_cfg/static/frontend/admin/_next/static/chunks/{20695.a7d37b6c40ad3f58.js → 43076.55dd23b6cd68edb0.js} +1 -1
  35. django_cfg/static/frontend/admin/_next/static/chunks/50314-3b9d15242191c8bc.js +1 -0
  36. django_cfg/static/frontend/admin/_next/static/chunks/{64330.2ef79bccd7d4e363.js → 64330.41858e98c0e5173b.js} +1 -1
  37. django_cfg/static/frontend/admin/_next/static/chunks/6766.8d01e44e83070e83.js +1 -0
  38. django_cfg/static/frontend/admin/_next/static/chunks/{96168.eb7fdb721b9cdb00.js → 96168.b7197f890097df6e.js} +1 -1
  39. django_cfg/static/frontend/admin/_next/static/chunks/pages/{404-c283223d1afd02a2.js → 404-cf71cd7b3cb005e5.js} +1 -1
  40. django_cfg/static/frontend/admin/_next/static/chunks/pages/{500-389d6d3e1f2f7fda.js → 500-ff19c7842e3df415.js} +1 -1
  41. django_cfg/static/frontend/admin/_next/static/chunks/pages/_app-f62e5528fbcbb6b3.js +272 -0
  42. django_cfg/static/frontend/admin/_next/static/chunks/pages/{_error-5291033275c26d09.js → _error-87f3fdc2aa131e77.js} +1 -1
  43. django_cfg/static/frontend/admin/_next/static/chunks/pages/{index-d7bc30185f52cbca.js → index-69f737d4802cc5b7.js} +1 -1
  44. django_cfg/static/frontend/admin/_next/static/chunks/pages/private/centrifugo-f24beb6ed3955aa8.js +1 -0
  45. django_cfg/static/frontend/admin/_next/static/chunks/pages/private/{profile-e93a65e8e7d9022b.js → profile-b8045f993287f1a7.js} +1 -1
  46. django_cfg/static/frontend/admin/_next/static/chunks/pages/private/{ui-669e8f2a785beba2.js → ui-373fff8b42878e64.js} +1 -1
  47. django_cfg/static/frontend/admin/_next/static/chunks/pages/private-fe9faa86ecdb0ce6.js +1 -0
  48. django_cfg/static/frontend/admin/_next/static/chunks/{webpack-92add5f95c66e349.js → webpack-7c456a65e96eb97e.js} +1 -1
  49. django_cfg/static/frontend/admin/_next/static/css/5f9a37b6e6a72303.css +3 -0
  50. django_cfg/static/frontend/admin/auth.html +1 -1
  51. django_cfg/static/frontend/admin/index.html +1 -1
  52. django_cfg/static/frontend/admin/legal/cookies.html +1 -1
  53. django_cfg/static/frontend/admin/legal/privacy.html +1 -1
  54. django_cfg/static/frontend/admin/legal/security.html +1 -1
  55. django_cfg/static/frontend/admin/legal/terms.html +1 -1
  56. django_cfg/static/frontend/admin/private/centrifugo.html +1 -1
  57. django_cfg/static/frontend/admin/private/profile.html +1 -1
  58. django_cfg/static/frontend/admin/private/ui.html +1 -1
  59. django_cfg/static/frontend/admin/private.html +1 -1
  60. django_cfg/templates/admin/index.html +237 -5
  61. django_cfg/templates/admin/sections/commands_section.html +5 -0
  62. django_cfg/templates/admin/sections/documentation_section.html +5 -0
  63. django_cfg/templates/admin/sections/overview_section.html +5 -0
  64. django_cfg/templates/admin/sections/stats_section.html +5 -0
  65. django_cfg/templates/admin/sections/system_section.html +5 -0
  66. django_cfg/templates/admin/sections/widgets_section.html +11 -0
  67. django_cfg/templates/unfold/layouts/skeleton.html +27 -0
  68. django_cfg/templatetags/django_cfg.py +53 -0
  69. {django_cfg-1.4.84.dist-info → django_cfg-1.4.85.dist-info}/METADATA +1 -1
  70. {django_cfg-1.4.84.dist-info → django_cfg-1.4.85.dist-info}/RECORD +74 -51
  71. django_cfg/apps/dashboard/api/__init__.py +0 -27
  72. django_cfg/apps/dashboard/api/serializers.py +0 -165
  73. django_cfg/apps/dashboard/api/viewsets.py +0 -257
  74. django_cfg/static/frontend/admin/_next/static/-Zk0eDB7OJOEFrFyR5BwZ/_buildManifest.js +0 -1
  75. django_cfg/static/frontend/admin/_next/static/chunks/43076-4be6a9794e9c3e8b.js +0 -1
  76. django_cfg/static/frontend/admin/_next/static/chunks/50314-79c02212788f1ec7.js +0 -1
  77. django_cfg/static/frontend/admin/_next/static/chunks/6766.d62fed7cd4761148.js +0 -1
  78. django_cfg/static/frontend/admin/_next/static/chunks/82296-a2c8d38f62224be5.js +0 -1
  79. django_cfg/static/frontend/admin/_next/static/chunks/pages/_app-f25bec36bbdc9625.js +0 -272
  80. django_cfg/static/frontend/admin/_next/static/chunks/pages/private/centrifugo-22532c65971225eb.js +0 -1
  81. django_cfg/static/frontend/admin/_next/static/chunks/pages/private-a8a9ba76f2c75354.js +0 -1
  82. django_cfg/static/frontend/admin/_next/static/css/78d677ac1677c210.css +0 -3
  83. /django_cfg/static/frontend/admin/_next/static/{-Zk0eDB7OJOEFrFyR5BwZ → BembwiEtlu4eFl3OX7n1k}/_ssgManifest.js +0 -0
  84. {django_cfg-1.4.84.dist-info → django_cfg-1.4.85.dist-info}/WHEEL +0 -0
  85. {django_cfg-1.4.84.dist-info → django_cfg-1.4.85.dist-info}/entry_points.txt +0 -0
  86. {django_cfg-1.4.84.dist-info → django_cfg-1.4.85.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
1
  django_cfg/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- django_cfg/__init__.py,sha256=8wZqmH-eqB4nhBFsfRNDCzAZYccD6518kGDsg7e5c5s,1620
2
+ django_cfg/__init__.py,sha256=xWxEXL-BHU_2pEvlmo4dqxChY67g2_JqK_PZ5zIat2g,1620
3
3
  django_cfg/apps.py,sha256=72m3uuvyqGiLx6gOfE-BD3P61jddCCERuBOYpxTX518,1605
4
4
  django_cfg/config.py,sha256=y4Z3rnYsHBE0TehpwAIPaxr---mkvyKrZGGsNwYso74,1398
5
5
  django_cfg/apps/__init__.py,sha256=JtDmEYt1OcleWM2ZaeX0LKDnRQzPOavfaXBWG4ECB5Q,26
@@ -217,13 +217,30 @@ django_cfg/apps/centrifugo/views/monitoring.py,sha256=eFjoZDvnfwZh-Fw2OwFDii-SZT
217
217
  django_cfg/apps/centrifugo/views/testing_api.py,sha256=fOGc1I7XxOuRIIOnDQ9T1E0GwS5UuyR_YVJxw685UdE,16954
218
218
  django_cfg/apps/dashboard/__init__.py,sha256=TirqQji7p39fA15jGBswWSt6ML2K1SP96Iq-7Sw7NFI,236
219
219
  django_cfg/apps/dashboard/apps.py,sha256=OvB_C5qTq-QcLvvrRpbBxJPL-DCtA-pGVK8ir2y-hKk,508
220
- django_cfg/apps/dashboard/urls.py,sha256=aM7uADWi3oim-9KvlRDvWi7IbxgkFqPbp5reXBTCHlc,513
221
- django_cfg/apps/dashboard/api/__init__.py,sha256=8jQolKYUvZPuYN5DaN_wGhz2dmEqrbMG4RQo2BwUaxc,591
222
- django_cfg/apps/dashboard/api/serializers.py,sha256=TZoKYzvku3CyHGVwNIzT2uoZvsIw7FOUtjrkOE9NY0Y,6373
223
- django_cfg/apps/dashboard/api/viewsets.py,sha256=xPPprxbAQC6UspZG_L8oJ42bmEPKaYdzdeoLO5QFccI,9236
224
- django_cfg/apps/dashboard/services/__init__.py,sha256=n1iwLCUzBJZYR7UOip0joOAoqp6fsOSS4A0nThrdoXY,336
225
- django_cfg/apps/dashboard/services/statistics_service.py,sha256=Bo2SYBfFcGVsGNR-mfH3Xhceo4vCVxFUpVCP0G0flNc,7492
220
+ django_cfg/apps/dashboard/urls.py,sha256=5lmqi12lOe1MZQGDdcvEfZ4HwCQ3AjJ4iIFmBn_kid0,1261
221
+ django_cfg/apps/dashboard/serializers/__init__.py,sha256=8vb1k0yejcjuaO1EtAZjia0PRkRwyzdRqE9SP0HDeBE,1382
222
+ django_cfg/apps/dashboard/serializers/activity.py,sha256=eaimk1eI1-WPFa_b8oqF-xM5V6uoSBlS0mRR7TfMtrQ,1410
223
+ django_cfg/apps/dashboard/serializers/apizones.py,sha256=eeluzYPtrSXskpfFY2ykw3yM71BCr5_XoAomcU-zNqE,773
224
+ django_cfg/apps/dashboard/serializers/base.py,sha256=-PRmxV3eApf-JfFVjgiL8ka0b07m69crkIECX-EK4IY,526
225
+ django_cfg/apps/dashboard/serializers/charts.py,sha256=EPgIcQ2jPLp2-5IbVWyhP86p_puPU0TMxitFR3yPfDE,1425
226
+ django_cfg/apps/dashboard/serializers/commands.py,sha256=6NvSJPzMRrg9YrfNRWJ50b0Ep6DctY2fnC48_OyT3ks,809
227
+ django_cfg/apps/dashboard/serializers/overview.py,sha256=MRXhnSTukBURCDsyHgj3phszLa2VKainBv_5DIaOchA,1062
228
+ django_cfg/apps/dashboard/serializers/statistics.py,sha256=DrT3eDdsqSaeCE3GJ_7_o5Tl_WVc2NwNJ43fm-kPu2A,1664
229
+ django_cfg/apps/dashboard/serializers/system.py,sha256=mDwqPVS2iBfyCcs4BcnT2_kZWRnbWCtLvoTievc7qkU,2093
230
+ django_cfg/apps/dashboard/services/__init__.py,sha256=qNLcejZLgXzbECffqV2LhqjpD1uRE-emRLta0K3aDhs,548
231
+ django_cfg/apps/dashboard/services/apizones_service.py,sha256=FVpdMgBzjTzK3G5zZb2ADKL8ZrjEmdclCRNOr4AdIGI,3955
232
+ django_cfg/apps/dashboard/services/charts_service.py,sha256=QP4nWghSvkqTX-9ndQmmzdEDIsxVewGZj8Oy27kLoOA,8848
233
+ django_cfg/apps/dashboard/services/commands_service.py,sha256=ixe4S8ZkGlcc0cb4LU0dgO58eFgxhnIqFFucTNuFdyE,4691
234
+ django_cfg/apps/dashboard/services/statistics_service.py,sha256=cX20DB0VrjDLaaLCp8YQUcBw_N34VzZKqY4Ly2Qal0M,14023
226
235
  django_cfg/apps/dashboard/services/system_health_service.py,sha256=OUhy8iIWV6hURIkmP1t06hEZB6NF9iDQvPL9HeNNNqM,9188
236
+ django_cfg/apps/dashboard/views/__init__.py,sha256=tgsvzkwnIr3bL35LOpZl8o-2aRLFSKbjfRFMqhZUPjA,561
237
+ django_cfg/apps/dashboard/views/activity_views.py,sha256=3YBvsbQuUSFrcbE_Xr8GXg8Xpq0rjUH7IT2kMQXUXBI,2922
238
+ django_cfg/apps/dashboard/views/apizones_views.py,sha256=SMqlsyMDNZXBiOOu5MYJxiIToxmOQ1sAZ6qMX3XKf_M,2453
239
+ django_cfg/apps/dashboard/views/charts_views.py,sha256=FKUC6KMPDCI_r8abTqqrfoUSb3Dj3KOWqhrlhJpvLg8,5638
240
+ django_cfg/apps/dashboard/views/commands_views.py,sha256=yE61kvcwktOjhOzTMZEz_A1lzLf6sP_zT1iy4iF932c,2512
241
+ django_cfg/apps/dashboard/views/overview_views.py,sha256=3HWHz-N76zRm0veKKX1Iize6N9nyhTY31C4mVqLaKwI,3217
242
+ django_cfg/apps/dashboard/views/statistics_views.py,sha256=IfA_87tR4Rh6oNfuUHiIKpfT5xYPpzWl5P1f6oKBscg,3635
243
+ django_cfg/apps/dashboard/views/system_views.py,sha256=KZ9L6WSYkgUNTKYmS61y3MP7fPAirnFD7rzssPYOJKk,2583
227
244
  django_cfg/apps/frontend/JWT_AUTO_INJECTION.md,sha256=vw4M49mijxjd1ANlumPbye3d2XIaYuc_3jYRbmWsb-8,8018
228
245
  django_cfg/apps/frontend/__init__.py,sha256=QMFJM9mpjiPcU0e5EnuLZb6xpCWi3cbSnihyPS9U2Ik,394
229
246
  django_cfg/apps/frontend/apps.py,sha256=9eEK0Tq2nOsol7xSK5aobdwTDJTJrWx6Iy1I1DQb_Yk,391
@@ -1024,10 +1041,10 @@ django_cfg/modules/django_twilio/templates/guide.md,sha256=nZfwx-sgWyK5NApm93zOe
1024
1041
  django_cfg/modules/django_twilio/templates/sendgrid_otp_email.html,sha256=sXR6_D9hmOFfk9CrfPizpLddVhkRirBWpZd_ioEsxVk,6671
1025
1042
  django_cfg/modules/django_twilio/templates/sendgrid_test_data.json,sha256=fh1VyuSiDELHsS_CIz9gp7tlsMAEjaDOoqbAPSZ3yyo,339
1026
1043
  django_cfg/modules/django_unfold/__init__.py,sha256=QB551Si2k-g_LoB3WdhkLBKaI2O4qiynCCCbzhqLM3c,1898
1027
- django_cfg/modules/django_unfold/dashboard.py,sha256=hqAT_udG73q1dQMUHjLT28w0-1IPC0K37PlNFiqIfBw,17723
1044
+ django_cfg/modules/django_unfold/dashboard.py,sha256=8cnYCtxNW0JlyXd3kTi4ngGf9QhxzR3gnUnzjGMP_Oo,16314
1028
1045
  django_cfg/modules/django_unfold/models.py,sha256=E6NPu2lKkgXkTsqpriupoW5IER_nuvATYvoO8VzjhWE,3942
1029
1046
  django_cfg/modules/django_unfold/system_monitor.py,sha256=KcrTa5irstdB1pDKe3sC0zl4tz9LVjhp7xvbqUM4YVk,6781
1030
- django_cfg/modules/django_unfold/tailwind.py,sha256=9yy50g4AQKnEKAHlcS9mJ4cX7v_d-on4Tei8m9kYA2w,10633
1047
+ django_cfg/modules/django_unfold/tailwind.py,sha256=qP5nqhwKtfPkaxNlTT_tl39aHPyzT5GPfNiRLILuQZs,9215
1031
1048
  django_cfg/modules/django_unfold/utils.py,sha256=5aFaceRc9B3eXfpOVyKRD2wWqFt8KcHxjQg54oD7Oyg,4482
1032
1049
  django_cfg/modules/django_unfold/callbacks/__init__.py,sha256=7HiFap6ca9J3TFQ2QNVZJV8W1h7lbKkEZSudmbAtzHY,163
1033
1050
  django_cfg/modules/django_unfold/callbacks/actions.py,sha256=Iir0N6ck1daHZmIR8zKVghKB2_uhJRE1wn3iBMkkco4,1469
@@ -1035,12 +1052,12 @@ django_cfg/modules/django_unfold/callbacks/apizones.py,sha256=SHHlMGoCxBxijafdUp
1035
1052
  django_cfg/modules/django_unfold/callbacks/base.py,sha256=1qVfK7aIWs9DzFWsCjP6QBF8UD48A3G1cwvIegQXcEA,9990
1036
1053
  django_cfg/modules/django_unfold/callbacks/charts.py,sha256=OhqT_w7qV5XBqQaEBXKl1IkclhCcjdI2I8phYBO0W1Y,7965
1037
1054
  django_cfg/modules/django_unfold/callbacks/commands.py,sha256=qQ8z3oeaieyJDJHKd_VZ38jksZ1NmJM-mMptNI1IV7c,1281
1038
- django_cfg/modules/django_unfold/callbacks/main.py,sha256=ouiK4b0Y9mp4oYakDgp2R47Dy9CH57O0ldF48iw5sn8,13449
1055
+ django_cfg/modules/django_unfold/callbacks/main.py,sha256=tZBUUePVbGQC1lC2f0M57oB3qXpcDMiuNjxfbmio5w8,13532
1039
1056
  django_cfg/modules/django_unfold/callbacks/statistics.py,sha256=f6yDLywGqAgDyoEv1CzWEGVsqIrT6o-bTv4CgfeTmMo,8746
1040
1057
  django_cfg/modules/django_unfold/callbacks/system.py,sha256=7YWC_-Db6bvDxArxMNfRoTRuRq9reF67UJn8IpWel8c,6078
1041
1058
  django_cfg/modules/django_unfold/callbacks/users.py,sha256=5UHPLZyG1GWTKSO6FZyWJloWJ-fnTpCYNAgyADab7aQ,2070
1042
1059
  django_cfg/modules/django_unfold/models/__init__.py,sha256=xiTdRpH6iM9UFyE2r0114BXf1u5c5YwvwuvucLzAh5s,1082
1043
- django_cfg/modules/django_unfold/models/config.py,sha256=xKwErX3aEn676c-pOapJ-mhpE5ddmrJUhxTo2pYj3V4,23014
1060
+ django_cfg/modules/django_unfold/models/config.py,sha256=ZUPGCYkHj8vxrRd_bDJv8rI3ugxfoXR4EovoVNUiqX4,25983
1044
1061
  django_cfg/modules/django_unfold/models/dashboard.py,sha256=EuQMnCYRutcSshPdcMWrlI4AE3IzVjp5rRaR1HIYB8s,7878
1045
1062
  django_cfg/modules/django_unfold/models/dropdown.py,sha256=UccOL4M2LtU1d2Nbkl68zHsOQA6PSD0bHLcWfdBhthM,1270
1046
1063
  django_cfg/modules/django_unfold/models/navigation.py,sha256=PPEeqA2HBaA1-VjADiXsesnWXVJkYyI8Iq6b_cQLJhQ,3018
@@ -1070,15 +1087,15 @@ django_cfg/static/admin/js/alpine/commands-section.js,sha256=8z2MQNwZF9Tx_2EK1AY
1070
1087
  django_cfg/static/admin/js/alpine/dashboard-tabs.js,sha256=ob8Q_I9lFLDv_hFERXgTyvqMDBspAGfzCxI_7slRur4,1354
1071
1088
  django_cfg/static/admin/js/alpine/system-metrics.js,sha256=m-Fg55K_vpHXToD46PXL9twl4OBF_V9MONvbSWbQqDw,440
1072
1089
  django_cfg/static/admin/js/alpine/toggle-section.js,sha256=T141NFmy0fRJyGGuuaCJRjJXwPam-xxtQNW1hi8BJbc,672
1073
- django_cfg/static/frontend/admin/404.html,sha256=yEXDg3tD1xsSO9KzYcdYcPvR1vFxX-RlotSOt3ByUkw,13148
1074
- django_cfg/static/frontend/admin/500.html,sha256=zXeC6rTT5Kbbzg_X0VETSiSJiu7H3vR2a3XHeI074TY,13245
1075
- django_cfg/static/frontend/admin/auth.html,sha256=q2ffdqyBmG7cUUgqos_8GE6Ql9T51wCkLI01IY36Lqo,8446
1090
+ django_cfg/static/frontend/admin/404.html,sha256=Nkb5gdBd4XYR_DwGdqvdBx8rr-qWjutVsC6DiALJbR8,13148
1091
+ django_cfg/static/frontend/admin/500.html,sha256=WkeAc_og11sVHtM_Cwj2u6XREDrhHCy1dosQG1NvmxI,13245
1092
+ django_cfg/static/frontend/admin/auth.html,sha256=4QOXp3McHzy07sPKGrxUAslZas0p1lHnGDAMJ_SW6q8,8446
1076
1093
  django_cfg/static/frontend/admin/favicon.png,sha256=k_yaCRYwsPBknQkEIdpakdMGbORiOrpvrBQyC_SN5NM,33530
1077
- django_cfg/static/frontend/admin/index.html,sha256=kUcmq2aGPtGXBpWNQlyhZlS_Bx0363SwLqePy6AVhTk,11615
1094
+ django_cfg/static/frontend/admin/index.html,sha256=Par5UxmnmFkHkBaifFDh2tlUSBgg91nv27EPdZJVwO0,11615
1078
1095
  django_cfg/static/frontend/admin/manifest.json,sha256=Jc3Eu0qeRafLub6jlsmzQLD-g8sm1b1IU2GEu1yZz-8,663
1079
- django_cfg/static/frontend/admin/private.html,sha256=_7ZH72tGnik2Plhr9UT45MRLmT-KgMDhQIx57MYORF0,3646
1080
- django_cfg/static/frontend/admin/_next/static/-Zk0eDB7OJOEFrFyR5BwZ/_buildManifest.js,sha256=C21_bIKOnzcH2zezoMroH_fPfCGc4RF_ghkJMWKIzJY,1532
1081
- django_cfg/static/frontend/admin/_next/static/-Zk0eDB7OJOEFrFyR5BwZ/_ssgManifest.js,sha256=b1tKoA0vjWrtmTW0cYBr96zvRk0MHTkCYOX-J_gAxn4,77
1096
+ django_cfg/static/frontend/admin/private.html,sha256=kjKxOB50ZqKpGc_8xscb8iHIKd4Bb8A-PEQ8JlM0loI,3646
1097
+ django_cfg/static/frontend/admin/_next/static/BembwiEtlu4eFl3OX7n1k/_buildManifest.js,sha256=S_oy5zSitaP86w2j4S7o16rc29bglKw_hm8wlVNhSFs,1490
1098
+ django_cfg/static/frontend/admin/_next/static/BembwiEtlu4eFl3OX7n1k/_ssgManifest.js,sha256=b1tKoA0vjWrtmTW0cYBr96zvRk0MHTkCYOX-J_gAxn4,77
1082
1099
  django_cfg/static/frontend/admin/_next/static/chunks/10004.28e6c5f4c1878a7f.js,sha256=SDxi6Bnx_spdfbZmruPtX-b2CkBPk6NZWuN908PJy00,1970
1083
1100
  django_cfg/static/frontend/admin/_next/static/chunks/10045.c0de73a7d5e3b776.js,sha256=mUUE9DVL67cYOOCH5prwZEttparzaHaBCRFvBGURgAk,1661
1084
1101
  django_cfg/static/frontend/admin/_next/static/chunks/1010.b05c484e9c210a35.js,sha256=ztx1p7LeQUHI1apKRPUThrFWGHPNuO3GRqm_Lh0p5n4,50539
@@ -1339,7 +1356,6 @@ django_cfg/static/frontend/admin/_next/static/chunks/20628.d1b6b99bde2cc856.js,s
1339
1356
  django_cfg/static/frontend/admin/_next/static/chunks/20631.4c0b5f0f36e9eaad.js,sha256=06418KB59Ke7uFEv6GRtKS53gUNhNWpHQVZWwIxWDxQ,3483
1340
1357
  django_cfg/static/frontend/admin/_next/static/chunks/20661.238ffe8be9f557da.js,sha256=UD7V312mBAuiASAMmvJumWnFSdg1Bw9_h_ecY87KgP4,20316
1341
1358
  django_cfg/static/frontend/admin/_next/static/chunks/20664.da66b8042fb49e34.js,sha256=WnHZMwox2YGMb1zFbQLStsUqH45_Sklw-700AEYSGE4,3142
1342
- django_cfg/static/frontend/admin/_next/static/chunks/20695.a7d37b6c40ad3f58.js,sha256=_cklZWe7x54npDJvF-Wiow8KnCOi4GkxW9UzKoX11AI,1291
1343
1359
  django_cfg/static/frontend/admin/_next/static/chunks/207.edabf49ab3deba7e.js,sha256=neGiPrrZwDc-StXvB5MsG61cLgdt8P8jxcXGfcfymcA,3588
1344
1360
  django_cfg/static/frontend/admin/_next/static/chunks/20701.a170ccf9cc53e1d4.js,sha256=gCutl3NxvAfuU4rhyDOy5wf6gGqYFvM1_d450hvMZdY,4269
1345
1361
  django_cfg/static/frontend/admin/_next/static/chunks/20791.680da93b5e94eda4.js,sha256=o1EZAGlQ9UDyLiXfmGYQeV24lKAgBtNQeHCieTJ0xms,53576
@@ -1392,6 +1408,7 @@ django_cfg/static/frontend/admin/_next/static/chunks/22876.8ae713a465af9e0b.js,s
1392
1408
  django_cfg/static/frontend/admin/_next/static/chunks/22886.266f1d13626da4a0.js,sha256=v2pJf-2zjP6TPlO36-VZe9yaGI7NnIJa5Pf5wmBM-As,3845
1393
1409
  django_cfg/static/frontend/admin/_next/static/chunks/22907.f24921d16b0bcbf9.js,sha256=5YWd071s_-HyCL4o2jwyDWHIgO41JyPTxF7Xc988QWI,3571
1394
1410
  django_cfg/static/frontend/admin/_next/static/chunks/22931.45bee4f8d5230975.js,sha256=31MsYUjQFIzyJKhdcJb_ZGIOvA14G1G2MX0wAP00erY,7382
1411
+ django_cfg/static/frontend/admin/_next/static/chunks/23004-faae121bbfecc163.js,sha256=sBGimyOwgAfb_O6N8dJReyyvQ1AVxo94NRlnSbtfgzk,278640
1395
1412
  django_cfg/static/frontend/admin/_next/static/chunks/23006.723e110c94f1e0c5.js,sha256=-1ldIh3CpE2iUcw1p3CeHpXZ6O-Y21uGiJdjypIk_MY,40626
1396
1413
  django_cfg/static/frontend/admin/_next/static/chunks/23158.ee8e1cb2c41cad73.js,sha256=Neh_o34n51ZSj8oFXtlm38C9yUPNmmy3xjlrKK22LyA,2515
1397
1414
  django_cfg/static/frontend/admin/_next/static/chunks/23161.6307d163c11143dc.js,sha256=_ECppPnsCrPktmnLfpQi8QKaPuXw8Yr5O1zYbOFMp2c,2655
@@ -1825,7 +1842,7 @@ django_cfg/static/frontend/admin/_next/static/chunks/42945.2515098811baffa7.js,s
1825
1842
  django_cfg/static/frontend/admin/_next/static/chunks/42951.9ecbb685b8318a3e.js,sha256=c5w1xgaS38uhO50p74luJG8QVC6j4Eo6COqvw7Tz9nU,3817
1826
1843
  django_cfg/static/frontend/admin/_next/static/chunks/4304.bfd38d37ff684342.js,sha256=xhmFF_1oIb0GZ2JXjeWcKecci7phRvmo1iZ_xsTdKDM,5068
1827
1844
  django_cfg/static/frontend/admin/_next/static/chunks/43044.f6d032e25de5eb72.js,sha256=LXUsO0T66qsQ4g6CmGwb_ihUmyHqc16A5XrwAFnlHs8,1590
1828
- django_cfg/static/frontend/admin/_next/static/chunks/43076-4be6a9794e9c3e8b.js,sha256=sfuNoRsVFDIE81DBkd505qaS3WpVLF4CKtEGSJeFohI,61625
1845
+ django_cfg/static/frontend/admin/_next/static/chunks/43076.55dd23b6cd68edb0.js,sha256=7Jwj0H4JmzsMAGsDv6zQQcbrryuMWPLLF6QqvDxD4mA,1291
1829
1846
  django_cfg/static/frontend/admin/_next/static/chunks/43093.d040111025b64739.js,sha256=aUH59ECYqPvG3H0L0_Y5bgj_IElC5ali-sq7T_0ybxI,5855
1830
1847
  django_cfg/static/frontend/admin/_next/static/chunks/43177.462148d47b18ebb1.js,sha256=CSlNLaEtAphFNrCGf7e5TBhUe3yL7DeMYtbwulUOhC4,4907
1831
1848
  django_cfg/static/frontend/admin/_next/static/chunks/43192.28530fa538574984.js,sha256=dmSpCYw4I8fjXv1U1NNYFo1ljAzwKjc0J_muOWosWoE,19697
@@ -1982,7 +1999,7 @@ django_cfg/static/frontend/admin/_next/static/chunks/50165.e34978dff4716896.js,s
1982
1999
  django_cfg/static/frontend/admin/_next/static/chunks/50210.b7842b40b95f795d.js,sha256=6WFKLz13sUXb4G1fBpGzV4XxfDqZD38C7z-T8Chtr3w,2662
1983
2000
  django_cfg/static/frontend/admin/_next/static/chunks/50293.4d20e7534907178e.js,sha256=SKM85tVEGjXeYu1j75t21Jl8seLNgR1_cCHTGzfqrhk,5083
1984
2001
  django_cfg/static/frontend/admin/_next/static/chunks/50305.d1c03e1cb3e520a7.js,sha256=Gyxdjq6RlF4ZnouZePgQsytVo9HgQLE1NM9ibkIZpZ4,1787
1985
- django_cfg/static/frontend/admin/_next/static/chunks/50314-79c02212788f1ec7.js,sha256=Djakj05sYCRMSlIJ6K7rM_dDSMPJt81tmmx1HaAD16I,284008
2002
+ django_cfg/static/frontend/admin/_next/static/chunks/50314-3b9d15242191c8bc.js,sha256=uYuJ2cPejfk3oaJk4DHjdQ8wwFHXDXJ1aQjyltkX6x4,297467
1986
2003
  django_cfg/static/frontend/admin/_next/static/chunks/50319.fd78c7f7e3f1966e.js,sha256=8IsxmIOhCujjXjQbsFMdVzbJCdYqp-UuCTbbJR2deHk,145338
1987
2004
  django_cfg/static/frontend/admin/_next/static/chunks/50337.fbaadfbba0399132.js,sha256=4Qcq8tDyJRUAUL_l-Eqe8u8bMt1OtamNXgUnU94g_6Y,1330
1988
2005
  django_cfg/static/frontend/admin/_next/static/chunks/50357.428ab28f2f2151ed.js,sha256=fOXR9kz64XjYn4Z36AZkc1OeCa_wreZZ_NvFOkG-KrQ,3870
@@ -2343,7 +2360,7 @@ django_cfg/static/frontend/admin/_next/static/chunks/64021.f45e1841fb4fb47a.js,s
2343
2360
  django_cfg/static/frontend/admin/_next/static/chunks/6405.5a47e777852fa2bb.js,sha256=AcgtfFM-lEQinw6luUdZTcyKbdtYlhI8n1G3sEqVJWU,4733
2344
2361
  django_cfg/static/frontend/admin/_next/static/chunks/64230.0f10620de72230e3.js,sha256=off3YFFU9CBkp5wzMG2ItLyio_XeFvZPN_HGFrmjw10,2783
2345
2362
  django_cfg/static/frontend/admin/_next/static/chunks/64288.1c92088e80620b36.js,sha256=VShiUX4o7fWBeJ-z_UqWMxbmc8dNIjldq7HKk6BprQs,2195
2346
- django_cfg/static/frontend/admin/_next/static/chunks/64330.2ef79bccd7d4e363.js,sha256=i2Vuueu3E5bi97PgPv3zjhTiUiMBbmG-d2nF7BXzhio,2219
2363
+ django_cfg/static/frontend/admin/_next/static/chunks/64330.41858e98c0e5173b.js,sha256=_yk842tbQBEE2VZIGtavCvjOz4uQ2b-LrAY-pZQAhhQ,2219
2347
2364
  django_cfg/static/frontend/admin/_next/static/chunks/64368.aa8abf5764301547.js,sha256=isSSAO37BxoFaFS7aEMcDoLfdajs3zfXNVYAFu_OFEY,4595
2348
2365
  django_cfg/static/frontend/admin/_next/static/chunks/6441.aac3c9fd7ad11b00.js,sha256=37eHRP5oHN0M50rutUTbrH48HYGgwCxienPIYJEjjiI,2810
2349
2366
  django_cfg/static/frontend/admin/_next/static/chunks/64437.0e1d86785c9dfbd3.js,sha256=GAKN2W5a2QQC0UZBEmodfysYzVjY1ACTfaBhKJdbm-I,27811
@@ -2431,7 +2448,7 @@ django_cfg/static/frontend/admin/_next/static/chunks/67517.e7c9b055848f37a1.js,s
2431
2448
  django_cfg/static/frontend/admin/_next/static/chunks/67518.87bede5ae4f32993.js,sha256=ORxOLIlVAlYFAs5vysRWQQMX35MDqHXmywidZfT3Vng,13414
2432
2449
  django_cfg/static/frontend/admin/_next/static/chunks/67604.882babc6c80f9440.js,sha256=otyuouUN5CAy_ExH_O53yNTiUrJf2FF-gNx1KJQNNLQ,6579
2433
2450
  django_cfg/static/frontend/admin/_next/static/chunks/67657.df7bba74a9de43c3.js,sha256=Wsxj3L5IBvOv5zKFuyRdLKnhCv2wxoKs7OY1IUSZQOU,5384
2434
- django_cfg/static/frontend/admin/_next/static/chunks/6766.d62fed7cd4761148.js,sha256=hy0M__N8MFrVwXbd0AW_byPlGaWs6evOUAJrj_YXvbM,19085
2451
+ django_cfg/static/frontend/admin/_next/static/chunks/6766.8d01e44e83070e83.js,sha256=XAXct1Eaos9P9VlDfO0PTs0MXWt_hP0SD5f-72e5V7E,19086
2435
2452
  django_cfg/static/frontend/admin/_next/static/chunks/67711.caaa31f8ab3bc63b.js,sha256=qwPIy4RXJvStcUS2QEKpOaDgMkcPyBJzBGZYhgE--hc,2858
2436
2453
  django_cfg/static/frontend/admin/_next/static/chunks/6775.de5f0baa20ad6f36.js,sha256=ZKt_0R73KbMPS8R_pLrE-wrInGUSixHSx9YAYRPFLR4,79828
2437
2454
  django_cfg/static/frontend/admin/_next/static/chunks/67754.59d9c769c359b7db.js,sha256=5rEicaxZ3VEQ9OLE0FUFDg96dpSmJBh8iYoVakpjB8s,14211
@@ -2789,7 +2806,6 @@ django_cfg/static/frontend/admin/_next/static/chunks/8215.124343f8c319dd6c.js,sh
2789
2806
  django_cfg/static/frontend/admin/_next/static/chunks/8220.4cd47554991b604f.js,sha256=_aTWcf2jEDcbESxinYsffTIe-qgvEUvHeowfDK2MH8Y,899
2790
2807
  django_cfg/static/frontend/admin/_next/static/chunks/82222.c56058efd03e7b4a.js,sha256=P4TsH8_R4OtH8MpNUXwIHJRZi5FreT1vQXWURbnOfzY,4831
2791
2808
  django_cfg/static/frontend/admin/_next/static/chunks/82241.fa7f3874ad2c94ba.js,sha256=flXBT5VKn3ZMN8ruTHXaipAILME3Ec87hkS5cJVPaas,5066
2792
- django_cfg/static/frontend/admin/_next/static/chunks/82296-a2c8d38f62224be5.js,sha256=zaep15UbpWQVUQqNoWqdESihzRGqUpvQ6XVNl1vlg94,277155
2793
2809
  django_cfg/static/frontend/admin/_next/static/chunks/82300.50c4c6e1ea3ed395.js,sha256=rRgFO5ZBzjBiBs9fvta8kwWoSjyjPSQUIo81mPL5d0I,1965
2794
2810
  django_cfg/static/frontend/admin/_next/static/chunks/82437.386b07dca6929690.js,sha256=wvvD78ccr_P9Mr3GU0KSaL24MicNKDVuTUYz9a1FrZc,4663
2795
2811
  django_cfg/static/frontend/admin/_next/static/chunks/8247.8c9e1dc7b70e30df.js,sha256=Fc2tLNyaUD4MniyOcPC2RWGrWd3gz1eRSP3S_myH-U0,2741
@@ -3133,7 +3149,7 @@ django_cfg/static/frontend/admin/_next/static/chunks/9610.7eb751de4bdeb0a3.js,sh
3133
3149
  django_cfg/static/frontend/admin/_next/static/chunks/96129.466cbdbe79be95b2.js,sha256=aaw1XknTHr9yxOpFiO8xyRlNpfGcLORtLU6rsWgzuH4,4301
3134
3150
  django_cfg/static/frontend/admin/_next/static/chunks/96133.437deceffe6da788.js,sha256=lbCydWdb9JCleZlXW_PD6e--tuasKXa5OSM2gRJAcyg,5043
3135
3151
  django_cfg/static/frontend/admin/_next/static/chunks/96134.099c3d6e8297a412.js,sha256=v81v4cqSWAwHXJkwVSNQZyGJ4Hz_KQhjUHfXtOeuA6I,12889
3136
- django_cfg/static/frontend/admin/_next/static/chunks/96168.eb7fdb721b9cdb00.js,sha256=CI4M1xDgRywXzeb4u9NzbSqUK3pU4XoyLTO4mY4dWis,1158
3152
+ django_cfg/static/frontend/admin/_next/static/chunks/96168.b7197f890097df6e.js,sha256=5kdQ1veZJql7KVxd6hBzw3-c9ewRk898DoGmpwtV5bc,1158
3137
3153
  django_cfg/static/frontend/admin/_next/static/chunks/96212.f7a334cbc3364dfc.js,sha256=d-6jfQ0xm56NSXZ_l87sm51FoVtL_r7W14odOooc3-Y,1818
3138
3154
  django_cfg/static/frontend/admin/_next/static/chunks/96227.97aa12bd107478bb.js,sha256=3AdiMb3Mt5p1J4mHbDJf0KhediV6Xk4n-DXAQi808Es,2445
3139
3155
  django_cfg/static/frontend/admin/_next/static/chunks/96318.3f08b72d12ebe055.js,sha256=FQuDx1DLENTUjxyYJ7zTRdVXnM9FAzLouqg6RBNiyfU,2690
@@ -3220,35 +3236,35 @@ django_cfg/static/frontend/admin/_next/static/chunks/c18501f6.3824a0c68301013d.j
3220
3236
  django_cfg/static/frontend/admin/_next/static/chunks/framework-46f25b115ad0e595.js,sha256=X5jw2carNU21jVfTHW2WNbU3JhQexni-YwaRwxW4ZD4,182737
3221
3237
  django_cfg/static/frontend/admin/_next/static/chunks/main-f9b6d451d9991f19.js,sha256=n0uA5eK_7TEJxH2edZGsDWjLcln4qIOFRz5A6ZCVxl8,128050
3222
3238
  django_cfg/static/frontend/admin/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
3223
- django_cfg/static/frontend/admin/_next/static/chunks/webpack-92add5f95c66e349.js,sha256=HxQrMhjHIeUoUEqW39smdoEuKynGLFSmqq5MTt6LoP8,56750
3224
- django_cfg/static/frontend/admin/_next/static/chunks/pages/404-c283223d1afd02a2.js,sha256=oaxFxJ8o8GUiRsCBwhna0eBnb345FanlUTpzvrhjs5Q,400
3225
- django_cfg/static/frontend/admin/_next/static/chunks/pages/500-389d6d3e1f2f7fda.js,sha256=DyJHmOprhI1awBfcVh9Mi12vE56A4a_bPsuJFv4kXjU,402
3226
- django_cfg/static/frontend/admin/_next/static/chunks/pages/_app-f25bec36bbdc9625.js,sha256=woL0mJehHY-X8pLls-Hdq7hympTR25oIxYPoecHuKeQ,3039941
3227
- django_cfg/static/frontend/admin/_next/static/chunks/pages/_error-5291033275c26d09.js,sha256=YDUKht9kE0boy6cRWENr0smhLKdFAT6oD05MW4CokKQ,454
3239
+ django_cfg/static/frontend/admin/_next/static/chunks/webpack-7c456a65e96eb97e.js,sha256=G2FTdC2vuo1k0m4M7RX2m2tqxIzquKciee_OiPwYlsU,56750
3240
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/404-cf71cd7b3cb005e5.js,sha256=R2RPaynckVRHY2GbzOlvfIJQiRFIWYFyUPcwGgOln4Y,400
3241
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/500-ff19c7842e3df415.js,sha256=9n_M54g6z3_IrLQS0D4xH9voYbqKlpn7gnTWiiPrxhY,402
3242
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/_app-f62e5528fbcbb6b3.js,sha256=Tt1lFkepyC7z3N4Umkv23brm6Yfn3QuMuXq6BSDWj-w,3443353
3243
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/_error-87f3fdc2aa131e77.js,sha256=aUcvBDoT28ncOj1hi0OQZw8RHW43Dj8bQ0M2peTFLRM,454
3228
3244
  django_cfg/static/frontend/admin/_next/static/chunks/pages/auth-a872607f98742e5a.js,sha256=RhpzAFpGuXVTrg935pLfhLoMJXrMlwxw_1al5nzs4d8,613
3229
- django_cfg/static/frontend/admin/_next/static/chunks/pages/index-d7bc30185f52cbca.js,sha256=Pq9YsGaB39FRxx13zVawH9ozY_V5A8353CGLBVHQMtk,925
3230
- django_cfg/static/frontend/admin/_next/static/chunks/pages/private-a8a9ba76f2c75354.js,sha256=4HyoBuMyNySBQ4_h2LW3MMENSfwbjDiKg01XjxvXhgQ,29671
3245
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/index-69f737d4802cc5b7.js,sha256=a3N9dkg2r004pEqvQEz7eXRDjeIn6K0EVtm5pT-18Y8,925
3246
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/private-fe9faa86ecdb0ce6.js,sha256=6ylBHz2Phk68ubafhQtBg4GD2gRznKtiAAOqoMA05ws,52636
3231
3247
  django_cfg/static/frontend/admin/_next/static/chunks/pages/legal/cookies-b39c7f22c066e2c6.js,sha256=okCD9KW7OF90mkhicu1opmes5iXqwl8n1hRYxn0A0Bw,3246
3232
3248
  django_cfg/static/frontend/admin/_next/static/chunks/pages/legal/privacy-5aedad0cf3a4f80f.js,sha256=efPEJn2r3KK-ayIwndGhfEwq9p7SqGwJsmVYiswTWuY,3193
3233
3249
  django_cfg/static/frontend/admin/_next/static/chunks/pages/legal/security-dbd854d0d5d483e2.js,sha256=_PNE7rLsSSElepT94UBEEXXOyB4uYC7VsLQRbNvz1wU,3402
3234
3250
  django_cfg/static/frontend/admin/_next/static/chunks/pages/legal/terms-f3e1d2b9e5edf12f.js,sha256=-uCqkMXrHwioQGOno7qgrUdU2x8lxeGeGeourCLdUzw,2846
3235
- django_cfg/static/frontend/admin/_next/static/chunks/pages/private/centrifugo-22532c65971225eb.js,sha256=aoXYQNvMb5aZ2Bo2dElm1zvPz2eda1GBF0VqVvH664Q,63830
3236
- django_cfg/static/frontend/admin/_next/static/chunks/pages/private/profile-e93a65e8e7d9022b.js,sha256=VFofW3pgKqrjSUR-4WjYw49-gBpehdxTR6nNVvb6w8w,472
3237
- django_cfg/static/frontend/admin/_next/static/chunks/pages/private/ui-669e8f2a785beba2.js,sha256=UQADLsxVtdOItcfIaPz2L6RJJMi8fpQaYbkAxAEzyRM,469
3238
- django_cfg/static/frontend/admin/_next/static/css/78d677ac1677c210.css,sha256=Qo6lBA0pfyEnvJHVsHoCSdi0pwafousyR3MN2KZNrQg,128490
3251
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/private/centrifugo-f24beb6ed3955aa8.js,sha256=MzeV3KWY_USofztmVSAsUg_m0elVCNtlpcYfmYZ_wOs,68645
3252
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/private/profile-b8045f993287f1a7.js,sha256=i01PkweY4cKaA-nJSvvnz471Pw3vTcbNzCqGHOMsbX4,472
3253
+ django_cfg/static/frontend/admin/_next/static/chunks/pages/private/ui-373fff8b42878e64.js,sha256=aVPg92sdYRclHRmA7gQx-2Gys3NRQS4UgbiOXHz8r_A,469
3254
+ django_cfg/static/frontend/admin/_next/static/css/5f9a37b6e6a72303.css,sha256=2vHvNlpc8lwoi6GcLpmbRBV1XZCIQhM4QJxwmPm1KDc,130208
3239
3255
  django_cfg/static/frontend/admin/_next/static/media/438aa629764e75f3-s.woff2,sha256=6MCzmZLwaz3JqYNElAiAFIWfNjv2yoeStrsH4Xx5ZfM,2592
3240
3256
  django_cfg/static/frontend/admin/_next/static/media/4c9affa5bc8f420e-s.p.woff2,sha256=4xC1Wn_ZZ39eNVXmxsTQZPofHSQ5Pw3b4hfOoSqMQy8,24576
3241
3257
  django_cfg/static/frontend/admin/_next/static/media/51251f8b9793cdb3-s.woff2,sha256=QK8RMn_lMIFmxstXh4CLBC222oiav2AvCkh2xJZ12H4,9360
3242
3258
  django_cfg/static/frontend/admin/_next/static/media/875ae681bfde4580-s.p.woff2,sha256=laSTBh_gqNDQJ8KJJ0cTS6dHFBES075NUCLnCrfToaY,14544
3243
3259
  django_cfg/static/frontend/admin/_next/static/media/cc978ac5ee68c2b6-s.woff2,sha256=zgk7NB2cEGWO4eqoXF-AQv8zB7xsz8X0BWFutDfwAJ4,15240
3244
3260
  django_cfg/static/frontend/admin/_next/static/media/e857b654a2caa584-s.woff2,sha256=urdX-KChvAQFXumMtXd_MlSqsR9tIiNm4fQKNvOQUGo,8492
3245
- django_cfg/static/frontend/admin/legal/cookies.html,sha256=q6SQMARBBTZNBUiAlqsQPCe9v6YJPJwN6AXIOt7r3JE,13839
3246
- django_cfg/static/frontend/admin/legal/privacy.html,sha256=ag62yjoB_p0ZbBaWGN8tB7R73ZO9SL3Gi3919ELBI3o,13880
3247
- django_cfg/static/frontend/admin/legal/security.html,sha256=sWgQs4upPKgsBX6c6XG6HcySIV0CKvdEic9Bm0FNjO8,14201
3248
- django_cfg/static/frontend/admin/legal/terms.html,sha256=ir-VTo_MA8baSyWqSptscpZmQqpWdfgYECW_C-NTOUA,13615
3249
- django_cfg/static/frontend/admin/private/centrifugo.html,sha256=1a13sBzLmPX8KV8-uS-rmDfak2WlFn-sCkh4_YzMqjE,3668
3250
- django_cfg/static/frontend/admin/private/profile.html,sha256=Ysute9rekUvQmh_g7hSNmjO4ZF1MF3fj9luQC-dMg-M,3484
3251
- django_cfg/static/frontend/admin/private/ui.html,sha256=Csht-3-P3_IGpLq2cR23uLUk5tVWt2LleAOV7R_98dM,3474
3261
+ django_cfg/static/frontend/admin/legal/cookies.html,sha256=GPrHYD8ywd8dtpFzv6RWOVIqy02MIO92h063re6YbX0,13839
3262
+ django_cfg/static/frontend/admin/legal/privacy.html,sha256=A511e1l0X8EeXCBEAhhK2PiCrrTd31bX7fxMVTNh2ro,13880
3263
+ django_cfg/static/frontend/admin/legal/security.html,sha256=e_EOSsBFwmJdMZw_Kj-gNKFHDmL6ZhT9cDfig_-iGsE,14201
3264
+ django_cfg/static/frontend/admin/legal/terms.html,sha256=pqok620b8T_bZO4ecnvmmIwcpXAEVQ1pCNlfiG3J2-Q,13615
3265
+ django_cfg/static/frontend/admin/private/centrifugo.html,sha256=x_KqCsaXBvCTSlYTi1cGSLG-Xj8gTwitq6Y_OoHansI,3579
3266
+ django_cfg/static/frontend/admin/private/profile.html,sha256=bzvYYbu_ku3ZUIvTKfq4PCKNJS-CdKJDhxfnaWK1EYg,3484
3267
+ django_cfg/static/frontend/admin/private/ui.html,sha256=98p4YlutPZn2uX63UpCdoTbsbB9F2YjkP3J0tOi-Aq4,3474
3252
3268
  django_cfg/static/frontend/admin/static/logos/192x192.png,sha256=k_yaCRYwsPBknQkEIdpakdMGbORiOrpvrBQyC_SN5NM,33530
3253
3269
  django_cfg/static/frontend/admin/static/logos/384x384.png,sha256=T2JZG0LfPv-k-8brPjbKPTlTQqfivmak1qr2ijJ6ckg,133486
3254
3270
  django_cfg/static/frontend/admin/static/logos/512x512.png,sha256=_fYvtvBJTTef8nUlZ-YyCa7L6Tt8eZTt14N4LCRJPA0,244293
@@ -3274,7 +3290,13 @@ django_cfg/static/js/api/support/index.mjs,sha256=oPA3iGkUWYyKQuJlI5-tSxD3AOhwlA
3274
3290
  django_cfg/static/js/api/tasks/client.mjs,sha256=tIy8K-finXzTUL9kOo_L4Q1kchDaHyuzjwS4VymiWPM,3579
3275
3291
  django_cfg/static/js/api/tasks/index.mjs,sha256=yCY1GzdD-RtFZ3pAfk1l0msgO1epyo0lsGCjH0g1Afc,294
3276
3292
  django_cfg/templates/__init__.py,sha256=IzLjt-a7VIJ0OutmAE1_-w0_LpL2u0MgGpnIabjZuW8,19
3277
- django_cfg/templates/admin/index.html,sha256=qkAuqjgjUOv9utszc_7evIfrxX2PgBb_dhcpfU0Dv9M,3312
3293
+ django_cfg/templates/admin/index.html,sha256=T9QHSHYp1TFFWAfAMLtPg7LFCgnASlKwuWZ1M0Io4k4,14803
3294
+ django_cfg/templates/admin/sections/commands_section.html,sha256=YnJzYMWu2OGFkbFhBS45F26ZGt8M6_GAonekjRywldA,145
3295
+ django_cfg/templates/admin/sections/documentation_section.html,sha256=WfbU_2K2nUQutIhNNTRn2EsygotC8yBbeNkR6QjN_vw,150
3296
+ django_cfg/templates/admin/sections/overview_section.html,sha256=hXGoAqseZKFUqqASEnk0DRxjI6JcBe0hGpY8i-KXn_s,145
3297
+ django_cfg/templates/admin/sections/stats_section.html,sha256=dGO1oN76GLxmIz-xHFhWhWyD3HpkabsfHUbDMYhxHSA,142
3298
+ django_cfg/templates/admin/sections/system_section.html,sha256=vU0iqvs5pig6iWupvPULa_Cui-aocSkS-sRbk-i21Bc,143
3299
+ django_cfg/templates/admin/sections/widgets_section.html,sha256=AuZoW7a7D4vPzN-oAZTe1QFiG1chR08IMrCaj-Uggi4,423
3278
3300
  django_cfg/templates/admin_old/index.html,sha256=RX8ouWATqSDY4rlTS8H8rQYYB0hzME1hXZfYbWNLUok,2146
3279
3301
  django_cfg/templates/admin_old/index_new.html,sha256=B5nC6TMjHCvbyX-SG7kIyLbFyGUNm-86Uo694EdfUZQ,4262
3280
3302
  django_cfg/templates/admin_old/components/action_grid.html,sha256=Ol6UqHR6CQkrLzOIqIWeBk-fu3dYu2x1xxjaL6HnXRQ,2840
@@ -3326,8 +3348,9 @@ django_cfg/templates/admin_old/snippets/tabs/users_tab.html,sha256=04D05VSeidn2q
3326
3348
  django_cfg/templates/admin_old/snippets/tabs/widgets_tab.html,sha256=1TxvLPjydcOQRVdaEzGaIq8QZD_CmGY58X9wcqNrtpM,1699
3327
3349
  django_cfg/templates/admin_old/snippets/zones/zones_table.html,sha256=WtaI-x16LijochRy7uFj8xyUeqcCqhenF9xKRW_JQWE,11879
3328
3350
  django_cfg/templates/emails/base_email.html,sha256=TWcvYa2IHShlF_E8jf1bWZStRO0v8G4L_GexPxvz6XQ,8836
3351
+ django_cfg/templates/unfold/layouts/skeleton.html,sha256=2ArkcNZ34mFs30cOAsTQ1EZiDXcB0aVxkO71lJq9SLE,718
3329
3352
  django_cfg/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3330
- django_cfg/templatetags/django_cfg.py,sha256=dPCcuZySSNvDlsiFkyeZ1b_GkhhybNLY-bHHF9Wmm-w,3907
3353
+ django_cfg/templatetags/django_cfg.py,sha256=5Eo5NdU9ajS71710u59kz_bDJOON-VdclaVVd3BM6y8,5601
3331
3354
  django_cfg/utils/__init__.py,sha256=64wwXJuXytvwt8Ze_erSR2HmV07nGWJ6DV5wloRBvYE,435
3332
3355
  django_cfg/utils/path_resolution.py,sha256=2n0I04lQkSssFaELu3A93YyMAl1K10KPdpxMt5k4Iy0,13341
3333
3356
  django_cfg/utils/smart_defaults.py,sha256=ZUj6K_Deq-fp5O0Dy_Emt257UWFn0f9bkgFv9YCR58U,9239
@@ -3335,9 +3358,9 @@ django_cfg/utils/version_check.py,sha256=WO51J2m2e-wVqWCRwbultEwu3q1lQasV67Mw2aa
3335
3358
  django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
3336
3359
  django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
3337
3360
  django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
3338
- django_cfg/pyproject.toml,sha256=j5x3hqw9jx8kdflxxpQvz4Ngrf8uNAY6MLkMa6MPKiM,8164
3339
- django_cfg-1.4.84.dist-info/METADATA,sha256=HSR8O0gwsQWDQFvPvQg0pN9mxAyENr_jTbr53oVFCQk,22624
3340
- django_cfg-1.4.84.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
3341
- django_cfg-1.4.84.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
3342
- django_cfg-1.4.84.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
3343
- django_cfg-1.4.84.dist-info/RECORD,,
3361
+ django_cfg/pyproject.toml,sha256=zWK8TRmL_mYRCsY5qxuTHDngDdWu4WCzJ_d0Etx79sM,8164
3362
+ django_cfg-1.4.85.dist-info/METADATA,sha256=9YBWQ0fwzm6NiS8q2WQbmCKIYYtvqfh1ic4ooYSRe_s,22624
3363
+ django_cfg-1.4.85.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
3364
+ django_cfg-1.4.85.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
3365
+ django_cfg-1.4.85.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
3366
+ django_cfg-1.4.85.dist-info/RECORD,,
@@ -1,27 +0,0 @@
1
- """
2
- Dashboard API
3
-
4
- RESTful API endpoints for dashboard data.
5
- """
6
-
7
- from .serializers import (
8
- ActivityEntrySerializer,
9
- DashboardOverviewSerializer,
10
- QuickActionSerializer,
11
- StatCardSerializer,
12
- SystemHealthItemSerializer,
13
- SystemHealthSerializer,
14
- SystemMetricsSerializer,
15
- )
16
- from .viewsets import DashboardViewSet
17
-
18
- __all__ = [
19
- 'DashboardViewSet',
20
- 'StatCardSerializer',
21
- 'SystemHealthItemSerializer',
22
- 'SystemHealthSerializer',
23
- 'QuickActionSerializer',
24
- 'ActivityEntrySerializer',
25
- 'SystemMetricsSerializer',
26
- 'DashboardOverviewSerializer',
27
- ]
@@ -1,165 +0,0 @@
1
- """
2
- Dashboard API Serializers
3
-
4
- Simple serializers for dashboard endpoints - no nested serializers to avoid allOf.
5
- Returns plain dict structures for TypeScript generation.
6
- """
7
-
8
- from rest_framework import serializers
9
-
10
-
11
- class StatCardSerializer(serializers.Serializer):
12
- """
13
- Serializer for dashboard statistics cards.
14
-
15
- Maps to StatCard Pydantic model.
16
- """
17
-
18
- title = serializers.CharField(help_text="Card title")
19
- value = serializers.CharField(help_text="Main value to display")
20
- icon = serializers.CharField(help_text="Material icon name")
21
- change = serializers.CharField(required=False, allow_null=True, help_text="Change indicator (e.g., '+12%')")
22
- change_type = serializers.ChoiceField(
23
- choices=['positive', 'negative', 'neutral'],
24
- default='neutral',
25
- help_text="Change type"
26
- )
27
- description = serializers.CharField(required=False, allow_null=True, help_text="Additional description")
28
- color = serializers.CharField(default='primary', help_text="Card color theme")
29
-
30
-
31
- class SystemHealthItemSerializer(serializers.Serializer):
32
- """
33
- Serializer for system health status items.
34
-
35
- Maps to SystemHealthItem Pydantic model.
36
- """
37
-
38
- component = serializers.CharField(help_text="Component name")
39
- status = serializers.ChoiceField(
40
- choices=['healthy', 'warning', 'error', 'unknown'],
41
- help_text="Health status"
42
- )
43
- description = serializers.CharField(help_text="Status description")
44
- last_check = serializers.CharField(help_text="Last check time (ISO format)")
45
- health_percentage = serializers.IntegerField(
46
- required=False,
47
- allow_null=True,
48
- min_value=0,
49
- max_value=100,
50
- help_text="Health percentage (0-100)"
51
- )
52
-
53
-
54
- class SystemHealthSerializer(serializers.Serializer):
55
- """Serializer for overall system health status."""
56
-
57
- overall_status = serializers.ChoiceField(
58
- choices=['healthy', 'warning', 'error', 'unknown'],
59
- help_text="Overall system health status"
60
- )
61
- overall_health_percentage = serializers.IntegerField(
62
- min_value=0,
63
- max_value=100,
64
- help_text="Overall health percentage"
65
- )
66
- components = SystemHealthItemSerializer(many=True, help_text="Health status of individual components")
67
- timestamp = serializers.CharField(help_text="Check timestamp (ISO format)")
68
-
69
-
70
- class QuickActionSerializer(serializers.Serializer):
71
- """
72
- Serializer for quick action buttons.
73
-
74
- Maps to QuickAction Pydantic model.
75
- """
76
-
77
- title = serializers.CharField(help_text="Action title")
78
- description = serializers.CharField(help_text="Action description")
79
- icon = serializers.CharField(help_text="Material icon name")
80
- link = serializers.CharField(help_text="Action URL")
81
- color = serializers.ChoiceField(
82
- choices=['primary', 'success', 'warning', 'danger', 'secondary'],
83
- default='primary',
84
- help_text="Button color theme"
85
- )
86
- category = serializers.CharField(default='general', help_text="Action category")
87
-
88
-
89
- class ActivityEntrySerializer(serializers.Serializer):
90
- """Serializer for recent activity entries."""
91
-
92
- id = serializers.IntegerField(help_text="Activity ID")
93
- user = serializers.CharField(help_text="User who performed the action")
94
- action = serializers.CharField(help_text="Action type (created, updated, deleted, etc.)")
95
- resource = serializers.CharField(help_text="Resource affected")
96
- timestamp = serializers.CharField(help_text="Activity timestamp (ISO format)")
97
- icon = serializers.CharField(help_text="Material icon name")
98
- color = serializers.CharField(help_text="Icon color")
99
-
100
-
101
- class SystemMetricsSerializer(serializers.Serializer):
102
- """Serializer for system performance metrics."""
103
-
104
- cpu_usage = serializers.FloatField(help_text="CPU usage percentage")
105
- memory_usage = serializers.FloatField(help_text="Memory usage percentage")
106
- disk_usage = serializers.FloatField(help_text="Disk usage percentage")
107
- network_in = serializers.CharField(help_text="Network incoming bandwidth")
108
- network_out = serializers.CharField(help_text="Network outgoing bandwidth")
109
- response_time = serializers.CharField(help_text="Average response time")
110
- uptime = serializers.CharField(help_text="System uptime")
111
-
112
-
113
- class UserStatisticsSerializer(serializers.Serializer):
114
- """Serializer for user statistics."""
115
-
116
- total_users = serializers.IntegerField(help_text="Total number of users")
117
- active_users = serializers.IntegerField(help_text="Active users (last 30 days)")
118
- new_users = serializers.IntegerField(help_text="New users (last 7 days)")
119
- superusers = serializers.IntegerField(help_text="Number of superusers")
120
-
121
-
122
- class AppStatisticsSerializer(serializers.Serializer):
123
- """Serializer for application-specific statistics."""
124
-
125
- app_name = serializers.CharField(help_text="Application name")
126
- statistics = serializers.DictField(
127
- child=serializers.IntegerField(),
128
- help_text="Application statistics"
129
- )
130
-
131
-
132
- class DashboardOverviewSerializer(serializers.Serializer):
133
- """
134
- Main serializer for dashboard overview endpoint.
135
- Uses DictField to avoid allOf generation in OpenAPI.
136
- """
137
-
138
- stat_cards = serializers.ListField(
139
- child=serializers.DictField(),
140
- help_text="Dashboard statistics cards"
141
- )
142
- system_health = serializers.ListField(
143
- child=serializers.DictField(),
144
- help_text="System health status"
145
- )
146
- quick_actions = serializers.ListField(
147
- child=serializers.DictField(),
148
- help_text="Quick action buttons"
149
- )
150
- recent_activity = serializers.ListField(
151
- child=serializers.DictField(),
152
- help_text="Recent activity entries"
153
- )
154
- system_metrics = serializers.DictField(help_text="System performance metrics")
155
- user_statistics = serializers.DictField(help_text="User statistics")
156
- timestamp = serializers.CharField(help_text="Data timestamp (ISO format)")
157
-
158
-
159
- class APIResponseSerializer(serializers.Serializer):
160
- """Standard API response wrapper."""
161
-
162
- success = serializers.BooleanField(help_text="Operation success status")
163
- message = serializers.CharField(required=False, help_text="Success message")
164
- error = serializers.CharField(required=False, help_text="Error message")
165
- data = serializers.DictField(required=False, help_text="Response data")