dmart 1.4.4__py3-none-any.whl → 1.4.5__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.
- alembic/versions/eb5f1ec65156_adding_user_locked_to_device.py +1 -1
- api/managed/utils.py +28 -1
- api/user/router.py +13 -1
- cxb/client/__init__.py +0 -0
- cxb/client/assets/EntryRenderer-25YDhRen.js +32 -0
- cxb/{assets/ListView-B8HfFC1U.js → client/assets/ListView-BpAycA2h.js} +1 -1
- cxb/{assets/_module-zDAxmd-C.js → client/assets/_module-Bfk8MiCs.js} +1 -1
- cxb/{assets/_module-6r9gwq3N.js → client/assets/_module-CEW0D5oI.js} +1 -1
- cxb/{assets/_module-BmolODiO.js → client/assets/_module-Dgq0ZVtz.js} +1 -1
- cxb/{assets/index-BBKl6sMY.js → client/assets/index-B-eTh-ZX.js} +1 -1
- cxb/{assets/index-CbGVqZTZ.js → client/assets/index-C6cPO4op.js} +1 -1
- cxb/{assets/index-GPULO0Sr.js → client/assets/index-CTxJ-lDp.js} +1 -1
- cxb/{assets/index-CQdrB9zd.js → client/assets/index-Cd-F5j_k.js} +1 -1
- cxb/{assets/index-B3fJnvEy.js → client/assets/index-D742rwaM.js} +1 -1
- cxb/{assets/index-D1b8schx.js → client/assets/index-ac-Buu_H.js} +2 -2
- cxb/{assets/index-wbmvW7YQ.js → client/assets/index-iYkH7C67.js} +1 -1
- cxb/{index.html → client/index.html} +1 -1
- {dmart-1.4.4.dist-info → dmart-1.4.5.dist-info}/METADATA +1 -1
- {dmart-1.4.4.dist-info → dmart-1.4.5.dist-info}/RECORD +127 -126
- dmart.py +20 -12
- main.py +16 -21
- utils/query_policies_helper.py +24 -8
- utils/settings.py +2 -2
- cxb/assets/EntryRenderer-BcLgNngg.js +0 -32
- /cxb/{assets → client/assets}/@codemirror-Rn7_6DkE.js +0 -0
- /cxb/{assets → client/assets}/@edraj-CS4NwVbD.js +0 -0
- /cxb/{assets → client/assets}/@floating-ui-BwwcF-xh.js +0 -0
- /cxb/{assets → client/assets}/@formatjs-yKEsAtjs.js +0 -0
- /cxb/{assets → client/assets}/@fortawesome-DRW1UCdr.js +0 -0
- /cxb/{assets → client/assets}/@jsonquerylang-laKNoFFq.js +0 -0
- /cxb/{assets → client/assets}/@lezer-za4Q-8Ew.js +0 -0
- /cxb/{assets → client/assets}/@marijn-DXwl3gUT.js +0 -0
- /cxb/{assets → client/assets}/@popperjs-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/@replit--ERk53eB.js +0 -0
- /cxb/{assets → client/assets}/@roxi-CGMFK4i8.js +0 -0
- /cxb/{assets → client/assets}/@typewriter-cCzskkIv.js +0 -0
- /cxb/{assets → client/assets}/@zerodevx-BlBZjKxu.js +0 -0
- /cxb/{assets → client/assets}/@zerodevx-CVEpe6WZ.css +0 -0
- /cxb/{assets → client/assets}/BreadCrumbLite-DAhOx38v.js +0 -0
- /cxb/{assets → client/assets}/EntryRenderer-DXytdFp9.css +0 -0
- /cxb/{assets → client/assets}/ListView-U8of-_c-.css +0 -0
- /cxb/{assets → client/assets}/Prism--hMplq-p.js +0 -0
- /cxb/{assets → client/assets}/Prism-Uh6uStUw.css +0 -0
- /cxb/{assets → client/assets}/Table2Cols-BsbwicQm.js +0 -0
- /cxb/{assets → client/assets}/_..-BvT6vdHa.css +0 -0
- /cxb/{assets → client/assets}/_...404_-fuLH_rX9.js +0 -0
- /cxb/{assets → client/assets}/_...fallback_-Ba_NLmAE.js +0 -0
- /cxb/{assets → client/assets}/ajv-Cpj98o6Y.js +0 -0
- /cxb/{assets → client/assets}/axios-CG2WSiiR.js +0 -0
- /cxb/{assets → client/assets}/clsx-B-dksMZM.js +0 -0
- /cxb/{assets → client/assets}/codemirror-wrapped-line-indent-DPhKvljI.js +0 -0
- /cxb/{assets → client/assets}/compare-C3AjiGFR.js +0 -0
- /cxb/{assets → client/assets}/compute-scroll-into-view-Bl8rNFhg.js +0 -0
- /cxb/{assets → client/assets}/consolite-DlCuI0F9.js +0 -0
- /cxb/{assets → client/assets}/crelt-C8TCjufn.js +0 -0
- /cxb/{assets → client/assets}/date-fns-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/deepmerge-rn4rBaHU.js +0 -0
- /cxb/{assets → client/assets}/dmart_services-AL6-IdDE.js +0 -0
- /cxb/{assets → client/assets}/downloadFile-D08i0YDh.js +0 -0
- /cxb/{assets → client/assets}/easy-signal-BiPFIK3O.js +0 -0
- /cxb/{assets → client/assets}/esm-env-rsSWfq8L.js +0 -0
- /cxb/{assets → client/assets}/export-OF_rTiXu.js +0 -0
- /cxb/{assets → client/assets}/fast-deep-equal-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/fast-diff-C-IidNf4.js +0 -0
- /cxb/{assets → client/assets}/fast-uri-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/flowbite-svelte-BLvjb-sa.js +0 -0
- /cxb/{assets → client/assets}/flowbite-svelte-CD54FDqW.css +0 -0
- /cxb/{assets → client/assets}/flowbite-svelte-icons-BI8GVhw_.js +0 -0
- /cxb/{assets → client/assets}/github-slugger-CQ4oX9Ud.js +0 -0
- /cxb/{assets → client/assets}/global-igKv-1g9.js +0 -0
- /cxb/{assets → client/assets}/hookar-BMRD9G9H.js +0 -0
- /cxb/{assets → client/assets}/immutable-json-patch-DtRO2E_S.js +0 -0
- /cxb/{assets → client/assets}/import-1vE3gBat.js +0 -0
- /cxb/{assets → client/assets}/index-BVyxzKtH.js +0 -0
- /cxb/{assets → client/assets}/index-BdeNM69f.js +0 -0
- /cxb/{assets → client/assets}/index-CC-A1ipE.js +0 -0
- /cxb/{assets → client/assets}/index-DTfhnhwd.js +0 -0
- /cxb/{assets → client/assets}/index-DdXRK7n9.js +0 -0
- /cxb/{assets → client/assets}/index-DtiCmB4o.js +0 -0
- /cxb/{assets → client/assets}/index-NBrXBlLA.css +0 -0
- /cxb/{assets → client/assets}/info-B986lRiM.js +0 -0
- /cxb/{assets → client/assets}/intl-messageformat-Dc5UU-HB.js +0 -0
- /cxb/{assets → client/assets}/jmespath-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/json-schema-traverse-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/json-source-map-DRgZidqy.js +0 -0
- /cxb/{assets → client/assets}/jsonpath-plus-l0sNRNKZ.js +0 -0
- /cxb/{assets → client/assets}/jsonrepair-B30Dx381.js +0 -0
- /cxb/{assets → client/assets}/lodash-es-DZVAA2ox.js +0 -0
- /cxb/{assets → client/assets}/marked-DKjyhwJX.js +0 -0
- /cxb/{assets → client/assets}/marked-gfm-heading-id-U5zO829x.js +0 -0
- /cxb/{assets → client/assets}/marked-mangle-CDMeiHC6.js +0 -0
- /cxb/{assets → client/assets}/memoize-one-BdPwpGay.js +0 -0
- /cxb/{assets → client/assets}/natural-compare-lite-Bg2Xcf-o.js +0 -0
- /cxb/{assets → client/assets}/pagination-svelte-D5CyoiE_.js +0 -0
- /cxb/{assets → client/assets}/pagination-svelte-v10nAbbM.css +0 -0
- /cxb/{assets → client/assets}/plantuml-encoder-C47mzt9T.js +0 -0
- /cxb/{assets → client/assets}/prismjs-DTUiLGJu.js +0 -0
- /cxb/{assets → client/assets}/profile-BUf-tKMe.js +0 -0
- /cxb/{assets → client/assets}/query-CNmXTsgf.js +0 -0
- /cxb/{assets → client/assets}/queryHelpers-C9iBWwqe.js +0 -0
- /cxb/{assets → client/assets}/scroll-into-view-if-needed-KR58zyjF.js +0 -0
- /cxb/{assets → client/assets}/spaces-0oyGvpii.js +0 -0
- /cxb/{assets → client/assets}/style-mod-Bs6eFhZE.js +0 -0
- /cxb/{assets → client/assets}/svelte-B2XmcTi_.js +0 -0
- /cxb/{assets → client/assets}/svelte-awesome-COLlx0DN.css +0 -0
- /cxb/{assets → client/assets}/svelte-awesome-DhnMA6Q_.js +0 -0
- /cxb/{assets → client/assets}/svelte-datatables-net-CY7LBj6I.js +0 -0
- /cxb/{assets → client/assets}/svelte-floating-ui-BlS3sOAQ.js +0 -0
- /cxb/{assets → client/assets}/svelte-i18n-CT2KkQaN.js +0 -0
- /cxb/{assets → client/assets}/svelte-jsoneditor-BzfX6Usi.css +0 -0
- /cxb/{assets → client/assets}/svelte-jsoneditor-CUGSvWId.js +0 -0
- /cxb/{assets → client/assets}/svelte-select-CegQKzqH.css +0 -0
- /cxb/{assets → client/assets}/svelte-select-CjHAt_85.js +0 -0
- /cxb/{assets → client/assets}/tailwind-merge-CJvxXMcu.js +0 -0
- /cxb/{assets → client/assets}/tailwind-variants-Cj20BoQ3.js +0 -0
- /cxb/{assets → client/assets}/toast-B9WDyfyI.js +0 -0
- /cxb/{assets → client/assets}/tslib-pJfR_DrR.js +0 -0
- /cxb/{assets → client/assets}/typewriter-editor-DkTVIJdm.js +0 -0
- /cxb/{assets → client/assets}/user-DeK_NB5v.js +0 -0
- /cxb/{assets → client/assets}/vanilla-picker-l5rcX3cq.js +0 -0
- /cxb/{assets → client/assets}/w3c-keyname-Vcq4gwWv.js +0 -0
- /cxb/{config.json → client/config.json} +0 -0
- /cxb/{config.sample.json → client/config.sample.json} +0 -0
- /cxb/{favicon.ico → client/favicon.ico} +0 -0
- /cxb/{favicon.png → client/favicon.png} +0 -0
- {dmart-1.4.4.dist-info → dmart-1.4.5.dist-info}/WHEEL +0 -0
- {dmart-1.4.4.dist-info → dmart-1.4.5.dist-info}/entry_points.txt +0 -0
- {dmart-1.4.4.dist-info → dmart-1.4.5.dist-info}/top_level.txt +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
bundler.py,sha256=so8ZJResb1PcOH5vboa_mpFAdYr_T8u8DbbFXd570Lg,1704
|
|
2
2
|
data_generator.py,sha256=CnE-VHEeX7-lAXtqCgbRqR9WHjTuOgeiZcviYrHAmho,2287
|
|
3
|
-
dmart.py,sha256=
|
|
3
|
+
dmart.py,sha256=1oQXSPgHiVpSPKhKy2EhP2Mmu1ZKPEdKqbXehXUj7MA,21760
|
|
4
4
|
get_settings.py,sha256=Sbe2WCoiK398E7HY4SNLfDN_GmE8knR4M-YJWF31jcg,153
|
|
5
|
-
main.py,sha256=
|
|
5
|
+
main.py,sha256=KZGhIL6AnEm5ZAPy4IvhBDpzSTjuodilV7NafNOyhzM,19676
|
|
6
6
|
migrate.py,sha256=hn1MZoVby_Jjqhc7y3CrLcGD619QmVZv3PONNvO7VKQ,665
|
|
7
7
|
password_gen.py,sha256=xjx8wi105ZYvhLBBQj7_rugACpxifGXHse6f7YlGXWQ,196
|
|
8
8
|
run_notification_campaign.py,sha256=ZCvHfaimK4W6q4XuHs2r6wavMGipYYw4aUkNlxmGUd8,2652
|
|
@@ -33,20 +33,20 @@ alembic/versions/98ecd6f56f9a_ext_meta_with_owner_group_shortname.py,sha256=S466
|
|
|
33
33
|
alembic/versions/9aae9138c4ef_indexing_created_at_updated_at.py,sha256=xrqfJB5cER0PYi1torwkgsbBBjDeeM6dyj4pu-quphk,3662
|
|
34
34
|
alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
35
|
alembic/versions/b53f916b3f6d_json_to_jsonb.py,sha256=LPnevQjbjs0KrwqxYHtGUC6mSBBsUpiCBnwD-FN2x50,24840
|
|
36
|
-
alembic/versions/eb5f1ec65156_adding_user_locked_to_device.py,sha256=
|
|
36
|
+
alembic/versions/eb5f1ec65156_adding_user_locked_to_device.py,sha256=Z9skCus52jg_xV5a7JVYK3IenNlvsdMKIFf1H5POst0,1030
|
|
37
37
|
alembic/versions/f7a4949eed19_adding_query_policies_to_meta.py,sha256=LA4rx3u0Ei5m4OcSsVYHBsGMeKOJdx8G88yK1kBLFys,2307
|
|
38
38
|
api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
api/info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
40
|
api/info/router.py,sha256=sQZZor7A-uDzsJX39aqEA7bMZOJ-WTitYeFvVNWfaHw,3938
|
|
41
41
|
api/managed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
42
|
api/managed/router.py,sha256=0xfJ3NXV3XHyG8yWLEECBJt-XppymOxYuMDvQJdO1MI,50865
|
|
43
|
-
api/managed/utils.py,sha256=
|
|
43
|
+
api/managed/utils.py,sha256=IqgFVHVfNubYOx5i9YoQjVqbUbaveIrqfOfTFvV42BA,74227
|
|
44
44
|
api/public/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
45
|
api/public/router.py,sha256=TrraWs2LGL_c_JRDbvS8OHm3fJ-ZKF7o4El7wvjV4Mk,24753
|
|
46
46
|
api/qr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
47
|
api/qr/router.py,sha256=Ru7UT_iQS6mFwE1bCPPrusSQfFgoV_u6pjZJ0gArE7g,3870
|
|
48
48
|
api/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
-
api/user/router.py,sha256=
|
|
49
|
+
api/user/router.py,sha256=B59HQPwmwgEfYIlF3_XBNaVBlT4PWqMJiUlUvEN69Vo,51719
|
|
50
50
|
api/user/service.py,sha256=-iQpcBVPTDiLE_xOf87Ni0oSQDtmALAXEwU4IgSvnJk,8463
|
|
51
51
|
api/user/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
52
|
api/user/model/errors.py,sha256=rhcIcbAIk_7rs5lxdgcsf7SWFGmC9QLsgc67x7S6CKA,299
|
|
@@ -56,120 +56,121 @@ config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
56
56
|
config/channels.json,sha256=GepystGi0h_1fuakC_gdIc-YYxyy-a4TI619ygIpyyM,156
|
|
57
57
|
config/notification.json,sha256=esrOaMUIqfcCHB0Tawp3t4cu7DQAA15X12OS-Gyenb0,361
|
|
58
58
|
cxb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
cxb/
|
|
60
|
-
cxb/config.
|
|
61
|
-
cxb/
|
|
62
|
-
cxb/favicon.
|
|
63
|
-
cxb/
|
|
64
|
-
cxb/
|
|
65
|
-
cxb/assets/@
|
|
66
|
-
cxb/assets/@
|
|
67
|
-
cxb/assets/@
|
|
68
|
-
cxb/assets/@
|
|
69
|
-
cxb/assets/@
|
|
70
|
-
cxb/assets/@
|
|
71
|
-
cxb/assets/@
|
|
72
|
-
cxb/assets/@
|
|
73
|
-
cxb/assets/@
|
|
74
|
-
cxb/assets/@
|
|
75
|
-
cxb/assets/@
|
|
76
|
-
cxb/assets/@
|
|
77
|
-
cxb/assets/@zerodevx-
|
|
78
|
-
cxb/assets
|
|
79
|
-
cxb/assets/
|
|
80
|
-
cxb/assets/EntryRenderer-
|
|
81
|
-
cxb/assets/
|
|
82
|
-
cxb/assets/ListView-
|
|
83
|
-
cxb/assets/
|
|
84
|
-
cxb/assets/Prism-
|
|
85
|
-
cxb/assets/
|
|
86
|
-
cxb/assets/
|
|
87
|
-
cxb/assets/_
|
|
88
|
-
cxb/assets/_...
|
|
89
|
-
cxb/assets/
|
|
90
|
-
cxb/assets/_module-
|
|
91
|
-
cxb/assets/_module-
|
|
92
|
-
cxb/assets/
|
|
93
|
-
cxb/assets/
|
|
94
|
-
cxb/assets/
|
|
95
|
-
cxb/assets/
|
|
96
|
-
cxb/assets/
|
|
97
|
-
cxb/assets/
|
|
98
|
-
cxb/assets/
|
|
99
|
-
cxb/assets/
|
|
100
|
-
cxb/assets/
|
|
101
|
-
cxb/assets/
|
|
102
|
-
cxb/assets/
|
|
103
|
-
cxb/assets/
|
|
104
|
-
cxb/assets/
|
|
105
|
-
cxb/assets/
|
|
106
|
-
cxb/assets/
|
|
107
|
-
cxb/assets/
|
|
108
|
-
cxb/assets/fast-
|
|
109
|
-
cxb/assets/fast-
|
|
110
|
-
cxb/assets/
|
|
111
|
-
cxb/assets/flowbite-svelte-
|
|
112
|
-
cxb/assets/flowbite-svelte-
|
|
113
|
-
cxb/assets/
|
|
114
|
-
cxb/assets/
|
|
115
|
-
cxb/assets/
|
|
116
|
-
cxb/assets/
|
|
117
|
-
cxb/assets/
|
|
118
|
-
cxb/assets/
|
|
119
|
-
cxb/assets/index-
|
|
120
|
-
cxb/assets/index-BVyxzKtH.js,sha256=BoEJccSRRZecpdEomQSlNGAVVp6CEEkuz1xUVWXKORk,6015
|
|
121
|
-
cxb/assets/index-BdeNM69f.js,sha256=gkNccueAx5s9vUKp3ZE31Xg2wL4xfipeQ73y27N-61c,2035
|
|
122
|
-
cxb/assets/index-
|
|
123
|
-
cxb/assets/index-
|
|
124
|
-
cxb/assets/index-
|
|
125
|
-
cxb/assets/index-
|
|
126
|
-
cxb/assets/index-
|
|
127
|
-
cxb/assets/index-
|
|
128
|
-
cxb/assets/index-
|
|
129
|
-
cxb/assets/index-
|
|
130
|
-
cxb/assets/index-NBrXBlLA.css,sha256=2mHbGZHluiEeZiiiubPFD2dGd6eL59WUa2qV8eSQqXs,376846
|
|
131
|
-
cxb/assets/index-
|
|
132
|
-
cxb/assets/
|
|
133
|
-
cxb/assets/
|
|
134
|
-
cxb/assets/
|
|
135
|
-
cxb/assets/
|
|
136
|
-
cxb/assets/json-
|
|
137
|
-
cxb/assets/
|
|
138
|
-
cxb/assets/
|
|
139
|
-
cxb/assets/
|
|
140
|
-
cxb/assets/
|
|
141
|
-
cxb/assets/marked-
|
|
142
|
-
cxb/assets/marked-
|
|
143
|
-
cxb/assets/
|
|
144
|
-
cxb/assets/
|
|
145
|
-
cxb/assets/
|
|
146
|
-
cxb/assets/pagination-svelte-
|
|
147
|
-
cxb/assets/
|
|
148
|
-
cxb/assets/
|
|
149
|
-
cxb/assets/
|
|
150
|
-
cxb/assets/
|
|
151
|
-
cxb/assets/
|
|
152
|
-
cxb/assets/
|
|
153
|
-
cxb/assets/
|
|
154
|
-
cxb/assets/
|
|
155
|
-
cxb/assets/
|
|
156
|
-
cxb/assets/svelte-
|
|
157
|
-
cxb/assets/svelte-awesome-
|
|
158
|
-
cxb/assets/svelte-
|
|
159
|
-
cxb/assets/svelte-
|
|
160
|
-
cxb/assets/svelte-
|
|
161
|
-
cxb/assets/svelte-
|
|
162
|
-
cxb/assets/svelte-jsoneditor-
|
|
163
|
-
cxb/assets/svelte-
|
|
164
|
-
cxb/assets/svelte-select-
|
|
165
|
-
cxb/assets/
|
|
166
|
-
cxb/assets/tailwind-
|
|
167
|
-
cxb/assets/
|
|
168
|
-
cxb/assets/
|
|
169
|
-
cxb/assets/
|
|
170
|
-
cxb/assets/
|
|
171
|
-
cxb/assets/
|
|
172
|
-
cxb/assets/
|
|
59
|
+
cxb/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
+
cxb/client/config.json,sha256=WvhCcnJ9-uQ2raPuRBRSGO3iD7Hcaf8Cy49EXUu3KQw,358
|
|
61
|
+
cxb/client/config.sample.json,sha256=fTYLbnTiUdbT_F7rcwI7CLSZ_KoX8EflfuyswRGW2x0,355
|
|
62
|
+
cxb/client/favicon.ico,sha256=CD2FYyYYFNAbH7lGPnM5-2asMmhf-kwitAp99Kh0Wmc,4286
|
|
63
|
+
cxb/client/favicon.png,sha256=gbSWS2UiKrUcy5Jt4gcncDrE5yvfAS00OgYzdNxPxlk,4164
|
|
64
|
+
cxb/client/index.html,sha256=J_7uaGXP02rNLSvJ4Poyr5G7TZt8W0Br-EWQlYEeXi0,1622
|
|
65
|
+
cxb/client/assets/@codemirror-Rn7_6DkE.js,sha256=lE9KsREWfszCrh0SBu7CKi3k1OiDzBrIeNO_S5PYRcM,342674
|
|
66
|
+
cxb/client/assets/@edraj-CS4NwVbD.js,sha256=zndm--w-VH0vIAjb2K_MHp5oSC-khzxT8Evj1Dl_2-c,9293
|
|
67
|
+
cxb/client/assets/@floating-ui-BwwcF-xh.js,sha256=K4lsJw_hrkV0vq1uguBTS_GxONRbsFtlBjX4pagaOwg,17129
|
|
68
|
+
cxb/client/assets/@formatjs-yKEsAtjs.js,sha256=bwa2AS3AZNFoUsMafb6wKHA15W9GldY3Kt61ZObX02U,33632
|
|
69
|
+
cxb/client/assets/@fortawesome-DRW1UCdr.js,sha256=XxmEJ7SxFU5lm4fFq2B0t6oAFpvInLfZbwrds7T9kM8,18810
|
|
70
|
+
cxb/client/assets/@jsonquerylang-laKNoFFq.js,sha256=z3m86cWxHoliU-BL-mn-U7ob8B1cV1lzyC-Q7DITo2w,8464
|
|
71
|
+
cxb/client/assets/@lezer-za4Q-8Ew.js,sha256=6kTYHAkwA6DYI_m9taUHq0iqetL5AbmBt43KB0s2Pxg,54631
|
|
72
|
+
cxb/client/assets/@marijn-DXwl3gUT.js,sha256=ONjPnhK4okY91E_qSZTqZuKrYU97xaqPdt5Vde2cgcI,2312
|
|
73
|
+
cxb/client/assets/@popperjs-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
74
|
+
cxb/client/assets/@replit--ERk53eB.js,sha256=w2wSGTctSSsvB0PLKCbBVJUc4LRqyXbAFfApDw8DrPI,4586
|
|
75
|
+
cxb/client/assets/@roxi-CGMFK4i8.js,sha256=a9e-nCrgDd2UQieodqFb8O1oMsoJ9GGg9pZ2pFG7vSE,49989
|
|
76
|
+
cxb/client/assets/@typewriter-cCzskkIv.js,sha256=kyXdd1BwqHKx7CIB8Up_1AblBsI5ViLxkwjWN-bzcfw,21047
|
|
77
|
+
cxb/client/assets/@zerodevx-BlBZjKxu.js,sha256=u3olMch61ywj4FnmXTSswD1myRH_rHI0dQMCNogCAH0,3883
|
|
78
|
+
cxb/client/assets/@zerodevx-CVEpe6WZ.css,sha256=BkcVDS4u4ljfIXhn6xv4h5Pld01evCI_ebMKCxpK8i4,1976
|
|
79
|
+
cxb/client/assets/BreadCrumbLite-DAhOx38v.js,sha256=_zhm_Sls-tayWdYobXeXCA6uxNSrVsLnAhfyPCTyHH8,1949
|
|
80
|
+
cxb/client/assets/EntryRenderer-25YDhRen.js,sha256=iUbBmlD02BkiMNjS68jt8sHtzVnwAsuvadVDXBwVBS8,64047
|
|
81
|
+
cxb/client/assets/EntryRenderer-DXytdFp9.css,sha256=8J5fh7_foC06CVV6Qk7UYvxXKqTrFOqQ4isbyJ-gABY,496
|
|
82
|
+
cxb/client/assets/ListView-BpAycA2h.js,sha256=MKEI90xQ07Cmyo6KuJLR7yxOi5CQt0cpU7kCwTMxtVM,134226
|
|
83
|
+
cxb/client/assets/ListView-U8of-_c-.css,sha256=sPIUBfAsMEwhNqvGgGf_oD09XUR5hT8PWk_OtVEwMgI,1288
|
|
84
|
+
cxb/client/assets/Prism--hMplq-p.js,sha256=wzk_GRGPAnTHIenvdCuh_qqHFCeCKco2OCoFinBUesw,587
|
|
85
|
+
cxb/client/assets/Prism-Uh6uStUw.css,sha256=_wHCkOjMWX__hXLr6MjadiXCj2dBxIQFAhkSLAhHwSA,6165
|
|
86
|
+
cxb/client/assets/Table2Cols-BsbwicQm.js,sha256=w6w37qzrdh3f-8waIUDnwPk0MDa8dJBrrG0Z3A8uAAk,1410
|
|
87
|
+
cxb/client/assets/_..-BvT6vdHa.css,sha256=u-3Pj3A2tQeUNBIItE_qki2Lk4GBISmHRs7957cGP30,275
|
|
88
|
+
cxb/client/assets/_...404_-fuLH_rX9.js,sha256=9oGBvAECq9eMcTAZG-cznYAXcM2WaBu4G5wPoTt53uY,684
|
|
89
|
+
cxb/client/assets/_...fallback_-Ba_NLmAE.js,sha256=leHVZijlVjIaqzYUCCTIFDFrFsVcS2NsxgVTW58OhBg,123
|
|
90
|
+
cxb/client/assets/_module-Bfk8MiCs.js,sha256=Zh6tAXTmBj4kvrs5ojFFC6N45pasJviz6lHz5TEy3as,3793
|
|
91
|
+
cxb/client/assets/_module-CEW0D5oI.js,sha256=B2uyRT7DxaK10V58YhhQNZtV-8bkmV9EbAK6WZhHwgw,7899
|
|
92
|
+
cxb/client/assets/_module-Dgq0ZVtz.js,sha256=-_CkmFKVsif9U2B0uVLfmXuDp3GJS2iY4sAP1y_2rvQ,11226
|
|
93
|
+
cxb/client/assets/ajv-Cpj98o6Y.js,sha256=liU3m63UhJYQ3-bBVFPN8MAHEmTJDu8Xcwf6wJTSqmw,236
|
|
94
|
+
cxb/client/assets/axios-CG2WSiiR.js,sha256=URKIJZfepkPrQwK1aPXLhg4f5cGLhk6c0tVUS5eFFB0,36287
|
|
95
|
+
cxb/client/assets/clsx-B-dksMZM.js,sha256=x7hDvCu6RhEQ5d35FtnEAYCjg4BM5zZYcw7EblGW0v0,374
|
|
96
|
+
cxb/client/assets/codemirror-wrapped-line-indent-DPhKvljI.js,sha256=kn9kuXsyPkjimYpjkc3KyXSOral3p4v3gbQw5SbNMMY,1591
|
|
97
|
+
cxb/client/assets/compare-C3AjiGFR.js,sha256=L2wU3DxEeQq-gheMWChs4IX2Las1HLWxAF4HWcpvSZo,8744
|
|
98
|
+
cxb/client/assets/compute-scroll-into-view-Bl8rNFhg.js,sha256=5DonV_EZ7Iwbtu8sT17P3aoourk-WRBAdlAsaNh_mDA,2943
|
|
99
|
+
cxb/client/assets/consolite-DlCuI0F9.js,sha256=oSh3Gbte0Iogkiczrf8Ei0pWKu75WAakY33Z9Kix7GA,3079
|
|
100
|
+
cxb/client/assets/crelt-C8TCjufn.js,sha256=v5UZ6-BdG7hN-EZniG3z0-gaMx1rOdzsjqIiNrRUp8s,623
|
|
101
|
+
cxb/client/assets/date-fns-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
102
|
+
cxb/client/assets/deepmerge-rn4rBaHU.js,sha256=mq9vJj-3sJY_n_VL9dyNkcgD9eD-F7d0vuka-mPJUnY,1675
|
|
103
|
+
cxb/client/assets/dmart_services-AL6-IdDE.js,sha256=RyyNwg7hpN4eTONXb4NOoQ9QTDx5meSSuSMprYkk7m8,1783
|
|
104
|
+
cxb/client/assets/downloadFile-D08i0YDh.js,sha256=pdNEGMBhyU01Y_vVX1OEzxWC7Ktg0T2vwW6VfdYjf0Q,247
|
|
105
|
+
cxb/client/assets/easy-signal-BiPFIK3O.js,sha256=2J65d_BBehKW7Hb64qwX3iCZDes2LsAjYlsRHuJTEHc,108
|
|
106
|
+
cxb/client/assets/esm-env-rsSWfq8L.js,sha256=scv4WZ555272218bU3lLaHkEQ7dl-wFrvbn0MlQAqKA,27
|
|
107
|
+
cxb/client/assets/export-OF_rTiXu.js,sha256=VjmlbOOhE2eGtbPQSbaz395EFtoMJLThpTtFze7Hcf8,4146
|
|
108
|
+
cxb/client/assets/fast-deep-equal-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
109
|
+
cxb/client/assets/fast-diff-C-IidNf4.js,sha256=3QejtPCU1VzP2FM7RY5yFvp4QseK438MIrhUa33u7ko,7785
|
|
110
|
+
cxb/client/assets/fast-uri-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
111
|
+
cxb/client/assets/flowbite-svelte-BLvjb-sa.js,sha256=vRreerVWabyzTubQPDBuxDvgV7M8RlDWIKocxzMQiQ0,245889
|
|
112
|
+
cxb/client/assets/flowbite-svelte-CD54FDqW.css,sha256=n1HDAUq6e-IogOmdk3gYW4E8TK-yE3Gh8wgp5FdOn90,63
|
|
113
|
+
cxb/client/assets/flowbite-svelte-icons-BI8GVhw_.js,sha256=cp8Lg64HqWR8_4XS3q4xOAV3hztu4BsJPBhgysMRTtU,80766
|
|
114
|
+
cxb/client/assets/github-slugger-CQ4oX9Ud.js,sha256=1sye3A-ozGOvdFYnerReUKpwwAeCjBilw-ZMIbxgRAI,8573
|
|
115
|
+
cxb/client/assets/global-igKv-1g9.js,sha256=9AnwcOz6vUYKXcaBuqOCag8rxRCSVDwmIHG8irKBIUM,347
|
|
116
|
+
cxb/client/assets/hookar-BMRD9G9H.js,sha256=_Dzjp-0cmaseuT5CcILxOLX5a4QsMWHgS3bcAC5oH64,519
|
|
117
|
+
cxb/client/assets/immutable-json-patch-DtRO2E_S.js,sha256=I1LmEOX8J21wFhrrAtIV6svx32i-j5TJpso1CpzEEik,5600
|
|
118
|
+
cxb/client/assets/import-1vE3gBat.js,sha256=9T_SMx38Y7DXPtMi72n0LBsPbMPvlkQquZ3zOEp7zQk,3106
|
|
119
|
+
cxb/client/assets/index-B-eTh-ZX.js,sha256=SoqSuq7zLpebuTstKO5Tfwz3fNEnbgzdMHJnLV8RCHQ,9824
|
|
120
|
+
cxb/client/assets/index-BVyxzKtH.js,sha256=BoEJccSRRZecpdEomQSlNGAVVp6CEEkuz1xUVWXKORk,6015
|
|
121
|
+
cxb/client/assets/index-BdeNM69f.js,sha256=gkNccueAx5s9vUKp3ZE31Xg2wL4xfipeQ73y27N-61c,2035
|
|
122
|
+
cxb/client/assets/index-C6cPO4op.js,sha256=o_KVUiHGFlCJN96xkRu9orzLdrYUVTn_nJy9M0SQKrM,3621
|
|
123
|
+
cxb/client/assets/index-CC-A1ipE.js,sha256=dfVwbYUl2GzaPaRcm9bvcm3c0bi8WQj9RsSYaZneH2w,412
|
|
124
|
+
cxb/client/assets/index-CTxJ-lDp.js,sha256=CMXV0Oe3QRi4ITetl3tspH_h_4Wv8cG17-3V0PSN-2s,2821
|
|
125
|
+
cxb/client/assets/index-Cd-F5j_k.js,sha256=3a3gWjjYVTv16DAeDvUZPwFIqSXU13aVefFTWGLUx7E,3250
|
|
126
|
+
cxb/client/assets/index-D742rwaM.js,sha256=ivvY4EhQ0-ADpy1fu8TQtZuS6Qe707-SWWRWY-FWYJg,3381
|
|
127
|
+
cxb/client/assets/index-DTfhnhwd.js,sha256=YKLsTYhS7k2f1QwXRCyYdRn2vB_mwzsqinT1of7dcnc,354
|
|
128
|
+
cxb/client/assets/index-DdXRK7n9.js,sha256=UkW9YuMZ0_hZ3q9llWmO0UpkP4qNmXYMl1lLqmmZwQE,4047
|
|
129
|
+
cxb/client/assets/index-DtiCmB4o.js,sha256=nv7dVMmo1vex5ih5mMC9MNLLMGuCmy_ktOa1j4rXQ0M,1976
|
|
130
|
+
cxb/client/assets/index-NBrXBlLA.css,sha256=2mHbGZHluiEeZiiiubPFD2dGd6eL59WUa2qV8eSQqXs,376846
|
|
131
|
+
cxb/client/assets/index-ac-Buu_H.js,sha256=3tSelUaTXqOQbjivh39F9R8AoTY-PvFD4uGbFU_eEeQ,33755
|
|
132
|
+
cxb/client/assets/index-iYkH7C67.js,sha256=BFI8j9CqWYj8gKyfGZZp7dIrqoA7-Bnd9Za1-mTiLG0,3498
|
|
133
|
+
cxb/client/assets/info-B986lRiM.js,sha256=28efQ_ywUNQ5Od__oXFskmVy9ZWR48DgnuNs1bvoqlg,2226
|
|
134
|
+
cxb/client/assets/intl-messageformat-Dc5UU-HB.js,sha256=-5X21qzJD7TmWO2-DWDdxF8tql-Xdcq2QoUkBY54G00,6630
|
|
135
|
+
cxb/client/assets/jmespath-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
136
|
+
cxb/client/assets/json-schema-traverse-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
137
|
+
cxb/client/assets/json-source-map-DRgZidqy.js,sha256=2MWN6aGupPEd3Uk0Nki7JeURX8opsBCdC36BuxJRakI,4281
|
|
138
|
+
cxb/client/assets/jsonpath-plus-l0sNRNKZ.js,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
139
|
+
cxb/client/assets/jsonrepair-B30Dx381.js,sha256=HddBNX0dIMqRHTFT0VtfF33a4JgvMp9iCDYFWs9YGZs,6639
|
|
140
|
+
cxb/client/assets/lodash-es-DZVAA2ox.js,sha256=BvwNIFkh9lENGWunPRiHX9XxWJXVp17TiHEkaLLRpn0,25088
|
|
141
|
+
cxb/client/assets/marked-DKjyhwJX.js,sha256=qbydVfDQQTzCnxUXxgsroNwJZCzaf9QONfBPKmyOeEA,39673
|
|
142
|
+
cxb/client/assets/marked-gfm-heading-id-U5zO829x.js,sha256=237Q2hAeDNj3MAUeB3oQUy8Ov7oOYvvYprp2mt-HOU4,725
|
|
143
|
+
cxb/client/assets/marked-mangle-CDMeiHC6.js,sha256=WGaJNWouxQQExqwUZC5Dw3XvdVWQYHvEWXBtKXDDFHY,420
|
|
144
|
+
cxb/client/assets/memoize-one-BdPwpGay.js,sha256=jk5sfhm07ZMGDqLT1jqe27nsey2DIPbINp8U4bgP_QI,522
|
|
145
|
+
cxb/client/assets/natural-compare-lite-Bg2Xcf-o.js,sha256=9R5eHr3vTw4igb95odBTQ39r5ae-JGESqt0JQ27a1xc,808
|
|
146
|
+
cxb/client/assets/pagination-svelte-D5CyoiE_.js,sha256=-ppq9Dg-3wFdxmloAwaxmU4jU1HaypcXHo4OS6Dkk4s,4380
|
|
147
|
+
cxb/client/assets/pagination-svelte-v10nAbbM.css,sha256=7FtgdLOx-Wq4-TyF8CDDro2NF6jJwaNxbP3VI4g5uYI,3585
|
|
148
|
+
cxb/client/assets/plantuml-encoder-C47mzt9T.js,sha256=dpoe9r1lJmN-rbN-TAv2JnFgdWrFqExHUKs4JspxM7M,53041
|
|
149
|
+
cxb/client/assets/prismjs-DTUiLGJu.js,sha256=Nd_QmO8yEdbvZkliAEJjqktd3pFsLRRwJQt-Sd_pqXo,25847
|
|
150
|
+
cxb/client/assets/profile-BUf-tKMe.js,sha256=Ye_7fF8wYm6hR5u6KYRV1hMdweqW2q6_ZGpsNhrF1Y8,6527
|
|
151
|
+
cxb/client/assets/query-CNmXTsgf.js,sha256=iUE9_KIbABOdzswc4e8mcUs_PbDTo9V8nOmil0K7JSA,11363
|
|
152
|
+
cxb/client/assets/queryHelpers-C9iBWwqe.js,sha256=SkgdFEtjdTaD1cMVvKsdf5IQaMNUz74nTcj-pVDhQuw,501
|
|
153
|
+
cxb/client/assets/scroll-into-view-if-needed-KR58zyjF.js,sha256=Dw5KNhvWXAltb_qIh3e_f5ud5CQSxqHGHGlMf7BFGXc,897
|
|
154
|
+
cxb/client/assets/spaces-0oyGvpii.js,sha256=l9GvTbt-jiMyG8RGsCe3zAaYad0vQAhPjSBtdEp6htg,73
|
|
155
|
+
cxb/client/assets/style-mod-Bs6eFhZE.js,sha256=2P-Jrkn335imR7dWZ-lR1mVAhef16p050Fb80pVApVA,2194
|
|
156
|
+
cxb/client/assets/svelte-B2XmcTi_.js,sha256=bQk6kPr592D2TiwuMX7a6lt9YJB8UYeQMzvAtsxaP_s,61082
|
|
157
|
+
cxb/client/assets/svelte-awesome-COLlx0DN.css,sha256=5T3C0hIplhoXaGU3PJ-KPpPgB0uJTXN4n4eA21ChO3Y,448
|
|
158
|
+
cxb/client/assets/svelte-awesome-DhnMA6Q_.js,sha256=FEokMqwJ5WAhy_a2QNscieYkpS4mhAtR_NOPYzd7lD0,3858
|
|
159
|
+
cxb/client/assets/svelte-datatables-net-CY7LBj6I.js,sha256=PQZwUZsx3JjhI2W2Mwvsr4abTvEkbVl3osr3VpO-enk,4715
|
|
160
|
+
cxb/client/assets/svelte-floating-ui-BlS3sOAQ.js,sha256=lboSaEhc2oCTFSD5fkUaHSlxwtH8SGd4w3iLajcEySU,733
|
|
161
|
+
cxb/client/assets/svelte-i18n-CT2KkQaN.js,sha256=_LIkJDtwxRXQXVUvWxdc5z2BLNb4SwzSNyDE6lKWT3Q,7437
|
|
162
|
+
cxb/client/assets/svelte-jsoneditor-BzfX6Usi.css,sha256=5nvNv27PvUKYYgbHA1QpynYgdEoPCMoRzUlN8Ni2Fko,95514
|
|
163
|
+
cxb/client/assets/svelte-jsoneditor-CUGSvWId.js,sha256=IwxIH_L_eG1NdCYCtrkcEysxGflo66lL-SBa1cCYGMA,238060
|
|
164
|
+
cxb/client/assets/svelte-select-CegQKzqH.css,sha256=RW2XmPXMyUSPG672lEcT7Nhz1gaLfzTqoQjFG6Jb4zI,10652
|
|
165
|
+
cxb/client/assets/svelte-select-CjHAt_85.js,sha256=17YwjNfrW5d9x6GmOaHibTPVB_PZ7WBu9V_27MGcLrw,17176
|
|
166
|
+
cxb/client/assets/tailwind-merge-CJvxXMcu.js,sha256=PhlMjcf4Fs_9tgXtY97DfhD4crCI-S_zuZJACPZ4Q2E,25988
|
|
167
|
+
cxb/client/assets/tailwind-variants-Cj20BoQ3.js,sha256=Eofe15eg2u8pkjxy3tDaXMpq2etBq0Yzc15kSig_xEk,5489
|
|
168
|
+
cxb/client/assets/toast-B9WDyfyI.js,sha256=eJ0gQdgl4vAsHpcBUlXOPUrbNbk9Ii9Va5CdG0GRDGA,248
|
|
169
|
+
cxb/client/assets/tslib-pJfR_DrR.js,sha256=Kke-aujRqfYw2Ld4KusSVmRen6Lw2l8VKoYr2OW79mY,1231
|
|
170
|
+
cxb/client/assets/typewriter-editor-DkTVIJdm.js,sha256=YlETGGigYqnJdwnP4VkV7YAIoblWivupZuAHxu0KeDQ,52323
|
|
171
|
+
cxb/client/assets/user-DeK_NB5v.js,sha256=6VYTgmWgl7pVRgW6dD0gGKPKvvKnCEqpKy3ZlLOrQwQ,1253
|
|
172
|
+
cxb/client/assets/vanilla-picker-l5rcX3cq.js,sha256=B8KWTpJINp3oIXirDlwC683EYHZUPW76lAnHmeUPqEY,18814
|
|
173
|
+
cxb/client/assets/w3c-keyname-Vcq4gwWv.js,sha256=7NTN0-UTH-BpoJQqdC43Ec4Cdwj4Wv8viGg4W3EBqx8,1494
|
|
173
174
|
data_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
174
175
|
data_adapters/adapter.py,sha256=zR_yFd5ZI9vIQuUB6AUcF-LHgxOaxoREV2hogasivjQ,443
|
|
175
176
|
data_adapters/base_data_adapter.py,sha256=vG9WeHyw_c_BnH0EmudwPSNS6iMb5buQJiZS_9cm9p8,12055
|
|
@@ -246,19 +247,19 @@ utils/middleware.py,sha256=PAVwnLzs0cyT_ZIgc1slqadEOJNCPliLhOTjaYx0Waw,3399
|
|
|
246
247
|
utils/notification.py,sha256=O9oOeU9cRm3e9UAc-VJONWx-TzqbCMddFNaTQilE6ks,2479
|
|
247
248
|
utils/password_hashing.py,sha256=NZZsmtPG9Vkocipk3DlDKKHKUdxRKA4yOhCurD8dUhg,356
|
|
248
249
|
utils/plugin_manager.py,sha256=brQoE4u2WxH6EMvUOYQlnOnSUbKwha92-UfAgWUaHRU,7645
|
|
249
|
-
utils/query_policies_helper.py,sha256=
|
|
250
|
+
utils/query_policies_helper.py,sha256=Bf5qriQJ8CpUqPaQg5cdvNrn-92l_jKxHwsvXdegAZo,4796
|
|
250
251
|
utils/regex.py,sha256=cv9b_l_e8tz42mKckeeyDgypKqh2e71E28co2iuEVxA,2286
|
|
251
252
|
utils/repository.py,sha256=9L-IvQ0Js0SQ5OR-Rh0i2Wdu4H9H06r8eE84hfBIu7Q,18313
|
|
252
253
|
utils/router_helper.py,sha256=Tgoq3oakejdEeyeVieTNk38JsPZ8x5RuR0kw2THc1mI,604
|
|
253
|
-
utils/settings.py,sha256=
|
|
254
|
+
utils/settings.py,sha256=yjiudcgLVSIvKLQo9JtukmeLSU-6YTdggzWfZxiFoO8,5720
|
|
254
255
|
utils/sms_notifier.py,sha256=04D6D_ldk3S9SojI7_381pqLc8v9lligeNHAysohz7w,550
|
|
255
256
|
utils/social_sso.py,sha256=Dm1W6U9OwKbAeUwM-kwJBHFEoreeoN-s-RHdOZ1-cNg,2216
|
|
256
257
|
utils/ticket_sys_utils.py,sha256=9QAlW2iiy8KyxQRBDj_WmzS5kKb0aYJmGwd4qzmGVqo,7005
|
|
257
258
|
utils/web_notifier.py,sha256=QM87VVid2grC5lK3NdS1yzz0z1wXljr4GChJOeK86W4,843
|
|
258
259
|
utils/templates/activation.html.j2,sha256=XAMKCdoqONoc4ZQucD0yV-Pg5DlHHASZrTVItNS-iBE,640
|
|
259
260
|
utils/templates/reminder.html.j2,sha256=aoS8bTs56q4hjAZKsb0jV9c-PIURBELuBOpT_qPZNVU,639
|
|
260
|
-
dmart-1.4.
|
|
261
|
-
dmart-1.4.
|
|
262
|
-
dmart-1.4.
|
|
263
|
-
dmart-1.4.
|
|
264
|
-
dmart-1.4.
|
|
261
|
+
dmart-1.4.5.dist-info/METADATA,sha256=NHTuiYhJhvqlS9v3bwRbJhJT4GAkUhrJOKUNbdM5wJ8,2068
|
|
262
|
+
dmart-1.4.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
263
|
+
dmart-1.4.5.dist-info/entry_points.txt,sha256=GjfoGh1bpxuU9HHGJzbtCFPNptHv9TryxHMN3uBSKpg,37
|
|
264
|
+
dmart-1.4.5.dist-info/top_level.txt,sha256=iPbBisVNr4KDWyZhxMl2x3oJSgf71knWXMh21_xutrE,266
|
|
265
|
+
dmart-1.4.5.dist-info/RECORD,,
|
dmart.py
CHANGED
|
@@ -255,7 +255,17 @@ def hypercorn_main() -> int:
|
|
|
255
255
|
type=int,
|
|
256
256
|
)
|
|
257
257
|
args = parser.parse_args(sys.argv[1:])
|
|
258
|
-
|
|
258
|
+
|
|
259
|
+
# Set defaults if config file is not found
|
|
260
|
+
config = Config()
|
|
261
|
+
if args.config and os.path.exists(args.config):
|
|
262
|
+
config = Config.from_toml(args.config)
|
|
263
|
+
else:
|
|
264
|
+
# Default Hypercorn configuration
|
|
265
|
+
config.backlog = 2000
|
|
266
|
+
config.workers = 1
|
|
267
|
+
config.bind = ["localhost:8282"]
|
|
268
|
+
|
|
259
269
|
config.application_path = args.application
|
|
260
270
|
|
|
261
271
|
if args.log_level is not sentinel:
|
|
@@ -344,26 +354,25 @@ def hypercorn_main() -> int:
|
|
|
344
354
|
config.server_names = args.server_names
|
|
345
355
|
|
|
346
356
|
if args.open_cxb:
|
|
347
|
-
# Assuming default port 8282 if not specified in binds
|
|
348
357
|
port = 8282
|
|
349
358
|
host = "127.0.0.1"
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
if len(args.binds) > 0:
|
|
359
|
+
|
|
360
|
+
if len(config.bind) > 0:
|
|
353
361
|
try:
|
|
354
|
-
bind_parts =
|
|
362
|
+
bind_parts = config.bind[0].split(":")
|
|
355
363
|
if len(bind_parts) == 2:
|
|
356
364
|
host = bind_parts[0]
|
|
357
365
|
port = int(bind_parts[1])
|
|
358
366
|
elif len(bind_parts) == 1:
|
|
359
367
|
host = bind_parts[0]
|
|
360
|
-
except:
|
|
368
|
+
except Exception as e:
|
|
369
|
+
print(e)
|
|
361
370
|
pass
|
|
362
371
|
|
|
363
|
-
url = f"http://{host}:{port}
|
|
372
|
+
url = f"http://{host}:{port}/cxb/"
|
|
364
373
|
|
|
365
374
|
def open_browser():
|
|
366
|
-
time.sleep(2)
|
|
375
|
+
time.sleep(2)
|
|
367
376
|
webbrowser.open(url)
|
|
368
377
|
|
|
369
378
|
import threading
|
|
@@ -383,7 +392,6 @@ def main():
|
|
|
383
392
|
case "hyper":
|
|
384
393
|
hypercorn_main()
|
|
385
394
|
case "server" | "serve":
|
|
386
|
-
# Check for --open-cxb flag in server command arguments
|
|
387
395
|
open_cxb = False
|
|
388
396
|
if "--open-cxb" in sys.argv:
|
|
389
397
|
open_cxb = True
|
|
@@ -397,9 +405,9 @@ def main():
|
|
|
397
405
|
sys.argv.pop(idx)
|
|
398
406
|
|
|
399
407
|
if open_cxb:
|
|
400
|
-
url = f"http://{settings.listening_host}:{settings.listening_port}
|
|
408
|
+
url = f"http://{settings.listening_host}:{settings.listening_port}/cxb/"
|
|
401
409
|
def open_browser():
|
|
402
|
-
time.sleep(
|
|
410
|
+
time.sleep(1)
|
|
403
411
|
webbrowser.open(url)
|
|
404
412
|
|
|
405
413
|
import threading
|
main.py
CHANGED
|
@@ -31,7 +31,17 @@ from hypercorn.config import Config
|
|
|
31
31
|
from starlette.concurrency import iterate_in_threadpool
|
|
32
32
|
from starlette.exceptions import HTTPException as StarletteHTTPException
|
|
33
33
|
from starlette.staticfiles import StaticFiles
|
|
34
|
-
|
|
34
|
+
import models.api as api
|
|
35
|
+
from utils.settings import settings
|
|
36
|
+
from asgi_correlation_id import CorrelationIdMiddleware
|
|
37
|
+
from data_adapters.adapter import data_adapter as db
|
|
38
|
+
from api.managed.router import router as managed
|
|
39
|
+
from api.qr.router import router as qr
|
|
40
|
+
from api.public.router import router as public
|
|
41
|
+
from api.user.router import router as user
|
|
42
|
+
from api.info.router import router as info, git_info
|
|
43
|
+
from utils.internal_error_code import InternalErrorCode
|
|
44
|
+
|
|
35
45
|
|
|
36
46
|
class SPAStaticFiles(StaticFiles):
|
|
37
47
|
async def get_response(self, path: str, scope) -> Response:
|
|
@@ -44,16 +54,7 @@ class SPAStaticFiles(StaticFiles):
|
|
|
44
54
|
except StarletteHTTPException:
|
|
45
55
|
pass
|
|
46
56
|
raise ex
|
|
47
|
-
|
|
48
|
-
from utils.settings import settings
|
|
49
|
-
from asgi_correlation_id import CorrelationIdMiddleware
|
|
50
|
-
from data_adapters.adapter import data_adapter as db
|
|
51
|
-
from api.managed.router import router as managed
|
|
52
|
-
from api.qr.router import router as qr
|
|
53
|
-
from api.public.router import router as public
|
|
54
|
-
from api.user.router import router as user
|
|
55
|
-
from api.info.router import router as info, git_info
|
|
56
|
-
from utils.internal_error_code import InternalErrorCode
|
|
57
|
+
|
|
57
58
|
|
|
58
59
|
@asynccontextmanager
|
|
59
60
|
async def lifespan(app: FastAPI):
|
|
@@ -477,10 +478,9 @@ app.include_router(
|
|
|
477
478
|
# load plugins
|
|
478
479
|
asyncio.run(plugin_manager.load_plugins(app, capture_body))
|
|
479
480
|
|
|
480
|
-
|
|
481
|
+
|
|
481
482
|
cxb_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "cxb")
|
|
482
483
|
if not os.path.exists(cxb_path):
|
|
483
|
-
# Try relative to project root (development mode)
|
|
484
484
|
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
485
485
|
cxb_dist_path = os.path.join(project_root, "cxb", "dist", "client")
|
|
486
486
|
if os.path.isdir(cxb_dist_path):
|
|
@@ -489,26 +489,21 @@ if not os.path.exists(cxb_path):
|
|
|
489
489
|
if os.path.isdir(cxb_path):
|
|
490
490
|
@app.get(f"{settings.cxb_url}/config.json", include_in_schema=False)
|
|
491
491
|
async def get_cxb_config():
|
|
492
|
-
# Priority 0: Explicit path from flag
|
|
493
492
|
cxb_config = os.getenv("DMART_CXB_CONFIG")
|
|
494
493
|
if cxb_config and os.path.exists(cxb_config):
|
|
495
494
|
return FileResponse(cxb_config)
|
|
496
495
|
|
|
497
|
-
# Priority 1: Check in current directory (where dmart is run)
|
|
498
496
|
if os.path.exists("config.json"):
|
|
499
497
|
return FileResponse("config.json")
|
|
500
|
-
|
|
501
|
-
# Priority 2: Check in spaces folder (user directory)
|
|
498
|
+
|
|
502
499
|
user_config = settings.spaces_folder / "config.json"
|
|
503
500
|
if user_config.exists():
|
|
504
501
|
return FileResponse(user_config)
|
|
505
|
-
|
|
506
|
-
# Priority 3: Check in bundled CXB directory
|
|
502
|
+
|
|
507
503
|
bundled_config = os.path.join(cxb_path, "config.json")
|
|
508
504
|
if os.path.exists(bundled_config):
|
|
509
505
|
return FileResponse(bundled_config)
|
|
510
|
-
|
|
511
|
-
# Fallback to defaults generated from settings
|
|
506
|
+
|
|
512
507
|
return {
|
|
513
508
|
"title": "DMART Unified Data Platform",
|
|
514
509
|
"footer": "dmart.cc unified data platform",
|
utils/query_policies_helper.py
CHANGED
|
@@ -51,6 +51,21 @@ def generate_query_policies(
|
|
|
51
51
|
return query_policies
|
|
52
52
|
|
|
53
53
|
|
|
54
|
+
def matches_subpath(perm_key: str, space_name: str, query_subpath: str) -> bool:
|
|
55
|
+
if not perm_key.startswith(f"{space_name}:"):
|
|
56
|
+
return False
|
|
57
|
+
|
|
58
|
+
parts = perm_key.split(":", 2)
|
|
59
|
+
if len(parts) < 3:
|
|
60
|
+
return False
|
|
61
|
+
|
|
62
|
+
perm_subpath = parts[1].lstrip("/")
|
|
63
|
+
return (
|
|
64
|
+
query_subpath == perm_subpath
|
|
65
|
+
or query_subpath.startswith(perm_subpath + "/")
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
|
|
54
69
|
async def get_user_query_policies(
|
|
55
70
|
db,
|
|
56
71
|
user_shortname: str,
|
|
@@ -72,18 +87,19 @@ async def get_user_query_policies(
|
|
|
72
87
|
user_groups = (await db.load_user_meta(user_shortname)).groups or []
|
|
73
88
|
user_groups.append(user_shortname)
|
|
74
89
|
|
|
90
|
+
query_subpath = subpath.lstrip("/")
|
|
91
|
+
|
|
75
92
|
filtered_permissions = {
|
|
76
93
|
perm_key: permission
|
|
77
94
|
for perm_key, permission in user_permissions.items()
|
|
78
|
-
if (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
95
|
+
if 'query' in permission.get('allowed_actions', [])
|
|
96
|
+
and (
|
|
97
|
+
is_space
|
|
98
|
+
or perm_key.startswith(settings.all_spaces_mw)
|
|
99
|
+
or perm_key.startswith(f'{space_name}:__all_subpaths__')
|
|
100
|
+
or matches_subpath(perm_key, space_name, query_subpath)
|
|
101
|
+
)
|
|
85
102
|
}
|
|
86
|
-
|
|
87
103
|
sql_query_policies = []
|
|
88
104
|
for perm_key, permission in filtered_permissions.items():
|
|
89
105
|
perm_key = perm_key.replace(settings.all_spaces_mw, space_name)
|
utils/settings.py
CHANGED
|
@@ -79,7 +79,7 @@ class Settings(BaseSettings):
|
|
|
79
79
|
request_timeout: int = 35 # In seconds the time of dmart requests.
|
|
80
80
|
jq_timeout: int = 2 # secs
|
|
81
81
|
is_sha_required: bool = False
|
|
82
|
-
|
|
82
|
+
logout_on_pwd_change: bool = True
|
|
83
83
|
url_shorter_expires: int = 60 * 60 * 48 # 48 hours
|
|
84
84
|
|
|
85
85
|
google_client_id: str = ""
|
|
@@ -97,7 +97,7 @@ class Settings(BaseSettings):
|
|
|
97
97
|
active_operational_db: str = "redis" # allowed values: redis, manticore
|
|
98
98
|
active_data_db: str = "file" # allowed values: file, sql
|
|
99
99
|
|
|
100
|
-
database_driver: str = '
|
|
100
|
+
database_driver: str = 'sqlite+pysqlite'
|
|
101
101
|
database_username: str = 'postgres'
|
|
102
102
|
database_password: str = ''
|
|
103
103
|
database_host: str = 'localhost'
|