dmart 1.4.35__py3-none-any.whl → 1.4.36__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 (298) hide show
  1. dmart/__init__.py +8 -0
  2. dmart/alembic/README +1 -0
  3. dmart/alembic/notes.txt +11 -0
  4. dmart/alembic/script.py.mako +28 -0
  5. dmart/alembic.ini +117 -0
  6. dmart/config.env.sample +27 -0
  7. dmart/conftest.py +13 -0
  8. dmart/curl.sh +196 -0
  9. dmart/hypercorn_config.toml +3 -0
  10. dmart/info.json +1 -0
  11. dmart/login_creds.sh +7 -0
  12. dmart/login_creds.sh.sample +7 -0
  13. dmart/manifest.sh +12 -0
  14. dmart/plugins/action_log/config.json +13 -0
  15. dmart/plugins/admin_notification_sender/config.json +13 -0
  16. dmart/plugins/ldap_manager/config.json +12 -0
  17. dmart/plugins/ldap_manager/dmart.schema +146 -0
  18. dmart/plugins/ldap_manager/slapd.conf +53 -0
  19. dmart/plugins/local_notification/config.json +13 -0
  20. dmart/plugins/realtime_updates_notifier/config.json +12 -0
  21. dmart/plugins/redis_db_update/config.json +13 -0
  22. dmart/plugins/resource_folders_creation/config.json +12 -0
  23. dmart/plugins/system_notification_sender/config.json +13 -0
  24. dmart/plugins/update_access_controls/config.json +12 -0
  25. dmart/publish.sh +57 -0
  26. dmart/pylint.sh +16 -0
  27. dmart/pyrightconfig.json +7 -0
  28. dmart/redis_connections.sh +13 -0
  29. dmart/reload.sh +56 -0
  30. dmart/run.sh +3 -0
  31. dmart/test_utils.py +34 -0
  32. {dmart-1.4.35.dist-info → dmart-1.4.36.dist-info}/METADATA +1 -1
  33. dmart-1.4.36.dist-info/RECORD +285 -0
  34. dmart-1.4.36.dist-info/entry_points.txt +2 -0
  35. dmart-1.4.36.dist-info/top_level.txt +1 -0
  36. dmart-1.4.35.dist-info/RECORD +0 -264
  37. dmart-1.4.35.dist-info/entry_points.txt +0 -2
  38. dmart-1.4.35.dist-info/top_level.txt +0 -24
  39. pytests/api_user_models_erros_test.py +0 -16
  40. pytests/api_user_models_requests_test.py +0 -98
  41. pytests/archive_test.py +0 -72
  42. pytests/base_test.py +0 -300
  43. pytests/get_settings_test.py +0 -14
  44. pytests/json_to_db_migration_test.py +0 -237
  45. pytests/service_test.py +0 -26
  46. pytests/test_info.py +0 -55
  47. pytests/test_status.py +0 -15
  48. utils/__init__.py +0 -0
  49. {alembic → dmart/alembic}/__init__.py +0 -0
  50. {alembic → dmart/alembic}/env.py +0 -0
  51. {alembic → dmart/alembic}/scripts/__init__.py +0 -0
  52. {alembic → dmart/alembic}/scripts/calculate_checksums.py +0 -0
  53. {alembic → dmart/alembic}/scripts/migration_f7a4949eed19.py +0 -0
  54. {alembic → dmart/alembic}/versions/0f3d2b1a7c21_add_authz_materialized_views.py +0 -0
  55. {alembic → dmart/alembic}/versions/10d2041b94d4_last_checksum_history.py +0 -0
  56. {alembic → dmart/alembic}/versions/1cf4e1ee3cb8_ext_permission_with_filter_fields_values.py +0 -0
  57. {alembic → dmart/alembic}/versions/26bfe19b49d4_rm_failedloginattempts.py +0 -0
  58. {alembic → dmart/alembic}/versions/3c8bca2219cc_add_otp_table.py +0 -0
  59. {alembic → dmart/alembic}/versions/6675fd9dfe42_remove_unique_from_sessions_table.py +0 -0
  60. {alembic → dmart/alembic}/versions/71bc1df82e6a_adding_user_last_login_at.py +0 -0
  61. {alembic → dmart/alembic}/versions/74288ccbd3b5_initial.py +0 -0
  62. {alembic → dmart/alembic}/versions/7520a89a8467_rm_activesession_table.py +0 -0
  63. {alembic → dmart/alembic}/versions/848b623755a4_make_created_nd_updated_at_required.py +0 -0
  64. {alembic → dmart/alembic}/versions/8640dcbebf85_add_notes_to_users.py +0 -0
  65. {alembic → dmart/alembic}/versions/91c94250232a_adding_fk_on_owner_shortname.py +0 -0
  66. {alembic → dmart/alembic}/versions/98ecd6f56f9a_ext_meta_with_owner_group_shortname.py +0 -0
  67. {alembic → dmart/alembic}/versions/9aae9138c4ef_indexing_created_at_updated_at.py +0 -0
  68. {alembic → dmart/alembic}/versions/__init__.py +0 -0
  69. {alembic → dmart/alembic}/versions/b53f916b3f6d_json_to_jsonb.py +0 -0
  70. {alembic → dmart/alembic}/versions/eb5f1ec65156_adding_user_locked_to_device.py +0 -0
  71. {alembic → dmart/alembic}/versions/f7a4949eed19_adding_query_policies_to_meta.py +0 -0
  72. {api → dmart/api}/__init__.py +0 -0
  73. {api → dmart/api}/info/__init__.py +0 -0
  74. {api → dmart/api}/info/router.py +0 -0
  75. {api → dmart/api}/managed/__init__.py +0 -0
  76. {api → dmart/api}/managed/router.py +0 -0
  77. {api → dmart/api}/managed/utils.py +0 -0
  78. {api → dmart/api}/public/__init__.py +0 -0
  79. {api → dmart/api}/public/router.py +0 -0
  80. {api → dmart/api}/qr/__init__.py +0 -0
  81. {api → dmart/api}/qr/router.py +0 -0
  82. {api → dmart/api}/user/__init__.py +0 -0
  83. {api → dmart/api}/user/model/__init__.py +0 -0
  84. {api → dmart/api}/user/model/errors.py +0 -0
  85. {api → dmart/api}/user/model/requests.py +0 -0
  86. {api → dmart/api}/user/model/responses.py +0 -0
  87. {api → dmart/api}/user/router.py +0 -0
  88. {api → dmart/api}/user/service.py +0 -0
  89. /bundler.py → /dmart/bundler.py +0 -0
  90. {config → dmart/config}/__init__.py +0 -0
  91. {config → dmart/config}/channels.json +0 -0
  92. {config → dmart/config}/notification.json +0 -0
  93. {cxb → dmart/cxb}/__init__.py +0 -0
  94. {cxb → dmart/cxb}/assets/@codemirror-Rn7_6DkE.js +0 -0
  95. {cxb → dmart/cxb}/assets/@edraj-CS4NwVbD.js +0 -0
  96. {cxb → dmart/cxb}/assets/@floating-ui-BwwcF-xh.js +0 -0
  97. {cxb → dmart/cxb}/assets/@formatjs-yKEsAtjs.js +0 -0
  98. {cxb → dmart/cxb}/assets/@fortawesome-DRW1UCdr.js +0 -0
  99. {cxb → dmart/cxb}/assets/@jsonquerylang-laKNoFFq.js +0 -0
  100. {cxb → dmart/cxb}/assets/@lezer-za4Q-8Ew.js +0 -0
  101. {cxb → dmart/cxb}/assets/@marijn-DXwl3gUT.js +0 -0
  102. {cxb → dmart/cxb}/assets/@popperjs-l0sNRNKZ.js +0 -0
  103. {cxb → dmart/cxb}/assets/@replit--ERk53eB.js +0 -0
  104. {cxb → dmart/cxb}/assets/@roxi-CGMFK4i8.js +0 -0
  105. {cxb → dmart/cxb}/assets/@typewriter-cCzskkIv.js +0 -0
  106. {cxb → dmart/cxb}/assets/@zerodevx-BlBZjKxu.js +0 -0
  107. {cxb → dmart/cxb}/assets/@zerodevx-CVEpe6WZ.css +0 -0
  108. {cxb → dmart/cxb}/assets/BreadCrumbLite-DAhOx38v.js +0 -0
  109. {cxb → dmart/cxb}/assets/EntryRenderer-25YDhRen.js +0 -0
  110. {cxb → dmart/cxb}/assets/EntryRenderer-DXytdFp9.css +0 -0
  111. {cxb → dmart/cxb}/assets/ListView-BpAycA2h.js +0 -0
  112. {cxb → dmart/cxb}/assets/ListView-U8of-_c-.css +0 -0
  113. {cxb → dmart/cxb}/assets/Prism--hMplq-p.js +0 -0
  114. {cxb → dmart/cxb}/assets/Prism-Uh6uStUw.css +0 -0
  115. {cxb → dmart/cxb}/assets/Table2Cols-BsbwicQm.js +0 -0
  116. {cxb → dmart/cxb}/assets/_..-BvT6vdHa.css +0 -0
  117. {cxb → dmart/cxb}/assets/_...404_-fuLH_rX9.js +0 -0
  118. {cxb → dmart/cxb}/assets/_...fallback_-Ba_NLmAE.js +0 -0
  119. {cxb → dmart/cxb}/assets/_module-Bfk8MiCs.js +0 -0
  120. {cxb → dmart/cxb}/assets/_module-CEW0D5oI.js +0 -0
  121. {cxb → dmart/cxb}/assets/_module-Dgq0ZVtz.js +0 -0
  122. {cxb → dmart/cxb}/assets/ajv-Cpj98o6Y.js +0 -0
  123. {cxb → dmart/cxb}/assets/axios-CG2WSiiR.js +0 -0
  124. {cxb → dmart/cxb}/assets/clsx-B-dksMZM.js +0 -0
  125. {cxb → dmart/cxb}/assets/codemirror-wrapped-line-indent-DPhKvljI.js +0 -0
  126. {cxb → dmart/cxb}/assets/compare-C3AjiGFR.js +0 -0
  127. {cxb → dmart/cxb}/assets/compute-scroll-into-view-Bl8rNFhg.js +0 -0
  128. {cxb → dmart/cxb}/assets/consolite-DlCuI0F9.js +0 -0
  129. {cxb → dmart/cxb}/assets/crelt-C8TCjufn.js +0 -0
  130. {cxb → dmart/cxb}/assets/date-fns-l0sNRNKZ.js +0 -0
  131. {cxb → dmart/cxb}/assets/deepmerge-rn4rBaHU.js +0 -0
  132. {cxb → dmart/cxb}/assets/dmart_services-AL6-IdDE.js +0 -0
  133. {cxb → dmart/cxb}/assets/downloadFile-D08i0YDh.js +0 -0
  134. {cxb → dmart/cxb}/assets/easy-signal-BiPFIK3O.js +0 -0
  135. {cxb → dmart/cxb}/assets/esm-env-rsSWfq8L.js +0 -0
  136. {cxb → dmart/cxb}/assets/export-OF_rTiXu.js +0 -0
  137. {cxb → dmart/cxb}/assets/fast-deep-equal-l0sNRNKZ.js +0 -0
  138. {cxb → dmart/cxb}/assets/fast-diff-C-IidNf4.js +0 -0
  139. {cxb → dmart/cxb}/assets/fast-uri-l0sNRNKZ.js +0 -0
  140. {cxb → dmart/cxb}/assets/flowbite-svelte-BLvjb-sa.js +0 -0
  141. {cxb → dmart/cxb}/assets/flowbite-svelte-CD54FDqW.css +0 -0
  142. {cxb → dmart/cxb}/assets/flowbite-svelte-icons-BI8GVhw_.js +0 -0
  143. {cxb → dmart/cxb}/assets/github-slugger-CQ4oX9Ud.js +0 -0
  144. {cxb → dmart/cxb}/assets/global-igKv-1g9.js +0 -0
  145. {cxb → dmart/cxb}/assets/hookar-BMRD9G9H.js +0 -0
  146. {cxb → dmart/cxb}/assets/immutable-json-patch-DtRO2E_S.js +0 -0
  147. {cxb → dmart/cxb}/assets/import-1vE3gBat.js +0 -0
  148. {cxb → dmart/cxb}/assets/index-B-eTh-ZX.js +0 -0
  149. {cxb → dmart/cxb}/assets/index-BVyxzKtH.js +0 -0
  150. {cxb → dmart/cxb}/assets/index-BdeNM69f.js +0 -0
  151. {cxb → dmart/cxb}/assets/index-C6cPO4op.js +0 -0
  152. {cxb → dmart/cxb}/assets/index-CC-A1ipE.js +0 -0
  153. {cxb → dmart/cxb}/assets/index-CTxJ-lDp.js +0 -0
  154. {cxb → dmart/cxb}/assets/index-Cd-F5j_k.js +0 -0
  155. {cxb → dmart/cxb}/assets/index-D742rwaM.js +0 -0
  156. {cxb → dmart/cxb}/assets/index-DTfhnhwd.js +0 -0
  157. {cxb → dmart/cxb}/assets/index-DdXRK7n9.js +0 -0
  158. {cxb → dmart/cxb}/assets/index-DtiCmB4o.js +0 -0
  159. {cxb → dmart/cxb}/assets/index-NBrXBlLA.css +0 -0
  160. {cxb → dmart/cxb}/assets/index-ac-Buu_H.js +0 -0
  161. {cxb → dmart/cxb}/assets/index-iYkH7C67.js +0 -0
  162. {cxb → dmart/cxb}/assets/info-B986lRiM.js +0 -0
  163. {cxb → dmart/cxb}/assets/intl-messageformat-Dc5UU-HB.js +0 -0
  164. {cxb → dmart/cxb}/assets/jmespath-l0sNRNKZ.js +0 -0
  165. {cxb → dmart/cxb}/assets/json-schema-traverse-l0sNRNKZ.js +0 -0
  166. {cxb → dmart/cxb}/assets/json-source-map-DRgZidqy.js +0 -0
  167. {cxb → dmart/cxb}/assets/jsonpath-plus-l0sNRNKZ.js +0 -0
  168. {cxb → dmart/cxb}/assets/jsonrepair-B30Dx381.js +0 -0
  169. {cxb → dmart/cxb}/assets/lodash-es-DZVAA2ox.js +0 -0
  170. {cxb → dmart/cxb}/assets/marked-DKjyhwJX.js +0 -0
  171. {cxb → dmart/cxb}/assets/marked-gfm-heading-id-U5zO829x.js +0 -0
  172. {cxb → dmart/cxb}/assets/marked-mangle-CDMeiHC6.js +0 -0
  173. {cxb → dmart/cxb}/assets/memoize-one-BdPwpGay.js +0 -0
  174. {cxb → dmart/cxb}/assets/natural-compare-lite-Bg2Xcf-o.js +0 -0
  175. {cxb → dmart/cxb}/assets/pagination-svelte-D5CyoiE_.js +0 -0
  176. {cxb → dmart/cxb}/assets/pagination-svelte-v10nAbbM.css +0 -0
  177. {cxb → dmart/cxb}/assets/plantuml-encoder-C47mzt9T.js +0 -0
  178. {cxb → dmart/cxb}/assets/prismjs-DTUiLGJu.js +0 -0
  179. {cxb → dmart/cxb}/assets/profile-BUf-tKMe.js +0 -0
  180. {cxb → dmart/cxb}/assets/query-CNmXTsgf.js +0 -0
  181. {cxb → dmart/cxb}/assets/queryHelpers-C9iBWwqe.js +0 -0
  182. {cxb → dmart/cxb}/assets/scroll-into-view-if-needed-KR58zyjF.js +0 -0
  183. {cxb → dmart/cxb}/assets/spaces-0oyGvpii.js +0 -0
  184. {cxb → dmart/cxb}/assets/style-mod-Bs6eFhZE.js +0 -0
  185. {cxb → dmart/cxb}/assets/svelte-B2XmcTi_.js +0 -0
  186. {cxb → dmart/cxb}/assets/svelte-awesome-COLlx0DN.css +0 -0
  187. {cxb → dmart/cxb}/assets/svelte-awesome-DhnMA6Q_.js +0 -0
  188. {cxb → dmart/cxb}/assets/svelte-datatables-net-CY7LBj6I.js +0 -0
  189. {cxb → dmart/cxb}/assets/svelte-floating-ui-BlS3sOAQ.js +0 -0
  190. {cxb → dmart/cxb}/assets/svelte-i18n-CT2KkQaN.js +0 -0
  191. {cxb → dmart/cxb}/assets/svelte-jsoneditor-BzfX6Usi.css +0 -0
  192. {cxb → dmart/cxb}/assets/svelte-jsoneditor-CUGSvWId.js +0 -0
  193. {cxb → dmart/cxb}/assets/svelte-select-CegQKzqH.css +0 -0
  194. {cxb → dmart/cxb}/assets/svelte-select-CjHAt_85.js +0 -0
  195. {cxb → dmart/cxb}/assets/tailwind-merge-CJvxXMcu.js +0 -0
  196. {cxb → dmart/cxb}/assets/tailwind-variants-Cj20BoQ3.js +0 -0
  197. {cxb → dmart/cxb}/assets/toast-B9WDyfyI.js +0 -0
  198. {cxb → dmart/cxb}/assets/tslib-pJfR_DrR.js +0 -0
  199. {cxb → dmart/cxb}/assets/typewriter-editor-DkTVIJdm.js +0 -0
  200. {cxb → dmart/cxb}/assets/user-DeK_NB5v.js +0 -0
  201. {cxb → dmart/cxb}/assets/vanilla-picker-l5rcX3cq.js +0 -0
  202. {cxb → dmart/cxb}/assets/w3c-keyname-Vcq4gwWv.js +0 -0
  203. {cxb → dmart/cxb}/config.json +0 -0
  204. {cxb → dmart/cxb}/config.sample.json +0 -0
  205. {cxb → dmart/cxb}/favicon.ico +0 -0
  206. {cxb → dmart/cxb}/favicon.png +0 -0
  207. {cxb → dmart/cxb}/index.html +0 -0
  208. {data_adapters → dmart/data_adapters}/__init__.py +0 -0
  209. {data_adapters → dmart/data_adapters}/adapter.py +0 -0
  210. {data_adapters → dmart/data_adapters}/base_data_adapter.py +0 -0
  211. {data_adapters → dmart/data_adapters}/file/__init__.py +0 -0
  212. {data_adapters → dmart/data_adapters}/file/adapter.py +0 -0
  213. {data_adapters → dmart/data_adapters}/file/adapter_helpers.py +0 -0
  214. {data_adapters → dmart/data_adapters}/file/archive.py +0 -0
  215. {data_adapters → dmart/data_adapters}/file/create_index.py +0 -0
  216. {data_adapters → dmart/data_adapters}/file/create_users_folders.py +0 -0
  217. {data_adapters → dmart/data_adapters}/file/custom_validations.py +0 -0
  218. {data_adapters → dmart/data_adapters}/file/drop_index.py +0 -0
  219. {data_adapters → dmart/data_adapters}/file/health_check.py +0 -0
  220. {data_adapters → dmart/data_adapters}/file/redis_services.py +0 -0
  221. {data_adapters → dmart/data_adapters}/helpers.py +0 -0
  222. {data_adapters → dmart/data_adapters}/sql/__init__.py +0 -0
  223. {data_adapters → dmart/data_adapters}/sql/adapter.py +0 -0
  224. {data_adapters → dmart/data_adapters}/sql/adapter_helpers.py +0 -0
  225. {data_adapters → dmart/data_adapters}/sql/create_tables.py +0 -0
  226. {data_adapters → dmart/data_adapters}/sql/create_users_folders.py +0 -0
  227. {data_adapters → dmart/data_adapters}/sql/db_to_json_migration.py +0 -0
  228. {data_adapters → dmart/data_adapters}/sql/health_check_sql.py +0 -0
  229. {data_adapters → dmart/data_adapters}/sql/json_to_db_migration.py +0 -0
  230. {data_adapters → dmart/data_adapters}/sql/update_query_policies.py +0 -0
  231. /data_generator.py → /dmart/data_generator.py +0 -0
  232. /dmart.py → /dmart/dmart.py +0 -0
  233. /get_settings.py → /dmart/get_settings.py +0 -0
  234. {languages → dmart/languages}/__init__.py +0 -0
  235. {languages → dmart/languages}/arabic.json +0 -0
  236. {languages → dmart/languages}/english.json +0 -0
  237. {languages → dmart/languages}/kurdish.json +0 -0
  238. {languages → dmart/languages}/loader.py +0 -0
  239. /main.py → /dmart/main.py +0 -0
  240. /migrate.py → /dmart/migrate.py +0 -0
  241. {models → dmart/models}/__init__.py +0 -0
  242. {models → dmart/models}/api.py +0 -0
  243. {models → dmart/models}/core.py +0 -0
  244. {models → dmart/models}/enums.py +0 -0
  245. /password_gen.py → /dmart/password_gen.py +0 -0
  246. {plugins → dmart/plugins}/__init__.py +0 -0
  247. {plugins → dmart/plugins}/action_log/__init__.py +0 -0
  248. {plugins → dmart/plugins}/action_log/plugin.py +0 -0
  249. {plugins → dmart/plugins}/admin_notification_sender/__init__.py +0 -0
  250. {plugins → dmart/plugins}/admin_notification_sender/plugin.py +0 -0
  251. {plugins → dmart/plugins}/ldap_manager/__init__.py +0 -0
  252. {plugins → dmart/plugins}/ldap_manager/plugin.py +0 -0
  253. {plugins → dmart/plugins}/local_notification/__init__.py +0 -0
  254. {plugins → dmart/plugins}/local_notification/plugin.py +0 -0
  255. {plugins → dmart/plugins}/realtime_updates_notifier/__init__.py +0 -0
  256. {plugins → dmart/plugins}/realtime_updates_notifier/plugin.py +0 -0
  257. {plugins → dmart/plugins}/redis_db_update/__init__.py +0 -0
  258. {plugins → dmart/plugins}/redis_db_update/plugin.py +0 -0
  259. {plugins → dmart/plugins}/resource_folders_creation/__init__.py +0 -0
  260. {plugins → dmart/plugins}/resource_folders_creation/plugin.py +0 -0
  261. {plugins → dmart/plugins}/system_notification_sender/__init__.py +0 -0
  262. {plugins → dmart/plugins}/system_notification_sender/plugin.py +0 -0
  263. {plugins → dmart/plugins}/update_access_controls/__init__.py +0 -0
  264. {plugins → dmart/plugins}/update_access_controls/plugin.py +0 -0
  265. /run_notification_campaign.py → /dmart/run_notification_campaign.py +0 -0
  266. /scheduled_notification_handler.py → /dmart/scheduled_notification_handler.py +0 -0
  267. /schema_migration.py → /dmart/schema_migration.py +0 -0
  268. /schema_modulate.py → /dmart/schema_modulate.py +0 -0
  269. /set_admin_passwd.py → /dmart/set_admin_passwd.py +0 -0
  270. /sync.py → /dmart/sync.py +0 -0
  271. {pytests → dmart/utils}/__init__.py +0 -0
  272. {utils → dmart/utils}/access_control.py +0 -0
  273. {utils → dmart/utils}/async_request.py +0 -0
  274. {utils → dmart/utils}/exporter.py +0 -0
  275. {utils → dmart/utils}/firebase_notifier.py +0 -0
  276. {utils → dmart/utils}/generate_email.py +0 -0
  277. {utils → dmart/utils}/helpers.py +0 -0
  278. {utils → dmart/utils}/hypercorn_config.py +0 -0
  279. {utils → dmart/utils}/internal_error_code.py +0 -0
  280. {utils → dmart/utils}/jwt.py +0 -0
  281. {utils → dmart/utils}/logger.py +0 -0
  282. {utils → dmart/utils}/middleware.py +0 -0
  283. {utils → dmart/utils}/notification.py +0 -0
  284. {utils → dmart/utils}/password_hashing.py +0 -0
  285. {utils → dmart/utils}/plugin_manager.py +0 -0
  286. {utils → dmart/utils}/query_policies_helper.py +0 -0
  287. {utils → dmart/utils}/regex.py +0 -0
  288. {utils → dmart/utils}/repository.py +0 -0
  289. {utils → dmart/utils}/router_helper.py +0 -0
  290. {utils → dmart/utils}/settings.py +0 -0
  291. {utils → dmart/utils}/sms_notifier.py +0 -0
  292. {utils → dmart/utils}/social_sso.py +0 -0
  293. {utils → dmart/utils}/templates/activation.html.j2 +0 -0
  294. {utils → dmart/utils}/templates/reminder.html.j2 +0 -0
  295. {utils → dmart/utils}/ticket_sys_utils.py +0 -0
  296. {utils → dmart/utils}/web_notifier.py +0 -0
  297. /websocket.py → /dmart/websocket.py +0 -0
  298. {dmart-1.4.35.dist-info → dmart-1.4.36.dist-info}/WHEEL +0 -0
@@ -0,0 +1,53 @@
1
+ include /etc/openldap/schema/core.schema
2
+ include /etc/openldap/schema/cosine.schema
3
+ include /etc/openldap/schema/inetorgperson.schema
4
+ #include /etc/openldap/schema/openldap.schema
5
+ #include /etc/openldap/schema/nis.schema
6
+ include /etc/openldap/schema/dmart.schema
7
+
8
+ #pidfile /var/lib/openldap/run/slapd.pid
9
+ #argsfile /var/lib/openldap/run/slapd.args
10
+
11
+ modulepath /usr/lib/openldap
12
+ moduleload back_mdb.so
13
+ #moduleload accesslog.so
14
+ # moduleload memberof.so
15
+
16
+ loglevel conns filter acl config stats stats2
17
+ # loglevel 0
18
+ disallow bind_anon
19
+
20
+ security ssf=1 update_ssf=112 simple_bind=64
21
+
22
+ # TLSCertificateFile /etc/ssl/ipa_imx_sh.crt
23
+ # TLSCertificateKeyFile /etc/ssl/private/ipa_imx_sh.key
24
+ # TLSCACertificateFile /etc/ssl/ipa_imx_sh.ca-bundle
25
+
26
+ # TLSCertificateFile /etc/openldap/certs/cert.pem
27
+ # TLSCertificateKeyFile /etc/openldap/certs/key.pem
28
+
29
+ access to *
30
+ by self write
31
+ by users read
32
+ by anonymous auth
33
+ by * none
34
+
35
+
36
+ database mdb
37
+ maxsize 1073741824
38
+ suffix "dc=dmart"
39
+ rootdn "cn=root,dc=dmart"
40
+ # Generate by running ... slappasswd -h {SSHA}
41
+ rootpw
42
+ # directory /var/lib/openldap/openldap-data
43
+ directory /var/lib/ldap
44
+ checkpoint 256 5
45
+ index objectClass eq
46
+ index cn eq,sub
47
+ #overlay accesslog
48
+ #logdb cn=log
49
+ #logops writes reads
50
+ #logold (objectclass=freexUser)
51
+ # overlay memberof
52
+
53
+
@@ -0,0 +1,13 @@
1
+ {
2
+ "shortname": "local_notification",
3
+ "is_active": true,
4
+ "filters": {
5
+ "subpaths": ["__ALL__"],
6
+ "resource_types": ["ticket", "reaction", "comment"],
7
+ "schema_shortnames": ["__ALL__"],
8
+ "actions": ["create", "update", "progress_ticket"]
9
+ },
10
+ "type": "hook",
11
+ "ordinal": 1,
12
+ "listen_time": "after"
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "shortname": "realtime_updates_notifier",
3
+ "is_active": true,
4
+ "filters": {
5
+ "subpaths": ["__ALL__"],
6
+ "resource_types": ["__ALL__"],
7
+ "schema_shortnames": ["__ALL__"],
8
+ "actions": ["create", "update", "delete", "progress_ticket", "attach", "move", "lock", "unlock"]
9
+ },
10
+ "type": "hook",
11
+ "listen_time": "after"
12
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "shortname": "redis_db_update",
3
+ "is_active": false,
4
+ "filters": {
5
+ "subpaths": ["__ALL__"],
6
+ "resource_types": ["content", "ticket", "permission", "role", "group", "user", "schema", "notification", "folder", "comment", "json", "lock", "media", "alteration", "Relationship"],
7
+ "schema_shortnames": ["__ALL__"],
8
+ "actions": ["create", "update", "delete", "move","progress_ticket"]
9
+ },
10
+ "type": "hook",
11
+ "ordinal": 2,
12
+ "listen_time": "after"
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "shortname": "resource_folders_creation",
3
+ "is_active": true,
4
+ "filters": {
5
+ "subpaths": ["__ALL__"],
6
+ "resource_types": ["user", "space"],
7
+ "schema_shortnames": ["__ALL__"],
8
+ "actions": ["create"]
9
+ },
10
+ "type": "hook",
11
+ "listen_time": "after"
12
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "shortname": "system_notification_sender",
3
+ "is_active": false,
4
+ "filters": {
5
+ "subpaths": ["__ALL__"],
6
+ "resource_types": ["__ALL__"],
7
+ "schema_shortnames": ["__ALL__"],
8
+ "actions": ["progress_ticket", "view", "create", "update", "delete", "attach", "move"]
9
+ },
10
+ "type": "hook",
11
+ "ordinal": 1,
12
+ "listen_time": "after"
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "shortname": "update_access_controls",
3
+ "is_active": true,
4
+ "filters": {
5
+ "subpaths": ["roles", "groups", "permissions", "users"],
6
+ "resource_types": ["group", "role", "permission", "user"],
7
+ "schema_shortnames": ["__ALL__"],
8
+ "actions": ["create", "update", "delete"]
9
+ },
10
+ "type": "hook",
11
+ "listen_time": "after"
12
+ }
dmart/publish.sh ADDED
@@ -0,0 +1,57 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ cd "$(dirname "$0")"
5
+
6
+ echo "Cleaning up dist/, build/, and temporary files..."
7
+ rm -rf dist/ build/ *.egg-info dmart info.json
8
+
9
+ echo "Building CXB..."
10
+ CXB_DIR="../cxb"
11
+ if [ -d "$CXB_DIR" ]; then
12
+ if [ -f "config.json" ]; then
13
+ cp "config.json" "$CXB_DIR/public/config.json"
14
+ elif [ -f "../config.json" ]; then
15
+ cp "../config.json" "$CXB_DIR/public/config.json"
16
+ elif [ ! -f "$CXB_DIR/public/config.json" ] && [ -f "$CXB_DIR/public/config.sample.json" ]; then
17
+ cp "$CXB_DIR/public/config.sample.json" "$CXB_DIR/public/config.json"
18
+ fi
19
+ pushd "$CXB_DIR"
20
+ yarn install
21
+ yarn build
22
+ popd
23
+
24
+ rm -rf cxb
25
+ cp -r "$CXB_DIR/dist/client" cxb
26
+ touch cxb/__init__.py
27
+ else
28
+ echo "CXB directory not found at $CXB_DIR"
29
+ exit 1
30
+ fi
31
+
32
+ echo "Installing dependencies..."
33
+ python3 -m pip install --upgrade pip build twine
34
+ python3 -m pip install .
35
+ if [ -d "requirements" ]; then
36
+ for req in requirements/*.txt; do
37
+ if [ -f "$req" ] && [[ "$req" != *"test.txt" ]]; then
38
+ python3 -m pip install -r "$req"
39
+ fi
40
+ done
41
+ fi
42
+
43
+ echo "Creating standalone bundle..."
44
+ python3 bundler.py
45
+
46
+ echo "Building dmart wheel and sdist..."
47
+ python3 -m build
48
+
49
+ rm -rf cxb
50
+ ln -s "../cxb/dist/client" cxb
51
+
52
+ if [ -f "dmart" ]; then
53
+ mv dmart dist/
54
+ fi
55
+
56
+ echo "Uploading to PyPI..."
57
+ twine upload --non-interactive dist/*.whl
dmart/pylint.sh ADDED
@@ -0,0 +1,16 @@
1
+ #!/bin/bash
2
+
3
+ declare -i RESULT=0
4
+ export PYRIGHT_PYTHON_FORCE_VERSION=latest
5
+ echo "Pyright ..."
6
+ python -m pyright .
7
+ RESULT+=$?
8
+ echo "Ruff ..."
9
+ python -m ruff check --exclude pytests --exclude alembic .
10
+ RESULT+=$?
11
+ echo "Mypy ..."
12
+ python -m mypy --explicit-package-bases --warn-return-any --check-untyped-defs --exclude loadtest --exclude pytests --exclude alembic .
13
+ RESULT+=$?
14
+
15
+ echo "Result : $RESULT"
16
+ exit $RESULT
@@ -0,0 +1,7 @@
1
+ {
2
+ "exclude": [
3
+ "alembic",
4
+ "loadtest",
5
+ "pytests"
6
+ ]
7
+ }
@@ -0,0 +1,13 @@
1
+ REDIS_HOST="$(./get_settings.py | jq -r .redis_host)"
2
+ RESULT+=$?
3
+ REDIS_PORT="$(./get_settings.py | jq -r .redis_port)"
4
+ RESULT+=$?
5
+ REDIS_PASSWORD="$(./get_settings.py | jq -r .redis_password)"
6
+ [ -z $REDIS_PASSWORD ] || REDIS_PASSWORD="--no-auth-warning -a $REDIS_PASSWORD"
7
+
8
+ while true
9
+ do
10
+ redis-cli -h ${REDIS_HOST} -p ${REDIS_PORT} ${REDIS_PASSWORD} info | grep connected_clients
11
+ redis-cli -h ${REDIS_HOST} -p ${REDIS_PORT} ${REDIS_PASSWORD} info | grep blocked_clients
12
+ sleep 1
13
+ done
dmart/reload.sh ADDED
@@ -0,0 +1,56 @@
1
+ #!/bin/bash
2
+
3
+ declare -i RESULT=0
4
+ source ./login_creds.sh
5
+ RESULT+=$?
6
+ CHECK_MODE="$(./get_settings.py | jq -r .active_data_db)"
7
+
8
+ RESULT+=$?
9
+ PORT="$(./get_settings.py | jq -r .listening_port)"
10
+ RESULT+=$?
11
+ # APP_URL="$(./get_settings.py | jq -r .app_url)"
12
+ APP_URL="http://localhost:$PORT"
13
+
14
+ if [[ "$CHECK_MODE" == "file" ]]; then
15
+ REDIS_HOST="$(./get_settings.py | jq -r .redis_host)"
16
+ RESULT+=$?
17
+ REDIS_PORT="$(./get_settings.py | jq -r .redis_port)"
18
+ RESULT+=$?
19
+ REDIS_PASSWORD="$(./get_settings.py | jq -r .redis_password)"
20
+ [ -z $REDIS_PASSWORD ] || REDIS_PASSWORD="--no-auth-warning -a $REDIS_PASSWORD"
21
+ time ./create_index.py --flushall
22
+ RESULT+=$?
23
+ fi
24
+
25
+ (which systemctl > /dev/null && systemctl --user list-unit-files dmart.service > /dev/null && systemctl --user restart dmart.service) || \
26
+ ( [[ -x "/etc/init.d/dmart" ]] && /etc/init.d/dmart restart )
27
+ RESULT+=$?
28
+ sleep 2
29
+ # RESP=$(curl --write-out '%{http_code}' --silent --output /dev/null "${APP_URL}")
30
+ RESP="000"
31
+ COUNTER=0
32
+ while [ $RESP -ne "200" ]; do
33
+ sleep 1
34
+ COUNTER=$((COUNTER+1))
35
+ echo "Waiting for the server to come up ${RESP} ${COUNTER} seconds"
36
+ RESP=$(curl --write-out '%{http_code}' --silent --connect-timeout 0.5 --output /dev/null "${APP_URL}")
37
+ [[ $COUNTER -ge 30 ]] && break
38
+ done
39
+ sleep 2
40
+
41
+ TOKEN=$(curl -s "${APP_URL}/user/login" -H 'Content-Type: application/json' -d "${SUPERMAN}" | jq -r '.records[0].attributes.access_token')
42
+ curl -s -H "Authorization: Bearer ${TOKEN}" -H "$CT" $APP_URL/user/profile | jq -r '.status'
43
+ RESULT+=$?
44
+
45
+ sleep 1
46
+ curl -s -H "Authorization: Bearer ${TOKEN}" "${APP_URL}/user/profile" | jq '.records[0].attributes.roles'
47
+ RESULT+=$?
48
+ if [[ "$CHECK_MODE" == "file" ]]; then
49
+ sleep 1
50
+ redis-cli -h ${REDIS_HOST} -p ${REDIS_PORT} ${REDIS_PASSWORD} JSON.GET users_permissions_dmart | jq -R '.|fromjson|keys|length'
51
+ # RESULT+=$?
52
+ fi
53
+
54
+
55
+ echo "Sum of exist codes = $RESULT"
56
+ exit $RESULT
dmart/run.sh ADDED
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ python -m hypercorn main:app --config file:utils/hypercorn_config.py
dmart/test_utils.py ADDED
@@ -0,0 +1,34 @@
1
+ from fastapi import status
2
+
3
+
4
+ def check_repeated_shortname(response):
5
+ json_response = response.json()
6
+ assert response.status_code == status.HTTP_400_BAD_REQUEST
7
+ assert "failed" == json_response.get("status")
8
+ assert "request" == json_response.get("error", {}).get("type")
9
+
10
+
11
+ def check_not_found(response):
12
+ json_response = response.json()
13
+ assert response.status_code == status.HTTP_404_NOT_FOUND
14
+ assert "failed" == json_response.get("status")
15
+ assert "db" == json_response.get("error").get("type")
16
+
17
+
18
+ def check_unauthorized(response):
19
+ json_response = response.json()
20
+ assert response.status_code == status.HTTP_401_UNAUTHORIZED
21
+ assert "failed" == json_response.get("status")
22
+ assert "auth" == json_response.get("error", {}).get("type")
23
+
24
+
25
+ def assert_code_and_status_success(response):
26
+ if response.status_code != status.HTTP_200_OK:
27
+ print(
28
+ "\n\n\n\n\n========================= ERROR RESPONSE: =========================n:",
29
+ response.json(),
30
+ "\n\n\n\n\n",
31
+ )
32
+ assert response.status_code == status.HTTP_200_OK
33
+ json_response = response.json()
34
+ assert json_response["status"] == "success"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dmart
3
- Version: 1.4.35
3
+ Version: 1.4.36
4
4
  Requires-Python: >=3.11
5
5
  Requires-Dist: fastapi
6
6
  Requires-Dist: pydantic
@@ -0,0 +1,285 @@
1
+ dmart/__init__.py,sha256=6kkw0Ru1U8rJ39QYAgU1PQ-e1wDnCNbk5qpdMd2O5pk,237
2
+ dmart/alembic.ini,sha256=wQweByyHQm-EI8BQkE0SHNRjULJ6Xn5jqgvv88IT5Sg,3738
3
+ dmart/bundler.py,sha256=so8ZJResb1PcOH5vboa_mpFAdYr_T8u8DbbFXd570Lg,1704
4
+ dmart/config.env.sample,sha256=CKd4KIBeUatoFcO2IefmrVNBohpaVMQMFcoPkNBvCeI,696
5
+ dmart/conftest.py,sha256=0ry_zeCmdBNLbm5q115b-pkOrUFYxdsOUXbIMkr7E5Y,362
6
+ dmart/curl.sh,sha256=lmHSFVr5ft-lc5Aq9LfvKyWfntrfYbnirhzx1EGjp_A,15743
7
+ dmart/data_generator.py,sha256=CnE-VHEeX7-lAXtqCgbRqR9WHjTuOgeiZcviYrHAmho,2287
8
+ dmart/dmart.py,sha256=Lho5lhQN_xmLeoR5_lXpavCNHGvt2ktazjEk056JkFE,22028
9
+ dmart/get_settings.py,sha256=Sbe2WCoiK398E7HY4SNLfDN_GmE8knR4M-YJWF31jcg,153
10
+ dmart/hypercorn_config.toml,sha256=-eryppEG8HBOM_KbFc4dTQePnpyfoW9ZG5aUATU_6yM,50
11
+ dmart/info.json,sha256=hXQWl19lfMkEj_zXdehGeKjiKGNJ7emY4S7d4pIqJ1E,123
12
+ dmart/login_creds.sh,sha256=Aht1LwL11uzR13sa8p3BdeUCprIa9tq0vzOoplJjH5U,235
13
+ dmart/login_creds.sh.sample,sha256=Sb43HNNn1g11rrJrtDsPgAxcXu3_wJvdNn--8S62dTE,227
14
+ dmart/main.py,sha256=b7rsovH-OM9ZwzSEi6uycZuAz-UwcY_0fekqj5_NkGQ,19805
15
+ dmart/manifest.sh,sha256=K3mY5MsUlrTyHa5cARslkShegvXh-UeqJcE2UZobdrE,544
16
+ dmart/migrate.py,sha256=hn1MZoVby_Jjqhc7y3CrLcGD619QmVZv3PONNvO7VKQ,665
17
+ dmart/password_gen.py,sha256=xjx8wi105ZYvhLBBQj7_rugACpxifGXHse6f7YlGXWQ,196
18
+ dmart/publish.sh,sha256=96rXtBDlw-eo0Ofnrab90V_N5fLvdsw6Q0BPtBAn9hQ,1378
19
+ dmart/pylint.sh,sha256=xcYe-Qsn7DGzzs8iAToamnJgpCefEOirfi30Vf-VAt4,413
20
+ dmart/pyrightconfig.json,sha256=CLXpRrbfgDV4IiM6X4nC8wf7Vj1RtjbMY1wUMifhIiI,68
21
+ dmart/redis_connections.sh,sha256=469WYn-p_v0qTlGARQPmRPJICttcp7z39Z0yFX0uJwo,517
22
+ dmart/reload.sh,sha256=eRDEZKYmm6mlZva5vK4XkxSiyiFFSPj4M774unhmrz8,1873
23
+ dmart/run.sh,sha256=pEFUMdxlA9LuereulkDRgVbR0BiMqcgND_Tdn0GOers,80
24
+ dmart/run_notification_campaign.py,sha256=ZCvHfaimK4W6q4XuHs2r6wavMGipYYw4aUkNlxmGUd8,2652
25
+ dmart/scheduled_notification_handler.py,sha256=m26TryqHuvXR5PUPvzY9nFnpJpfbsuRjc_Q6wHdxvE8,4643
26
+ dmart/schema_migration.py,sha256=a1w3c-fSm95MVWFzobgy0AxIbhbzMDSfD46easTmwKE,6132
27
+ dmart/schema_modulate.py,sha256=vB7NxvqghqNpFe__p0ll03WsvNftzxBbQ6UXB2UfxNU,6454
28
+ dmart/set_admin_passwd.py,sha256=Ei8wnoJ_UDHIXmMb-E_dd_NqyM6Gt5AgJPJ4fAxARXI,1950
29
+ dmart/sync.py,sha256=FlmubtlnFaxtZkbRV1-eyS_Sx5KBRvWyIZjvd0Tiar4,7339
30
+ dmart/test_utils.py,sha256=5DAS0PzPkkLYDZY-zMraz6blb97rH8qcGT_bwktKtpQ,1188
31
+ dmart/websocket.py,sha256=Q8WUTvOTBHKP5xy5wim8yn0t-BfjrPwx7J_6vbzAm1A,7576
32
+ dmart/alembic/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
33
+ dmart/alembic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ dmart/alembic/env.py,sha256=z12UKhorKSOKEovOCQOwRjfR_tup4VeRlhcB1UPk3Xw,2700
35
+ dmart/alembic/notes.txt,sha256=X7LYSNmulLRiAUXvw07Z85bSGRTnx4NUpoNC9D2DfO8,395
36
+ dmart/alembic/script.py.mako,sha256=u-ABdYW1tcIILgJFJdQZYLxoAI8Awd6wZbx30rY6fxU,680
37
+ dmart/alembic/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ dmart/alembic/scripts/calculate_checksums.py,sha256=v2NLEvReA9V3noJE-BWANgKDdhc8Mqg1ZmJJ8nc8sGI,3443
39
+ dmart/alembic/scripts/migration_f7a4949eed19.py,sha256=oUXuxjU4MbVafm4S-xu5J_4apHqW6hQZ8ftpJtCtM28,1462
40
+ dmart/alembic/versions/0f3d2b1a7c21_add_authz_materialized_views.py,sha256=70vrPfhMHVHhw1l7KNQpvCUU76XZfvGcPlrXOeU4FHU,2599
41
+ dmart/alembic/versions/10d2041b94d4_last_checksum_history.py,sha256=FYjyzE5Xi6bn9LUtxLKFnQOKhg4GZOrTkpqtmlCnY6Y,2860
42
+ dmart/alembic/versions/1cf4e1ee3cb8_ext_permission_with_filter_fields_values.py,sha256=taaFTkTaFfLfj7QUUfIdcojvbOdjut_dWtrIvQUN7-4,921
43
+ dmart/alembic/versions/26bfe19b49d4_rm_failedloginattempts.py,sha256=-Roftn8OSUz7kfR3yMI02rulyvnH46W0WpJfDQ5xAdk,1471
44
+ dmart/alembic/versions/3c8bca2219cc_add_otp_table.py,sha256=f-YSxx1iLA0iHWukq1VnngFmiiYQyEzowicox0-wtbY,1125
45
+ dmart/alembic/versions/6675fd9dfe42_remove_unique_from_sessions_table.py,sha256=yP40IHwtzFAAUid_VeeCkt_9F2RszMYBjNKx2mDTKNw,1037
46
+ dmart/alembic/versions/71bc1df82e6a_adding_user_last_login_at.py,sha256=LINO2hWUEFmsTspupd8AxgUS6tNJFNgGC5do1QPMQ1E,1486
47
+ dmart/alembic/versions/74288ccbd3b5_initial.py,sha256=hZ1w5mqVKSO13J1O4zcTccDJBk2c-cmIB0AUx1KLlLI,13988
48
+ dmart/alembic/versions/7520a89a8467_rm_activesession_table.py,sha256=4VYv9tCXkTQNaXPVvjdsKTiw093KkBBUHNSiWdZtqtA,1305
49
+ dmart/alembic/versions/848b623755a4_make_created_nd_updated_at_required.py,sha256=o106xd-apT8ZAXdVCjX76o7VuqRQNkIl0V4f41m5j2E,5375
50
+ dmart/alembic/versions/8640dcbebf85_add_notes_to_users.py,sha256=XjfW2Lc0-xoRGB2qfdzDstw7Caaev6JhqRNYV_sIqgc,813
51
+ dmart/alembic/versions/91c94250232a_adding_fk_on_owner_shortname.py,sha256=F9FDF2qyeqvOx1gkYq5HQMkVCH1QrXciYSHVxijsSSU,4024
52
+ dmart/alembic/versions/98ecd6f56f9a_ext_meta_with_owner_group_shortname.py,sha256=S466VE3jsxXDEpTKyhIN06uutM0jI7zYHTWIYvU_pJw,2579
53
+ dmart/alembic/versions/9aae9138c4ef_indexing_created_at_updated_at.py,sha256=xrqfJB5cER0PYi1torwkgsbBBjDeeM6dyj4pu-quphk,3662
54
+ dmart/alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ dmart/alembic/versions/b53f916b3f6d_json_to_jsonb.py,sha256=LPnevQjbjs0KrwqxYHtGUC6mSBBsUpiCBnwD-FN2x50,24840
56
+ dmart/alembic/versions/eb5f1ec65156_adding_user_locked_to_device.py,sha256=Z9skCus52jg_xV5a7JVYK3IenNlvsdMKIFf1H5POst0,1030
57
+ dmart/alembic/versions/f7a4949eed19_adding_query_policies_to_meta.py,sha256=LA4rx3u0Ei5m4OcSsVYHBsGMeKOJdx8G88yK1kBLFys,2307
58
+ dmart/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ dmart/api/info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ dmart/api/info/router.py,sha256=sQZZor7A-uDzsJX39aqEA7bMZOJ-WTitYeFvVNWfaHw,3938
61
+ dmart/api/managed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ dmart/api/managed/router.py,sha256=0xfJ3NXV3XHyG8yWLEECBJt-XppymOxYuMDvQJdO1MI,50865
63
+ dmart/api/managed/utils.py,sha256=IqgFVHVfNubYOx5i9YoQjVqbUbaveIrqfOfTFvV42BA,74227
64
+ dmart/api/public/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
+ dmart/api/public/router.py,sha256=TrraWs2LGL_c_JRDbvS8OHm3fJ-ZKF7o4El7wvjV4Mk,24753
66
+ dmart/api/qr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
+ dmart/api/qr/router.py,sha256=Ru7UT_iQS6mFwE1bCPPrusSQfFgoV_u6pjZJ0gArE7g,3870
68
+ dmart/api/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
+ dmart/api/user/router.py,sha256=B59HQPwmwgEfYIlF3_XBNaVBlT4PWqMJiUlUvEN69Vo,51719
70
+ dmart/api/user/service.py,sha256=-iQpcBVPTDiLE_xOf87Ni0oSQDtmALAXEwU4IgSvnJk,8463
71
+ dmart/api/user/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ dmart/api/user/model/errors.py,sha256=rhcIcbAIk_7rs5lxdgcsf7SWFGmC9QLsgc67x7S6CKA,299
73
+ dmart/api/user/model/requests.py,sha256=MazMirg7wQoUm4qvnm_EAB_gJIy3YxvYYqNyU3fZJc0,5025
74
+ dmart/api/user/model/responses.py,sha256=0vbigspq_aBd1JS6hEm13BnG7Hm7EIiWBZ6xz3d5hmE,202
75
+ dmart/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ dmart/config/channels.json,sha256=GepystGi0h_1fuakC_gdIc-YYxyy-a4TI619ygIpyyM,156
77
+ dmart/config/notification.json,sha256=esrOaMUIqfcCHB0Tawp3t4cu7DQAA15X12OS-Gyenb0,361
78
+ dmart/cxb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ dmart/cxb/config.json,sha256=WvhCcnJ9-uQ2raPuRBRSGO3iD7Hcaf8Cy49EXUu3KQw,358
80
+ dmart/cxb/config.sample.json,sha256=fTYLbnTiUdbT_F7rcwI7CLSZ_KoX8EflfuyswRGW2x0,355
81
+ dmart/cxb/favicon.ico,sha256=CD2FYyYYFNAbH7lGPnM5-2asMmhf-kwitAp99Kh0Wmc,4286
82
+ dmart/cxb/favicon.png,sha256=gbSWS2UiKrUcy5Jt4gcncDrE5yvfAS00OgYzdNxPxlk,4164
83
+ dmart/cxb/index.html,sha256=J_7uaGXP02rNLSvJ4Poyr5G7TZt8W0Br-EWQlYEeXi0,1622
84
+ dmart/cxb/assets/@codemirror-Rn7_6DkE.js,sha256=lE9KsREWfszCrh0SBu7CKi3k1OiDzBrIeNO_S5PYRcM,342674
85
+ dmart/cxb/assets/@edraj-CS4NwVbD.js,sha256=zndm--w-VH0vIAjb2K_MHp5oSC-khzxT8Evj1Dl_2-c,9293
86
+ dmart/cxb/assets/@floating-ui-BwwcF-xh.js,sha256=K4lsJw_hrkV0vq1uguBTS_GxONRbsFtlBjX4pagaOwg,17129
87
+ dmart/cxb/assets/@formatjs-yKEsAtjs.js,sha256=bwa2AS3AZNFoUsMafb6wKHA15W9GldY3Kt61ZObX02U,33632
88
+ dmart/cxb/assets/@fortawesome-DRW1UCdr.js,sha256=XxmEJ7SxFU5lm4fFq2B0t6oAFpvInLfZbwrds7T9kM8,18810
89
+ dmart/cxb/assets/@jsonquerylang-laKNoFFq.js,sha256=z3m86cWxHoliU-BL-mn-U7ob8B1cV1lzyC-Q7DITo2w,8464
90
+ dmart/cxb/assets/@lezer-za4Q-8Ew.js,sha256=6kTYHAkwA6DYI_m9taUHq0iqetL5AbmBt43KB0s2Pxg,54631
91
+ dmart/cxb/assets/@marijn-DXwl3gUT.js,sha256=ONjPnhK4okY91E_qSZTqZuKrYU97xaqPdt5Vde2cgcI,2312
92
+ dmart/cxb/assets/@popperjs-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
93
+ dmart/cxb/assets/@replit--ERk53eB.js,sha256=w2wSGTctSSsvB0PLKCbBVJUc4LRqyXbAFfApDw8DrPI,4586
94
+ dmart/cxb/assets/@roxi-CGMFK4i8.js,sha256=a9e-nCrgDd2UQieodqFb8O1oMsoJ9GGg9pZ2pFG7vSE,49989
95
+ dmart/cxb/assets/@typewriter-cCzskkIv.js,sha256=kyXdd1BwqHKx7CIB8Up_1AblBsI5ViLxkwjWN-bzcfw,21047
96
+ dmart/cxb/assets/@zerodevx-BlBZjKxu.js,sha256=u3olMch61ywj4FnmXTSswD1myRH_rHI0dQMCNogCAH0,3883
97
+ dmart/cxb/assets/@zerodevx-CVEpe6WZ.css,sha256=BkcVDS4u4ljfIXhn6xv4h5Pld01evCI_ebMKCxpK8i4,1976
98
+ dmart/cxb/assets/BreadCrumbLite-DAhOx38v.js,sha256=_zhm_Sls-tayWdYobXeXCA6uxNSrVsLnAhfyPCTyHH8,1949
99
+ dmart/cxb/assets/EntryRenderer-25YDhRen.js,sha256=iUbBmlD02BkiMNjS68jt8sHtzVnwAsuvadVDXBwVBS8,64047
100
+ dmart/cxb/assets/EntryRenderer-DXytdFp9.css,sha256=8J5fh7_foC06CVV6Qk7UYvxXKqTrFOqQ4isbyJ-gABY,496
101
+ dmart/cxb/assets/ListView-BpAycA2h.js,sha256=MKEI90xQ07Cmyo6KuJLR7yxOi5CQt0cpU7kCwTMxtVM,134226
102
+ dmart/cxb/assets/ListView-U8of-_c-.css,sha256=sPIUBfAsMEwhNqvGgGf_oD09XUR5hT8PWk_OtVEwMgI,1288
103
+ dmart/cxb/assets/Prism--hMplq-p.js,sha256=wzk_GRGPAnTHIenvdCuh_qqHFCeCKco2OCoFinBUesw,587
104
+ dmart/cxb/assets/Prism-Uh6uStUw.css,sha256=_wHCkOjMWX__hXLr6MjadiXCj2dBxIQFAhkSLAhHwSA,6165
105
+ dmart/cxb/assets/Table2Cols-BsbwicQm.js,sha256=w6w37qzrdh3f-8waIUDnwPk0MDa8dJBrrG0Z3A8uAAk,1410
106
+ dmart/cxb/assets/_..-BvT6vdHa.css,sha256=u-3Pj3A2tQeUNBIItE_qki2Lk4GBISmHRs7957cGP30,275
107
+ dmart/cxb/assets/_...404_-fuLH_rX9.js,sha256=9oGBvAECq9eMcTAZG-cznYAXcM2WaBu4G5wPoTt53uY,684
108
+ dmart/cxb/assets/_...fallback_-Ba_NLmAE.js,sha256=leHVZijlVjIaqzYUCCTIFDFrFsVcS2NsxgVTW58OhBg,123
109
+ dmart/cxb/assets/_module-Bfk8MiCs.js,sha256=Zh6tAXTmBj4kvrs5ojFFC6N45pasJviz6lHz5TEy3as,3793
110
+ dmart/cxb/assets/_module-CEW0D5oI.js,sha256=B2uyRT7DxaK10V58YhhQNZtV-8bkmV9EbAK6WZhHwgw,7899
111
+ dmart/cxb/assets/_module-Dgq0ZVtz.js,sha256=-_CkmFKVsif9U2B0uVLfmXuDp3GJS2iY4sAP1y_2rvQ,11226
112
+ dmart/cxb/assets/ajv-Cpj98o6Y.js,sha256=liU3m63UhJYQ3-bBVFPN8MAHEmTJDu8Xcwf6wJTSqmw,236
113
+ dmart/cxb/assets/axios-CG2WSiiR.js,sha256=URKIJZfepkPrQwK1aPXLhg4f5cGLhk6c0tVUS5eFFB0,36287
114
+ dmart/cxb/assets/clsx-B-dksMZM.js,sha256=x7hDvCu6RhEQ5d35FtnEAYCjg4BM5zZYcw7EblGW0v0,374
115
+ dmart/cxb/assets/codemirror-wrapped-line-indent-DPhKvljI.js,sha256=kn9kuXsyPkjimYpjkc3KyXSOral3p4v3gbQw5SbNMMY,1591
116
+ dmart/cxb/assets/compare-C3AjiGFR.js,sha256=L2wU3DxEeQq-gheMWChs4IX2Las1HLWxAF4HWcpvSZo,8744
117
+ dmart/cxb/assets/compute-scroll-into-view-Bl8rNFhg.js,sha256=5DonV_EZ7Iwbtu8sT17P3aoourk-WRBAdlAsaNh_mDA,2943
118
+ dmart/cxb/assets/consolite-DlCuI0F9.js,sha256=oSh3Gbte0Iogkiczrf8Ei0pWKu75WAakY33Z9Kix7GA,3079
119
+ dmart/cxb/assets/crelt-C8TCjufn.js,sha256=v5UZ6-BdG7hN-EZniG3z0-gaMx1rOdzsjqIiNrRUp8s,623
120
+ dmart/cxb/assets/date-fns-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
121
+ dmart/cxb/assets/deepmerge-rn4rBaHU.js,sha256=mq9vJj-3sJY_n_VL9dyNkcgD9eD-F7d0vuka-mPJUnY,1675
122
+ dmart/cxb/assets/dmart_services-AL6-IdDE.js,sha256=RyyNwg7hpN4eTONXb4NOoQ9QTDx5meSSuSMprYkk7m8,1783
123
+ dmart/cxb/assets/downloadFile-D08i0YDh.js,sha256=pdNEGMBhyU01Y_vVX1OEzxWC7Ktg0T2vwW6VfdYjf0Q,247
124
+ dmart/cxb/assets/easy-signal-BiPFIK3O.js,sha256=2J65d_BBehKW7Hb64qwX3iCZDes2LsAjYlsRHuJTEHc,108
125
+ dmart/cxb/assets/esm-env-rsSWfq8L.js,sha256=scv4WZ555272218bU3lLaHkEQ7dl-wFrvbn0MlQAqKA,27
126
+ dmart/cxb/assets/export-OF_rTiXu.js,sha256=VjmlbOOhE2eGtbPQSbaz395EFtoMJLThpTtFze7Hcf8,4146
127
+ dmart/cxb/assets/fast-deep-equal-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
128
+ dmart/cxb/assets/fast-diff-C-IidNf4.js,sha256=3QejtPCU1VzP2FM7RY5yFvp4QseK438MIrhUa33u7ko,7785
129
+ dmart/cxb/assets/fast-uri-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
130
+ dmart/cxb/assets/flowbite-svelte-BLvjb-sa.js,sha256=vRreerVWabyzTubQPDBuxDvgV7M8RlDWIKocxzMQiQ0,245889
131
+ dmart/cxb/assets/flowbite-svelte-CD54FDqW.css,sha256=n1HDAUq6e-IogOmdk3gYW4E8TK-yE3Gh8wgp5FdOn90,63
132
+ dmart/cxb/assets/flowbite-svelte-icons-BI8GVhw_.js,sha256=cp8Lg64HqWR8_4XS3q4xOAV3hztu4BsJPBhgysMRTtU,80766
133
+ dmart/cxb/assets/github-slugger-CQ4oX9Ud.js,sha256=1sye3A-ozGOvdFYnerReUKpwwAeCjBilw-ZMIbxgRAI,8573
134
+ dmart/cxb/assets/global-igKv-1g9.js,sha256=9AnwcOz6vUYKXcaBuqOCag8rxRCSVDwmIHG8irKBIUM,347
135
+ dmart/cxb/assets/hookar-BMRD9G9H.js,sha256=_Dzjp-0cmaseuT5CcILxOLX5a4QsMWHgS3bcAC5oH64,519
136
+ dmart/cxb/assets/immutable-json-patch-DtRO2E_S.js,sha256=I1LmEOX8J21wFhrrAtIV6svx32i-j5TJpso1CpzEEik,5600
137
+ dmart/cxb/assets/import-1vE3gBat.js,sha256=9T_SMx38Y7DXPtMi72n0LBsPbMPvlkQquZ3zOEp7zQk,3106
138
+ dmart/cxb/assets/index-B-eTh-ZX.js,sha256=SoqSuq7zLpebuTstKO5Tfwz3fNEnbgzdMHJnLV8RCHQ,9824
139
+ dmart/cxb/assets/index-BVyxzKtH.js,sha256=BoEJccSRRZecpdEomQSlNGAVVp6CEEkuz1xUVWXKORk,6015
140
+ dmart/cxb/assets/index-BdeNM69f.js,sha256=gkNccueAx5s9vUKp3ZE31Xg2wL4xfipeQ73y27N-61c,2035
141
+ dmart/cxb/assets/index-C6cPO4op.js,sha256=o_KVUiHGFlCJN96xkRu9orzLdrYUVTn_nJy9M0SQKrM,3621
142
+ dmart/cxb/assets/index-CC-A1ipE.js,sha256=dfVwbYUl2GzaPaRcm9bvcm3c0bi8WQj9RsSYaZneH2w,412
143
+ dmart/cxb/assets/index-CTxJ-lDp.js,sha256=CMXV0Oe3QRi4ITetl3tspH_h_4Wv8cG17-3V0PSN-2s,2821
144
+ dmart/cxb/assets/index-Cd-F5j_k.js,sha256=3a3gWjjYVTv16DAeDvUZPwFIqSXU13aVefFTWGLUx7E,3250
145
+ dmart/cxb/assets/index-D742rwaM.js,sha256=ivvY4EhQ0-ADpy1fu8TQtZuS6Qe707-SWWRWY-FWYJg,3381
146
+ dmart/cxb/assets/index-DTfhnhwd.js,sha256=YKLsTYhS7k2f1QwXRCyYdRn2vB_mwzsqinT1of7dcnc,354
147
+ dmart/cxb/assets/index-DdXRK7n9.js,sha256=UkW9YuMZ0_hZ3q9llWmO0UpkP4qNmXYMl1lLqmmZwQE,4047
148
+ dmart/cxb/assets/index-DtiCmB4o.js,sha256=nv7dVMmo1vex5ih5mMC9MNLLMGuCmy_ktOa1j4rXQ0M,1976
149
+ dmart/cxb/assets/index-NBrXBlLA.css,sha256=2mHbGZHluiEeZiiiubPFD2dGd6eL59WUa2qV8eSQqXs,376846
150
+ dmart/cxb/assets/index-ac-Buu_H.js,sha256=3tSelUaTXqOQbjivh39F9R8AoTY-PvFD4uGbFU_eEeQ,33755
151
+ dmart/cxb/assets/index-iYkH7C67.js,sha256=BFI8j9CqWYj8gKyfGZZp7dIrqoA7-Bnd9Za1-mTiLG0,3498
152
+ dmart/cxb/assets/info-B986lRiM.js,sha256=28efQ_ywUNQ5Od__oXFskmVy9ZWR48DgnuNs1bvoqlg,2226
153
+ dmart/cxb/assets/intl-messageformat-Dc5UU-HB.js,sha256=-5X21qzJD7TmWO2-DWDdxF8tql-Xdcq2QoUkBY54G00,6630
154
+ dmart/cxb/assets/jmespath-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
155
+ dmart/cxb/assets/json-schema-traverse-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
156
+ dmart/cxb/assets/json-source-map-DRgZidqy.js,sha256=2MWN6aGupPEd3Uk0Nki7JeURX8opsBCdC36BuxJRakI,4281
157
+ dmart/cxb/assets/jsonpath-plus-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
158
+ dmart/cxb/assets/jsonrepair-B30Dx381.js,sha256=HddBNX0dIMqRHTFT0VtfF33a4JgvMp9iCDYFWs9YGZs,6639
159
+ dmart/cxb/assets/lodash-es-DZVAA2ox.js,sha256=BvwNIFkh9lENGWunPRiHX9XxWJXVp17TiHEkaLLRpn0,25088
160
+ dmart/cxb/assets/marked-DKjyhwJX.js,sha256=qbydVfDQQTzCnxUXxgsroNwJZCzaf9QONfBPKmyOeEA,39673
161
+ dmart/cxb/assets/marked-gfm-heading-id-U5zO829x.js,sha256=237Q2hAeDNj3MAUeB3oQUy8Ov7oOYvvYprp2mt-HOU4,725
162
+ dmart/cxb/assets/marked-mangle-CDMeiHC6.js,sha256=WGaJNWouxQQExqwUZC5Dw3XvdVWQYHvEWXBtKXDDFHY,420
163
+ dmart/cxb/assets/memoize-one-BdPwpGay.js,sha256=jk5sfhm07ZMGDqLT1jqe27nsey2DIPbINp8U4bgP_QI,522
164
+ dmart/cxb/assets/natural-compare-lite-Bg2Xcf-o.js,sha256=9R5eHr3vTw4igb95odBTQ39r5ae-JGESqt0JQ27a1xc,808
165
+ dmart/cxb/assets/pagination-svelte-D5CyoiE_.js,sha256=-ppq9Dg-3wFdxmloAwaxmU4jU1HaypcXHo4OS6Dkk4s,4380
166
+ dmart/cxb/assets/pagination-svelte-v10nAbbM.css,sha256=7FtgdLOx-Wq4-TyF8CDDro2NF6jJwaNxbP3VI4g5uYI,3585
167
+ dmart/cxb/assets/plantuml-encoder-C47mzt9T.js,sha256=dpoe9r1lJmN-rbN-TAv2JnFgdWrFqExHUKs4JspxM7M,53041
168
+ dmart/cxb/assets/prismjs-DTUiLGJu.js,sha256=Nd_QmO8yEdbvZkliAEJjqktd3pFsLRRwJQt-Sd_pqXo,25847
169
+ dmart/cxb/assets/profile-BUf-tKMe.js,sha256=Ye_7fF8wYm6hR5u6KYRV1hMdweqW2q6_ZGpsNhrF1Y8,6527
170
+ dmart/cxb/assets/query-CNmXTsgf.js,sha256=iUE9_KIbABOdzswc4e8mcUs_PbDTo9V8nOmil0K7JSA,11363
171
+ dmart/cxb/assets/queryHelpers-C9iBWwqe.js,sha256=SkgdFEtjdTaD1cMVvKsdf5IQaMNUz74nTcj-pVDhQuw,501
172
+ dmart/cxb/assets/scroll-into-view-if-needed-KR58zyjF.js,sha256=Dw5KNhvWXAltb_qIh3e_f5ud5CQSxqHGHGlMf7BFGXc,897
173
+ dmart/cxb/assets/spaces-0oyGvpii.js,sha256=l9GvTbt-jiMyG8RGsCe3zAaYad0vQAhPjSBtdEp6htg,73
174
+ dmart/cxb/assets/style-mod-Bs6eFhZE.js,sha256=2P-Jrkn335imR7dWZ-lR1mVAhef16p050Fb80pVApVA,2194
175
+ dmart/cxb/assets/svelte-B2XmcTi_.js,sha256=bQk6kPr592D2TiwuMX7a6lt9YJB8UYeQMzvAtsxaP_s,61082
176
+ dmart/cxb/assets/svelte-awesome-COLlx0DN.css,sha256=5T3C0hIplhoXaGU3PJ-KPpPgB0uJTXN4n4eA21ChO3Y,448
177
+ dmart/cxb/assets/svelte-awesome-DhnMA6Q_.js,sha256=FEokMqwJ5WAhy_a2QNscieYkpS4mhAtR_NOPYzd7lD0,3858
178
+ dmart/cxb/assets/svelte-datatables-net-CY7LBj6I.js,sha256=PQZwUZsx3JjhI2W2Mwvsr4abTvEkbVl3osr3VpO-enk,4715
179
+ dmart/cxb/assets/svelte-floating-ui-BlS3sOAQ.js,sha256=lboSaEhc2oCTFSD5fkUaHSlxwtH8SGd4w3iLajcEySU,733
180
+ dmart/cxb/assets/svelte-i18n-CT2KkQaN.js,sha256=_LIkJDtwxRXQXVUvWxdc5z2BLNb4SwzSNyDE6lKWT3Q,7437
181
+ dmart/cxb/assets/svelte-jsoneditor-BzfX6Usi.css,sha256=5nvNv27PvUKYYgbHA1QpynYgdEoPCMoRzUlN8Ni2Fko,95514
182
+ dmart/cxb/assets/svelte-jsoneditor-CUGSvWId.js,sha256=IwxIH_L_eG1NdCYCtrkcEysxGflo66lL-SBa1cCYGMA,238060
183
+ dmart/cxb/assets/svelte-select-CegQKzqH.css,sha256=RW2XmPXMyUSPG672lEcT7Nhz1gaLfzTqoQjFG6Jb4zI,10652
184
+ dmart/cxb/assets/svelte-select-CjHAt_85.js,sha256=17YwjNfrW5d9x6GmOaHibTPVB_PZ7WBu9V_27MGcLrw,17176
185
+ dmart/cxb/assets/tailwind-merge-CJvxXMcu.js,sha256=PhlMjcf4Fs_9tgXtY97DfhD4crCI-S_zuZJACPZ4Q2E,25988
186
+ dmart/cxb/assets/tailwind-variants-Cj20BoQ3.js,sha256=Eofe15eg2u8pkjxy3tDaXMpq2etBq0Yzc15kSig_xEk,5489
187
+ dmart/cxb/assets/toast-B9WDyfyI.js,sha256=eJ0gQdgl4vAsHpcBUlXOPUrbNbk9Ii9Va5CdG0GRDGA,248
188
+ dmart/cxb/assets/tslib-pJfR_DrR.js,sha256=Kke-aujRqfYw2Ld4KusSVmRen6Lw2l8VKoYr2OW79mY,1231
189
+ dmart/cxb/assets/typewriter-editor-DkTVIJdm.js,sha256=YlETGGigYqnJdwnP4VkV7YAIoblWivupZuAHxu0KeDQ,52323
190
+ dmart/cxb/assets/user-DeK_NB5v.js,sha256=6VYTgmWgl7pVRgW6dD0gGKPKvvKnCEqpKy3ZlLOrQwQ,1253
191
+ dmart/cxb/assets/vanilla-picker-l5rcX3cq.js,sha256=B8KWTpJINp3oIXirDlwC683EYHZUPW76lAnHmeUPqEY,18814
192
+ dmart/cxb/assets/w3c-keyname-Vcq4gwWv.js,sha256=7NTN0-UTH-BpoJQqdC43Ec4Cdwj4Wv8viGg4W3EBqx8,1494
193
+ dmart/data_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
+ dmart/data_adapters/adapter.py,sha256=zR_yFd5ZI9vIQuUB6AUcF-LHgxOaxoREV2hogasivjQ,443
195
+ dmart/data_adapters/base_data_adapter.py,sha256=vG9WeHyw_c_BnH0EmudwPSNS6iMb5buQJiZS_9cm9p8,12055
196
+ dmart/data_adapters/helpers.py,sha256=0ySEDnQBMgFVXstFnPjXLtZ_-8IC4Q8oPXXrWokpFB8,660
197
+ dmart/data_adapters/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
+ dmart/data_adapters/file/adapter.py,sha256=SPVVfRIlyQDYfZJv4J8LmrDGtrVWddu76SvpnkXY3jM,77671
199
+ dmart/data_adapters/file/adapter_helpers.py,sha256=ExA_fAnRaPOLDuEY3hsLNR2BvvCscnS5Du6lWRtCvh0,34321
200
+ dmart/data_adapters/file/archive.py,sha256=B4VV6HNB3Bqd4tlqZ3jUQps8oqht_xOdBNOi9cLuo8Q,5423
201
+ dmart/data_adapters/file/create_index.py,sha256=lUcUkepo9QUIQDDDgoPAL74_n16cZ_q0NKnITGmbF6I,11888
202
+ dmart/data_adapters/file/create_users_folders.py,sha256=zOBgxMnqgEskYP4pgkmE6VYMca-ADLz8mXKPHJPYpys,1670
203
+ dmart/data_adapters/file/custom_validations.py,sha256=ziOERgTr-eY_zrN0C41B2FYmpEyoKiV4holh8an-p2c,1754
204
+ dmart/data_adapters/file/drop_index.py,sha256=OK3wXwaO9tUcHcJjqyLeBnkElzK35MZMi8YLGWdrXRw,1417
205
+ dmart/data_adapters/file/health_check.py,sha256=cMvwsXhjEykjrTyB3HtUn8QqKdtB_h5w8mGOEYPepzU,24221
206
+ dmart/data_adapters/file/redis_services.py,sha256=83STcca5fYFaEVLRYAxfUQXeUQZqJOT8XH-GBSbkR-E,39914
207
+ dmart/data_adapters/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
+ dmart/data_adapters/sql/adapter.py,sha256=QXEJDtatIap18mrTWSqa9D7RnNZdjerkVJEGAv3i6FE,154825
209
+ dmart/data_adapters/sql/adapter_helpers.py,sha256=Eu22NElz2fMu6zyOsGsGrnAZcyWhHz9I__RJ9z6cwK0,15076
210
+ dmart/data_adapters/sql/create_tables.py,sha256=KqaXHTDOD8YaqGNc_e0iHHotd0WE3Kad_tBevtoGA20,17427
211
+ dmart/data_adapters/sql/create_users_folders.py,sha256=fm3P-CMcPX4b4DqXHKWMOtfX4RHdaev2nCDhYrS5cIs,1911
212
+ dmart/data_adapters/sql/db_to_json_migration.py,sha256=GTPO6-HblgD60qruhhVpWbKOke5xz9w_xwIr5NKK764,21009
213
+ dmart/data_adapters/sql/health_check_sql.py,sha256=2Z0mN5IMrjF72ZAiafBLkHklbXXWJzLp1K2TzjzPI1s,8569
214
+ dmart/data_adapters/sql/json_to_db_migration.py,sha256=KaubDrRZ3MfPLc-CNGPpsEccPELKr1V4GoBEBt1BNZo,21131
215
+ dmart/data_adapters/sql/update_query_policies.py,sha256=LUpkyzDAkiwwVWnXxPdVAU6atehW72ECAazj3mEYHK0,3857
216
+ dmart/languages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
+ dmart/languages/arabic.json,sha256=UL61rP9_M42CGfU94G5-1bXVUVnsJWXzoqhaXTXTJuM,910
218
+ dmart/languages/english.json,sha256=Y7eZ2X8c427_97qYrHOeGb2d725T-YlNNFVSi8FB7Kw,649
219
+ dmart/languages/kurdish.json,sha256=GgPLkVKyhIQjT7h3cPfDh0oyzg26znvBUe5X_Zz2TWI,864
220
+ dmart/languages/loader.py,sha256=3gf2WmfSQ-AVIpyLAm_5J5NcQlWqBxQHMjcUd04Pijs,381
221
+ dmart/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
+ dmart/models/api.py,sha256=f5X56dudyEysPmDuI5grM2RRCXuIQoehaAB6wMAGG28,6473
223
+ dmart/models/core.py,sha256=tEb7cbnC71yE9SDluynj7dE3U8Ed-EbF3uRJizy-uuU,16880
224
+ dmart/models/enums.py,sha256=y2G5EKIc8FusVW4JvEozGFKL2GxjtuOK7k3zSguP4dc,5395
225
+ dmart/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
+ dmart/plugins/action_log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
+ dmart/plugins/action_log/config.json,sha256=UZNbbxnuMTdLSRbFKPdeSD-A6vTDk7ceAfbsEVWdu_U,296
228
+ dmart/plugins/action_log/plugin.py,sha256=-JY_iIIJJjFFofvpMoCxNJMXNr_KC6kA8TiwvvoxaWI,4434
229
+ dmart/plugins/admin_notification_sender/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
+ dmart/plugins/admin_notification_sender/config.json,sha256=ZtS0l9szRliKOAAUzks9UP_tXc4heNmn85adHvEjen0,294
231
+ dmart/plugins/admin_notification_sender/plugin.py,sha256=sxVGW8qtRmDEQeS6QD3F3IqzZOoh_9H_y2TsRCDkXaw,4771
232
+ dmart/plugins/ldap_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
+ dmart/plugins/ldap_manager/config.json,sha256=0GSbZM0Vq4BGUwKUbLecRwM-k_nJT5rqfP-zpn9VkMk,258
234
+ dmart/plugins/ldap_manager/dmart.schema,sha256=Sdmm777z7mQEQzW94SlTjS62kiNwf-shkAML0xoGchA,3385
235
+ dmart/plugins/ldap_manager/plugin.py,sha256=c05pKGsyLETMrheCqIw3gZOSLdTWvEDq_WCl0Q_0yXQ,3030
236
+ dmart/plugins/ldap_manager/slapd.conf,sha256=IiqqeokfKvzNFncHwtP3jR4hrjHO75BxJVR85GRv6Fc,1390
237
+ dmart/plugins/local_notification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
238
+ dmart/plugins/local_notification/config.json,sha256=VSSf7UBcg-74VG7ah6FX3igYVWMM-S2QIatjQ8UFM2o,320
239
+ dmart/plugins/local_notification/plugin.py,sha256=FObVxID5Bg0G_xStpJYZkg706wu_CpUqk09DmzHAyPQ,4074
240
+ dmart/plugins/realtime_updates_notifier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
+ dmart/plugins/realtime_updates_notifier/config.json,sha256=tNojCM9RwFeNNMZfpCcp3iK686DersGhIpoi4BNjags,322
242
+ dmart/plugins/realtime_updates_notifier/plugin.py,sha256=Gcvob4ShSs2Ht1hLD2vtwhR_PSFYMv3_l_VPM2opTYs,2374
243
+ dmart/plugins/redis_db_update/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
+ dmart/plugins/redis_db_update/config.json,sha256=ohbeKiSNfkp-GkL24V0K87KEZEB94T2teWmdNTHl6ZE,450
245
+ dmart/plugins/redis_db_update/plugin.py,sha256=z05k1zNJgBnKPj-jrtMUeI9br75ZPlifbzL0HxpRnXg,7128
246
+ dmart/plugins/resource_folders_creation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
247
+ dmart/plugins/resource_folders_creation/config.json,sha256=vOimfWfVCYnnrLaTR8J8m5u-AY5AuriqEQFjYP1HRZY,253
248
+ dmart/plugins/resource_folders_creation/plugin.py,sha256=OwYPtRjMt2esAAEdv1FjdZgjEz01yt2xOZQi3nB0kEQ,3327
249
+ dmart/plugins/system_notification_sender/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
+ dmart/plugins/system_notification_sender/config.json,sha256=1C0uwO3nY4hUmaRriwK7WmjZNPwZIW4wEY8pPkUHxG4,329
251
+ dmart/plugins/system_notification_sender/plugin.py,sha256=MUOujwyRJ3yQrXwZ-X4qSdx0ZNU2c-sYy0d0-U8twoA,8253
252
+ dmart/plugins/update_access_controls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
+ dmart/plugins/update_access_controls/config.json,sha256=8kwl2H36BvS8xKVfUk1e5sP5VG3eoJvyoURFkKfiHM4,324
254
+ dmart/plugins/update_access_controls/plugin.py,sha256=43UV4vg-zxBF_7Bv0AZH6gU0Bgy2ybapNK21wJTF05k,301
255
+ dmart/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
+ dmart/utils/access_control.py,sha256=8cCKr-6bL-Shl8j8xtfjEykMPGy6wkbNz-NRwLCdx-Y,11757
257
+ dmart/utils/async_request.py,sha256=Lm2xGXLeph7P1_fLhhNJDhPubKT2ncFn_Ueft4JVoeI,255
258
+ dmart/utils/exporter.py,sha256=HjcZCzcuH6N6f7Gn2hkTEeEFyo-MfrsiZUYAE-9kkVQ,9718
259
+ dmart/utils/firebase_notifier.py,sha256=nAeCUo5Mtwxygwj8ONlw8ZAtL_ekdJBabvU0z2dZ3NY,2391
260
+ dmart/utils/generate_email.py,sha256=25i1iNVDfyRDq7vvZVFkaTYfMZFkAg1ZVQO2GdK7yRQ,1122
261
+ dmart/utils/helpers.py,sha256=gNxLg09cclRWrKNBy2pwGZsxGA0iFS5iZ_nyra3SmnI,9928
262
+ dmart/utils/hypercorn_config.py,sha256=q28HGRLWo9wjOVF183WwFPs3HQo4Nexc7q_7dmSVHRI,311
263
+ dmart/utils/internal_error_code.py,sha256=KGlXPC5YruPmb0ORVY7U3EEVpBgSLuU4lHdXgwUVN2M,1637
264
+ dmart/utils/jwt.py,sha256=Y7Gp3imvNwAtWOg8V0etvsEFtswmCYKK_U4ljZ15Pps,4590
265
+ dmart/utils/logger.py,sha256=peejQnq9B0eaHwdLynBHT7FUCq7jCX_DhkX6BcxrLkA,5274
266
+ dmart/utils/middleware.py,sha256=PAVwnLzs0cyT_ZIgc1slqadEOJNCPliLhOTjaYx0Waw,3399
267
+ dmart/utils/notification.py,sha256=O9oOeU9cRm3e9UAc-VJONWx-TzqbCMddFNaTQilE6ks,2479
268
+ dmart/utils/password_hashing.py,sha256=NZZsmtPG9Vkocipk3DlDKKHKUdxRKA4yOhCurD8dUhg,356
269
+ dmart/utils/plugin_manager.py,sha256=brQoE4u2WxH6EMvUOYQlnOnSUbKwha92-UfAgWUaHRU,7645
270
+ dmart/utils/query_policies_helper.py,sha256=Bf5qriQJ8CpUqPaQg5cdvNrn-92l_jKxHwsvXdegAZo,4796
271
+ dmart/utils/regex.py,sha256=cv9b_l_e8tz42mKckeeyDgypKqh2e71E28co2iuEVxA,2286
272
+ dmart/utils/repository.py,sha256=9L-IvQ0Js0SQ5OR-Rh0i2Wdu4H9H06r8eE84hfBIu7Q,18313
273
+ dmart/utils/router_helper.py,sha256=Tgoq3oakejdEeyeVieTNk38JsPZ8x5RuR0kw2THc1mI,604
274
+ dmart/utils/settings.py,sha256=yjiudcgLVSIvKLQo9JtukmeLSU-6YTdggzWfZxiFoO8,5720
275
+ dmart/utils/sms_notifier.py,sha256=04D6D_ldk3S9SojI7_381pqLc8v9lligeNHAysohz7w,550
276
+ dmart/utils/social_sso.py,sha256=Dm1W6U9OwKbAeUwM-kwJBHFEoreeoN-s-RHdOZ1-cNg,2216
277
+ dmart/utils/ticket_sys_utils.py,sha256=9QAlW2iiy8KyxQRBDj_WmzS5kKb0aYJmGwd4qzmGVqo,7005
278
+ dmart/utils/web_notifier.py,sha256=QM87VVid2grC5lK3NdS1yzz0z1wXljr4GChJOeK86W4,843
279
+ dmart/utils/templates/activation.html.j2,sha256=XAMKCdoqONoc4ZQucD0yV-Pg5DlHHASZrTVItNS-iBE,640
280
+ dmart/utils/templates/reminder.html.j2,sha256=aoS8bTs56q4hjAZKsb0jV9c-PIURBELuBOpT_qPZNVU,639
281
+ dmart-1.4.36.dist-info/METADATA,sha256=nNOh0vL99pjG2Ir-09IfNQcf8iBOMUm2RZz7S0zlJDk,2069
282
+ dmart-1.4.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
283
+ dmart-1.4.36.dist-info/entry_points.txt,sha256=N832M4wG8d2GDw1xztKRVM3TnxpY2QDzvdFE8XaWaG8,43
284
+ dmart-1.4.36.dist-info/top_level.txt,sha256=zJo4qk9fUW0BGIR9f4DCfpxaXbvQXH9izIOom6JsyAo,6
285
+ dmart-1.4.36.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ dmart = dmart.dmart:main
@@ -0,0 +1 @@
1
+ dmart