@northern.tech/store 0.30.0 → 0.30.2
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.
- package/dist/actions.cjs +21 -1130
- package/dist/actions.cjs.map +1 -1
- package/dist/actions.d.cts +212 -221
- package/dist/actions.d.ts +212 -220
- package/dist/actions.js +21 -18
- package/dist/actions.js.map +1 -1
- package/dist/api/general-api.cjs +61 -459
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.d.cts +15 -17
- package/dist/api/general-api.d.ts +15 -17
- package/dist/api/general-api.js +56 -15
- package/dist/api/general-api.js.map +1 -1
- package/dist/api/users-api.cjs +32 -469
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.d.cts +19 -14
- package/dist/api/users-api.d.ts +19 -13
- package/dist/api/users-api.js +30 -12
- package/dist/api/users-api.js.map +1 -1
- package/dist/appSlice/constants.cjs +190 -144
- package/dist/appSlice/constants.cjs.map +1 -1
- package/dist/appSlice/constants.d.cts +2 -159
- package/dist/appSlice/constants.d.ts +2 -159
- package/dist/appSlice/constants.js +181 -29
- package/dist/appSlice/constants.js.map +1 -1
- package/dist/appSlice/index.cjs +147 -178
- package/dist/appSlice/index.cjs.map +1 -1
- package/dist/appSlice/index.d.cts +2 -148
- package/dist/appSlice/index.d.ts +2 -148
- package/dist/appSlice/index.js +142 -18
- package/dist/appSlice/index.js.map +1 -1
- package/dist/appSlice/mocks.cjs +17 -191
- package/dist/appSlice/mocks.cjs.map +1 -1
- package/dist/appSlice/mocks.d.cts +33 -36
- package/dist/appSlice/mocks.d.ts +33 -36
- package/dist/appSlice/mocks.js +17 -25
- package/dist/appSlice/mocks.js.map +1 -1
- package/dist/appSlice/selectors.cjs +49 -91
- package/dist/appSlice/selectors.cjs.map +1 -1
- package/dist/appSlice/selectors.d.cts +216 -230
- package/dist/appSlice/selectors.d.ts +216 -230
- package/dist/appSlice/selectors.js +29 -44
- package/dist/appSlice/selectors.js.map +1 -1
- package/dist/appSlice/thunks.cjs +6 -4636
- package/dist/appSlice/thunks.d.cts +59 -62
- package/dist/appSlice/thunks.d.ts +59 -62
- package/dist/appSlice/thunks.js +2 -45
- package/dist/auth.cjs +68 -433
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.d.cts +14 -14
- package/dist/auth.d.ts +14 -14
- package/dist/auth.js +65 -18
- package/dist/auth.js.map +1 -1
- package/dist/chunk-CKQMccvm.cjs +28 -0
- package/dist/commonConstants.cjs +14 -393
- package/dist/commonConstants.d.cts +2 -83
- package/dist/commonConstants.d.ts +2 -83
- package/dist/commonConstants.js +2 -33
- package/dist/commonSelectors.cjs +284 -1269
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.d.cts +1623 -1416
- package/dist/commonSelectors.d.ts +1623 -1416
- package/dist/commonSelectors.js +277 -51
- package/dist/commonSelectors.js.map +1 -1
- package/dist/constants-5cdwz1iH.d.ts +160 -0
- package/dist/constants-BWEsNG5c.d.ts +28 -0
- package/dist/constants-BciiayPt.d.ts +17 -0
- package/dist/constants-C5AU0mCY.d.ts +157 -0
- package/dist/constants-CIx3fnBv.d.cts +17 -0
- package/dist/constants-CNhpIMME.d.cts +93 -0
- package/dist/constants-Cpgyuy_r.d.ts +57 -0
- package/dist/constants-D41U_jbR.d.cts +160 -0
- package/dist/constants-DK7fI3Rh.d.cts +28 -0
- package/dist/constants-DPLHhjVN.d.cts +157 -0
- package/dist/constants-DrwXHsJ1.d.ts +120 -0
- package/dist/constants-G3wymKIl.d.cts +57 -0
- package/dist/constants-MPLfugsi.d.cts +120 -0
- package/dist/constants-y2XVLQWf.d.ts +93 -0
- package/dist/constants.cjs +784 -972
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +8 -14
- package/dist/constants.d.ts +8 -14
- package/dist/constants.js +674 -232
- package/dist/constants.js.map +1 -1
- package/dist/deploymentsSlice/constants.cjs +15 -214
- package/dist/deploymentsSlice/constants.d.cts +2 -163
- package/dist/deploymentsSlice/constants.d.ts +2 -163
- package/dist/deploymentsSlice/constants.js +2 -35
- package/dist/deploymentsSlice/index.cjs +168 -302
- package/dist/deploymentsSlice/index.cjs.map +1 -1
- package/dist/deploymentsSlice/index.d.cts +2 -157
- package/dist/deploymentsSlice/index.d.ts +2 -157
- package/dist/deploymentsSlice/index.js +161 -18
- package/dist/deploymentsSlice/index.js.map +1 -1
- package/dist/deploymentsSlice/mocks.cjs +178 -433
- package/dist/deploymentsSlice/mocks.cjs.map +1 -1
- package/dist/deploymentsSlice/mocks.d.cts +176 -178
- package/dist/deploymentsSlice/mocks.d.ts +176 -178
- package/dist/deploymentsSlice/mocks.js +178 -144
- package/dist/deploymentsSlice/mocks.js.map +1 -1
- package/dist/deploymentsSlice/selectors.cjs +44 -223
- package/dist/deploymentsSlice/selectors.cjs.map +1 -1
- package/dist/deploymentsSlice/selectors.d.cts +73 -87
- package/dist/deploymentsSlice/selectors.d.ts +73 -87
- package/dist/deploymentsSlice/selectors.js +37 -25
- package/dist/deploymentsSlice/selectors.js.map +1 -1
- package/dist/deploymentsSlice/thunks.cjs +16 -4654
- package/dist/deploymentsSlice/thunks.d.cts +223 -236
- package/dist/deploymentsSlice/thunks.d.ts +223 -236
- package/dist/deploymentsSlice/thunks.js +2 -65
- package/dist/devicesSlice/constants.cjs +9 -68
- package/dist/devicesSlice/constants.d.cts +2 -37
- package/dist/devicesSlice/constants.d.ts +2 -37
- package/dist/devicesSlice/constants.js +2 -23
- package/dist/devicesSlice/index.cjs +215 -225
- package/dist/devicesSlice/index.cjs.map +1 -1
- package/dist/devicesSlice/index.d.cts +2 -202
- package/dist/devicesSlice/index.d.ts +2 -202
- package/dist/devicesSlice/index.js +209 -18
- package/dist/devicesSlice/index.js.map +1 -1
- package/dist/devicesSlice/mocks.cjs +146 -339
- package/dist/devicesSlice/mocks.cjs.map +1 -1
- package/dist/devicesSlice/mocks.d.cts +150 -148
- package/dist/devicesSlice/mocks.d.ts +150 -148
- package/dist/devicesSlice/mocks.js +145 -132
- package/dist/devicesSlice/mocks.js.map +1 -1
- package/dist/devicesSlice/selectors.cjs +145 -539
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.d.cts +685 -699
- package/dist/devicesSlice/selectors.d.ts +685 -699
- package/dist/devicesSlice/selectors.js +123 -59
- package/dist/devicesSlice/selectors.js.map +1 -1
- package/dist/devicesSlice/thunks.cjs +48 -4718
- package/dist/devicesSlice/thunks.d.cts +800 -752
- package/dist/devicesSlice/thunks.d.ts +800 -752
- package/dist/devicesSlice/thunks.js +2 -129
- package/dist/index-4eaLEXy_.d.cts +152 -0
- package/dist/index-BEVkIiNa.d.cts +95 -0
- package/dist/index-BP0uAq36.d.cts +159 -0
- package/dist/index-Bwx9jEiL.d.cts +71 -0
- package/dist/index-CJkrL0oA.d.ts +64 -0
- package/dist/index-CO-py5d4.d.ts +95 -0
- package/dist/index-CTt-eIY8.d.cts +154 -0
- package/dist/index-CkwVnIqd.d.ts +159 -0
- package/dist/index-Cvkvcz4r.d.ts +115 -0
- package/dist/index-DJSlDPRX.d.ts +71 -0
- package/dist/index-DqyY6oZ3.d.ts +205 -0
- package/dist/index-DtePEQPT.d.ts +152 -0
- package/dist/index-Dv3Hfxk_.d.ts +154 -0
- package/dist/index-FyYBBeN-.d.cts +115 -0
- package/dist/index-Lz5JsJ6O.d.cts +205 -0
- package/dist/index-UPc3wvVd.d.cts +64 -0
- package/dist/liststatehook.cjs +83 -948
- package/dist/liststatehook.cjs.map +1 -1
- package/dist/liststatehook.d.cts +29 -239
- package/dist/liststatehook.d.ts +29 -239
- package/dist/liststatehook.js +77 -85
- package/dist/liststatehook.js.map +1 -1
- package/dist/locationutils.cjs +459 -916
- package/dist/locationutils.cjs.map +1 -1
- package/dist/locationutils.d.cts +244 -110
- package/dist/locationutils.d.ts +244 -110
- package/dist/locationutils.js +440 -44
- package/dist/locationutils.js.map +1 -1
- package/dist/monitorSlice/constants.cjs +0 -19
- package/dist/monitorSlice/constants.d.cts +2 -5
- package/dist/monitorSlice/constants.d.ts +2 -5
- package/dist/monitorSlice/constants.js +1 -2
- package/dist/monitorSlice/index.cjs +65 -82
- package/dist/monitorSlice/index.cjs.map +1 -1
- package/dist/monitorSlice/index.d.cts +2 -94
- package/dist/monitorSlice/index.d.ts +2 -94
- package/dist/monitorSlice/index.js +59 -18
- package/dist/monitorSlice/index.js.map +1 -1
- package/dist/monitorSlice/mocks.cjs +50 -126
- package/dist/monitorSlice/mocks.cjs.map +1 -1
- package/dist/monitorSlice/mocks.d.cts +49 -45
- package/dist/monitorSlice/mocks.d.ts +49 -45
- package/dist/monitorSlice/mocks.js +49 -62
- package/dist/monitorSlice/mocks.js.map +1 -1
- package/dist/monitorSlice/selectors.cjs +5 -29
- package/dist/monitorSlice/selectors.cjs.map +1 -1
- package/dist/monitorSlice/selectors.d.cts +10 -1
- package/dist/monitorSlice/selectors.d.ts +10 -1
- package/dist/monitorSlice/selectors.js +5 -6
- package/dist/monitorSlice/selectors.js.map +1 -1
- package/dist/monitorSlice/thunks.cjs +83 -1914
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.d.cts +112 -120
- package/dist/monitorSlice/thunks.d.ts +112 -120
- package/dist/monitorSlice/thunks.js +78 -42
- package/dist/monitorSlice/thunks.js.map +1 -1
- package/dist/onboardingSlice/constants.cjs +44 -69
- package/dist/onboardingSlice/constants.cjs.map +1 -1
- package/dist/onboardingSlice/constants.d.cts +2 -26
- package/dist/onboardingSlice/constants.d.ts +2 -26
- package/dist/onboardingSlice/constants.js +43 -7
- package/dist/onboardingSlice/constants.js.map +1 -1
- package/dist/onboardingSlice/index.cjs +53 -73
- package/dist/onboardingSlice/index.cjs.map +1 -1
- package/dist/onboardingSlice/index.d.cts +2 -62
- package/dist/onboardingSlice/index.d.ts +2 -62
- package/dist/onboardingSlice/index.js +47 -13
- package/dist/onboardingSlice/index.js.map +1 -1
- package/dist/onboardingSlice/mocks.cjs +12 -81
- package/dist/onboardingSlice/mocks.cjs.map +1 -1
- package/dist/onboardingSlice/mocks.d.cts +14 -15
- package/dist/onboardingSlice/mocks.d.ts +14 -15
- package/dist/onboardingSlice/mocks.js +12 -15
- package/dist/onboardingSlice/mocks.js.map +1 -1
- package/dist/onboardingSlice/selectors.cjs +5 -29
- package/dist/onboardingSlice/selectors.cjs.map +1 -1
- package/dist/onboardingSlice/selectors.d.cts +6 -1
- package/dist/onboardingSlice/selectors.d.ts +6 -1
- package/dist/onboardingSlice/selectors.js +5 -6
- package/dist/onboardingSlice/selectors.js.map +1 -1
- package/dist/onboardingSlice/thunks.cjs +8 -4746
- package/dist/onboardingSlice/thunks.d.cts +124 -143
- package/dist/onboardingSlice/thunks.d.ts +124 -143
- package/dist/onboardingSlice/thunks.js +2 -49
- package/dist/organizationSlice/constants.cjs +11 -95
- package/dist/organizationSlice/constants.d.cts +2 -91
- package/dist/organizationSlice/constants.d.ts +2 -91
- package/dist/organizationSlice/constants.js +2 -27
- package/dist/organizationSlice/index.cjs +113 -152
- package/dist/organizationSlice/index.cjs.map +1 -1
- package/dist/organizationSlice/index.d.cts +2 -74
- package/dist/organizationSlice/index.d.ts +2 -74
- package/dist/organizationSlice/index.js +106 -18
- package/dist/organizationSlice/index.js.map +1 -1
- package/dist/organizationSlice/mocks.cjs +215 -406
- package/dist/organizationSlice/mocks.cjs.map +1 -1
- package/dist/organizationSlice/mocks.d.cts +209 -212
- package/dist/organizationSlice/mocks.d.ts +209 -212
- package/dist/organizationSlice/mocks.js +214 -184
- package/dist/organizationSlice/mocks.js.map +1 -1
- package/dist/organizationSlice/selectors.cjs +97 -474
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +381 -389
- package/dist/organizationSlice/selectors.d.ts +381 -389
- package/dist/organizationSlice/selectors.js +78 -50
- package/dist/organizationSlice/selectors.js.map +1 -1
- package/dist/organizationSlice/thunks.cjs +43 -5150
- package/dist/organizationSlice/thunks.d.cts +638 -649
- package/dist/organizationSlice/thunks.d.ts +638 -649
- package/dist/organizationSlice/thunks.js +2 -119
- package/dist/organizationSlice/types.cjs +0 -19
- package/dist/organizationSlice/types.d.cts +2 -88
- package/dist/organizationSlice/types.d.ts +2 -88
- package/dist/organizationSlice/types.js +1 -1
- package/dist/releasesSlice/constants.cjs +17 -41
- package/dist/releasesSlice/constants.cjs.map +1 -1
- package/dist/releasesSlice/constants.d.cts +2 -15
- package/dist/releasesSlice/constants.d.ts +2 -15
- package/dist/releasesSlice/constants.js +13 -14
- package/dist/releasesSlice/constants.js.map +1 -1
- package/dist/releasesSlice/index.cjs +106 -179
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.d.cts +2 -113
- package/dist/releasesSlice/index.d.ts +2 -113
- package/dist/releasesSlice/index.js +100 -18
- package/dist/releasesSlice/index.js.map +1 -1
- package/dist/releasesSlice/mocks.cjs +44 -220
- package/dist/releasesSlice/mocks.cjs.map +1 -1
- package/dist/releasesSlice/mocks.d.cts +63 -61
- package/dist/releasesSlice/mocks.d.ts +63 -61
- package/dist/releasesSlice/mocks.js +43 -59
- package/dist/releasesSlice/mocks.js.map +1 -1
- package/dist/releasesSlice/selectors.cjs +44 -439
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.d.cts +268 -280
- package/dist/releasesSlice/selectors.d.ts +268 -280
- package/dist/releasesSlice/selectors.js +31 -36
- package/dist/releasesSlice/selectors.js.map +1 -1
- package/dist/releasesSlice/thunks.cjs +422 -2175
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +305 -307
- package/dist/releasesSlice/thunks.d.ts +305 -307
- package/dist/releasesSlice/thunks.js +413 -65
- package/dist/releasesSlice/thunks.js.map +1 -1
- package/dist/selectors.cjs +136 -1530
- package/dist/selectors.d.cts +10 -36
- package/dist/selectors.d.ts +10 -36
- package/dist/selectors.js +10 -280
- package/dist/sockethook.cjs +140 -515
- package/dist/sockethook.cjs.map +1 -1
- package/dist/sockethook.d.cts +25 -9
- package/dist/sockethook.d.ts +25 -9
- package/dist/sockethook.js +134 -135
- package/dist/sockethook.js.map +1 -1
- package/dist/store-BQxOSRC1.d.ts +234 -0
- package/dist/store-BiIA0r0A.d.cts +234 -0
- package/dist/store.cjs +117 -1290
- package/dist/store.cjs.map +1 -1
- package/dist/store.d.cts +3 -206
- package/dist/store.d.ts +3 -206
- package/dist/store.js +110 -32
- package/dist/store.js.map +1 -1
- package/dist/storehooks.cjs +240 -5783
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.d.cts +76 -4
- package/dist/storehooks.d.ts +76 -4
- package/dist/storehooks.js +229 -265
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +2656 -5918
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +9 -36
- package/dist/thunks.d.ts +9 -36
- package/dist/thunks.js +2481 -385
- package/dist/thunks.js.map +1 -1
- package/dist/types-B2NRQLFw.d.ts +88 -0
- package/dist/types-ClEfo0dK.d.cts +88 -0
- package/dist/useDeploymentDevice.cjs +26 -4650
- package/dist/useDeploymentDevice.cjs.map +1 -1
- package/dist/useDeploymentDevice.d.cts +4 -2
- package/dist/useDeploymentDevice.d.ts +4 -2
- package/dist/useDeploymentDevice.js +21 -60
- package/dist/useDeploymentDevice.js.map +1 -1
- package/dist/usersSlice/constants.cjs +8 -55
- package/dist/usersSlice/constants.d.cts +2 -52
- package/dist/usersSlice/constants.d.ts +2 -52
- package/dist/usersSlice/constants.js +2 -21
- package/dist/usersSlice/index.cjs +132 -172
- package/dist/usersSlice/index.cjs.map +1 -1
- package/dist/usersSlice/index.d.cts +2 -152
- package/dist/usersSlice/index.d.ts +2 -152
- package/dist/usersSlice/index.js +125 -18
- package/dist/usersSlice/index.js.map +1 -1
- package/dist/usersSlice/mocks.cjs +55 -196
- package/dist/usersSlice/mocks.cjs.map +1 -1
- package/dist/usersSlice/mocks.d.cts +68 -72
- package/dist/usersSlice/mocks.d.ts +68 -72
- package/dist/usersSlice/mocks.js +54 -46
- package/dist/usersSlice/mocks.js.map +1 -1
- package/dist/usersSlice/selectors.cjs +65 -567
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.d.cts +364 -376
- package/dist/usersSlice/selectors.d.ts +364 -376
- package/dist/usersSlice/selectors.js +44 -50
- package/dist/usersSlice/selectors.js.map +1 -1
- package/dist/usersSlice/thunks.cjs +39 -4698
- package/dist/usersSlice/thunks.d.cts +820 -856
- package/dist/usersSlice/thunks.d.ts +820 -856
- package/dist/usersSlice/thunks.js +2 -111
- package/dist/utils-CO_CpGFP.d.ts +105 -0
- package/dist/utils-CpPfqW0Q.d.cts +105 -0
- package/dist/utils.cjs +231 -850
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +2 -80
- package/dist/utils.d.ts +2 -80
- package/dist/utils.js +211 -50
- package/dist/utils.js.map +1 -1
- package/package.json +11 -13
- package/dist/appSlice/thunks.cjs.map +0 -1
- package/dist/appSlice/thunks.js.map +0 -1
- package/dist/chunk-2DYA3X77.js +0 -15
- package/dist/chunk-2DYA3X77.js.map +0 -1
- package/dist/chunk-4BHM6WVX.js +0 -50
- package/dist/chunk-4BHM6WVX.js.map +0 -1
- package/dist/chunk-4UNLEL5A.js +0 -143
- package/dist/chunk-4UNLEL5A.js.map +0 -1
- package/dist/chunk-6V5IIIF7.js +0 -396
- package/dist/chunk-6V5IIIF7.js.map +0 -1
- package/dist/chunk-ARMI6SZS.js +0 -446
- package/dist/chunk-ARMI6SZS.js.map +0 -1
- package/dist/chunk-AZF4YY3P.js +0 -108
- package/dist/chunk-AZF4YY3P.js.map +0 -1
- package/dist/chunk-B5AI2YPV.js +0 -156
- package/dist/chunk-B5AI2YPV.js.map +0 -1
- package/dist/chunk-CQXDAXQF.js +0 -51
- package/dist/chunk-CQXDAXQF.js.map +0 -1
- package/dist/chunk-DBBE6D36.js +0 -115
- package/dist/chunk-DBBE6D36.js.map +0 -1
- package/dist/chunk-ECVQVQEL.js +0 -68
- package/dist/chunk-ECVQVQEL.js.map +0 -1
- package/dist/chunk-FAJ3I2UQ.js +0 -47
- package/dist/chunk-FAJ3I2UQ.js.map +0 -1
- package/dist/chunk-FCY7BUGK.js +0 -2876
- package/dist/chunk-FCY7BUGK.js.map +0 -1
- package/dist/chunk-FG37HJLC.js +0 -157
- package/dist/chunk-FG37HJLC.js.map +0 -1
- package/dist/chunk-FQAUVV6C.js +0 -246
- package/dist/chunk-FQAUVV6C.js.map +0 -1
- package/dist/chunk-HKN3RN2Z.js +0 -41
- package/dist/chunk-HKN3RN2Z.js.map +0 -1
- package/dist/chunk-HPKXWNEF.js +0 -100
- package/dist/chunk-HPKXWNEF.js.map +0 -1
- package/dist/chunk-JIS4PA3R.js +0 -7
- package/dist/chunk-JIS4PA3R.js.map +0 -1
- package/dist/chunk-JXBTIFMS.js +0 -82
- package/dist/chunk-JXBTIFMS.js.map +0 -1
- package/dist/chunk-JYPSCCT4.js +0 -58
- package/dist/chunk-JYPSCCT4.js.map +0 -1
- package/dist/chunk-L53CPHJU.js +0 -721
- package/dist/chunk-L53CPHJU.js.map +0 -1
- package/dist/chunk-MNJXEB7S.js +0 -304
- package/dist/chunk-MNJXEB7S.js.map +0 -1
- package/dist/chunk-NMAXZ3ZY.js +0 -1
- package/dist/chunk-NMAXZ3ZY.js.map +0 -1
- package/dist/chunk-NXLXPRYW.js +0 -142
- package/dist/chunk-NXLXPRYW.js.map +0 -1
- package/dist/chunk-O6VCSLNE.js +0 -59
- package/dist/chunk-O6VCSLNE.js.map +0 -1
- package/dist/chunk-PQADM3M3.js +0 -115
- package/dist/chunk-PQADM3M3.js.map +0 -1
- package/dist/chunk-SJ75YKOA.js +0 -44
- package/dist/chunk-SJ75YKOA.js.map +0 -1
- package/dist/chunk-TUPBZ6MQ.js +0 -162
- package/dist/chunk-TUPBZ6MQ.js.map +0 -1
- package/dist/chunk-XF3TZSZS.js +0 -25
- package/dist/chunk-XF3TZSZS.js.map +0 -1
- package/dist/chunk-YB3US6OT.js +0 -61
- package/dist/chunk-YB3US6OT.js.map +0 -1
- package/dist/chunk-YDDE5TIH.js +0 -204
- package/dist/chunk-YDDE5TIH.js.map +0 -1
- package/dist/chunk-YO22XLHI.js +0 -7
- package/dist/chunk-YO22XLHI.js.map +0 -1
- package/dist/chunk-Z2O6LYVP.js +0 -144
- package/dist/chunk-Z2O6LYVP.js.map +0 -1
- package/dist/chunk-ZKAH3APE.js +0 -1
- package/dist/chunk-ZKAH3APE.js.map +0 -1
- package/dist/commonConstants.cjs.map +0 -1
- package/dist/commonConstants.js.map +0 -1
- package/dist/deploymentsSlice/constants.cjs.map +0 -1
- package/dist/deploymentsSlice/constants.js.map +0 -1
- package/dist/deploymentsSlice/thunks.cjs.map +0 -1
- package/dist/deploymentsSlice/thunks.js.map +0 -1
- package/dist/devicesSlice/constants.cjs.map +0 -1
- package/dist/devicesSlice/constants.js.map +0 -1
- package/dist/devicesSlice/thunks.cjs.map +0 -1
- package/dist/devicesSlice/thunks.js.map +0 -1
- package/dist/monitorSlice/constants.cjs.map +0 -1
- package/dist/monitorSlice/constants.js.map +0 -1
- package/dist/onboardingSlice/thunks.cjs.map +0 -1
- package/dist/onboardingSlice/thunks.js.map +0 -1
- package/dist/organizationSlice/constants.cjs.map +0 -1
- package/dist/organizationSlice/constants.js.map +0 -1
- package/dist/organizationSlice/thunks.cjs.map +0 -1
- package/dist/organizationSlice/thunks.js.map +0 -1
- package/dist/organizationSlice/types.cjs.map +0 -1
- package/dist/organizationSlice/types.js.map +0 -1
- package/dist/selectors.cjs.map +0 -1
- package/dist/selectors.js.map +0 -1
- package/dist/usersSlice/constants.cjs.map +0 -1
- package/dist/usersSlice/constants.js.map +0 -1
- package/dist/usersSlice/thunks.cjs.map +0 -1
- package/dist/usersSlice/thunks.js.map +0 -1
package/dist/locationutils.js
CHANGED
|
@@ -1,46 +1,442 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
formatReleases,
|
|
33
|
-
formatTenants,
|
|
34
|
-
generateDeploymentsPath,
|
|
35
|
-
generateDevicePath,
|
|
36
|
-
generateReleasesPath,
|
|
37
|
-
generateTenantPath,
|
|
38
|
-
generateTenantPathById,
|
|
39
|
-
parseAuditlogsQuery,
|
|
40
|
-
parseDateParams,
|
|
41
|
-
parseDeploymentsQuery,
|
|
42
|
-
parseDeviceQuery,
|
|
43
|
-
parseReleasesQuery,
|
|
44
|
-
parseTenantsQuery
|
|
1
|
+
import { ALL_DEVICES, ATTRIBUTE_SCOPES, AUDIT_LOGS_TYPES, DEPLOYMENT_ROUTES, DEPLOYMENT_STATES, DEPLOYMENT_TYPES, DEVICE_FILTERING_OPTIONS, DEVICE_LIST_DEFAULTS, UNGROUPED_GROUP, emptyFilter } from "./constants.js";
|
|
2
|
+
import { deepCompare, getISOStringBoundaries } from "@northern.tech/utils/helpers";
|
|
3
|
+
//#region src/locationutils.ts
|
|
4
|
+
const SEPARATOR = ":";
|
|
5
|
+
const defaultSelector = (result) => result[0];
|
|
6
|
+
const commonFields = {
|
|
7
|
+
page: {
|
|
8
|
+
parse: Number,
|
|
9
|
+
select: defaultSelector,
|
|
10
|
+
target: "page"
|
|
11
|
+
},
|
|
12
|
+
perPage: {
|
|
13
|
+
parse: Number,
|
|
14
|
+
select: defaultSelector,
|
|
15
|
+
target: "perPage"
|
|
16
|
+
},
|
|
17
|
+
id: {
|
|
18
|
+
parse: String,
|
|
19
|
+
select: (i) => i,
|
|
20
|
+
target: "id"
|
|
21
|
+
},
|
|
22
|
+
issues: {
|
|
23
|
+
parse: void 0,
|
|
24
|
+
select: defaultSelector,
|
|
25
|
+
target: "selectedIssues"
|
|
26
|
+
},
|
|
27
|
+
open: {
|
|
28
|
+
parse: Boolean,
|
|
29
|
+
select: defaultSelector,
|
|
30
|
+
target: "open"
|
|
31
|
+
}
|
|
45
32
|
};
|
|
33
|
+
const scopes = {
|
|
34
|
+
identity: {
|
|
35
|
+
delimiter: "identity",
|
|
36
|
+
filters: []
|
|
37
|
+
},
|
|
38
|
+
inventory: {
|
|
39
|
+
delimiter: "inventory",
|
|
40
|
+
filters: []
|
|
41
|
+
},
|
|
42
|
+
monitor: {
|
|
43
|
+
delimiter: "monitor",
|
|
44
|
+
filters: []
|
|
45
|
+
},
|
|
46
|
+
system: {
|
|
47
|
+
delimiter: "system",
|
|
48
|
+
filters: []
|
|
49
|
+
},
|
|
50
|
+
tags: {
|
|
51
|
+
delimiter: "tags",
|
|
52
|
+
filters: []
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const commonProcessor = (searchParams) => {
|
|
56
|
+
const params = new URLSearchParams(searchParams);
|
|
57
|
+
const pageState = Object.entries(commonFields).reduce((accu, [key, { parse, select, target }]) => {
|
|
58
|
+
const values = params.getAll(key);
|
|
59
|
+
if (!values.length) return accu;
|
|
60
|
+
if (!parse) accu[target] = values;
|
|
61
|
+
else try {
|
|
62
|
+
accu[target] = select(values.map(parse));
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.log("encountered faulty url param, continue...", error);
|
|
65
|
+
}
|
|
66
|
+
return accu;
|
|
67
|
+
}, {});
|
|
68
|
+
Object.keys(commonFields).forEach((key) => params.delete(key));
|
|
69
|
+
const sort = params.has("sort") ? params.getAll("sort").reduce((sortAccu, scopedQuery) => {
|
|
70
|
+
const items = scopedQuery.split(SEPARATOR).reverse();
|
|
71
|
+
return [
|
|
72
|
+
"direction",
|
|
73
|
+
"key",
|
|
74
|
+
"scope"
|
|
75
|
+
].reduce((accu, key, index) => {
|
|
76
|
+
if (items[index]) accu[key] = items[index];
|
|
77
|
+
return accu;
|
|
78
|
+
}, sortAccu);
|
|
79
|
+
}, {}) : void 0;
|
|
80
|
+
params.delete("sort");
|
|
81
|
+
return {
|
|
82
|
+
pageState,
|
|
83
|
+
params,
|
|
84
|
+
sort
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
const legacyDeviceQueryParse = (searchParams, filteringAttributes) => {
|
|
88
|
+
const params = new URLSearchParams(searchParams);
|
|
89
|
+
const result = Object.keys(scopes).reduce((accu, scope) => ({
|
|
90
|
+
...accu,
|
|
91
|
+
[scope]: []
|
|
92
|
+
}), {});
|
|
93
|
+
if (params.get("group")) {
|
|
94
|
+
result.inventory.push({
|
|
95
|
+
...emptyFilter,
|
|
96
|
+
key: "group",
|
|
97
|
+
scope: ATTRIBUTE_SCOPES.inventory,
|
|
98
|
+
operator: DEVICE_FILTERING_OPTIONS.$eq.key,
|
|
99
|
+
value: params.get("group")
|
|
100
|
+
});
|
|
101
|
+
params.delete("group");
|
|
102
|
+
}
|
|
103
|
+
const filters = [...params.keys()].reduce((accu, key) => params.getAll(key).reduce((innerAccu, value) => {
|
|
104
|
+
const scope = Object.entries(filteringAttributes).reduce((foundScope, [currentScope, attributes]) => {
|
|
105
|
+
if (foundScope) return foundScope;
|
|
106
|
+
return attributes.includes(key) ? currentScope.substring(0, currentScope.indexOf("Attributes")) : foundScope;
|
|
107
|
+
}, void 0) ?? ATTRIBUTE_SCOPES.inventory;
|
|
108
|
+
innerAccu[scope].push({
|
|
109
|
+
...emptyFilter,
|
|
110
|
+
scope,
|
|
111
|
+
key,
|
|
112
|
+
operator: DEVICE_FILTERING_OPTIONS.$eq.key,
|
|
113
|
+
value
|
|
114
|
+
});
|
|
115
|
+
return innerAccu;
|
|
116
|
+
}, accu), result);
|
|
117
|
+
[...params.keys()].forEach((key) => params.delete(key));
|
|
118
|
+
return {
|
|
119
|
+
filters,
|
|
120
|
+
params
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
const scopedFilterParse = (searchParams) => {
|
|
124
|
+
const params = new URLSearchParams(searchParams);
|
|
125
|
+
const filters = Object.keys(scopes).reduce((accu, scope) => {
|
|
126
|
+
accu[scope] = [];
|
|
127
|
+
if (!params.has(scope)) return accu;
|
|
128
|
+
accu[scope] = params.getAll(scope).map((scopedQuery) => {
|
|
129
|
+
const items = scopedQuery.split(SEPARATOR);
|
|
130
|
+
return {
|
|
131
|
+
...emptyFilter,
|
|
132
|
+
scope,
|
|
133
|
+
key: items[0],
|
|
134
|
+
operator: `$${items[1]}`,
|
|
135
|
+
value: items.slice(2).join(SEPARATOR)
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
return accu;
|
|
139
|
+
}, {
|
|
140
|
+
identity: [],
|
|
141
|
+
inventory: [],
|
|
142
|
+
monitor: [],
|
|
143
|
+
system: [],
|
|
144
|
+
tags: []
|
|
145
|
+
});
|
|
146
|
+
Object.keys(scopes).forEach((scope) => params.delete(scope));
|
|
147
|
+
return {
|
|
148
|
+
filters,
|
|
149
|
+
params
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
const parseDeviceQuery = (searchParams, extraProps = {}) => {
|
|
153
|
+
let queryParams = new URLSearchParams(searchParams);
|
|
154
|
+
const { filteringAttributes = {}, pageState = {} } = extraProps;
|
|
155
|
+
const pageStateExtension = pageState.id?.length === 1 ? { open: true } : {};
|
|
156
|
+
let scopedFilters;
|
|
157
|
+
if (Object.values(filteringAttributes).some((scopeValues) => scopeValues.some((scopedValue) => queryParams.get(scopedValue))) && !Object.keys(scopes).some((scope) => queryParams.get(scope)) || queryParams.get("group")) {
|
|
158
|
+
const { filters, params } = legacyDeviceQueryParse(queryParams, filteringAttributes);
|
|
159
|
+
scopedFilters = filters;
|
|
160
|
+
queryParams = params;
|
|
161
|
+
} else {
|
|
162
|
+
const { filters, params } = scopedFilterParse(queryParams);
|
|
163
|
+
scopedFilters = filters;
|
|
164
|
+
queryParams = params;
|
|
165
|
+
}
|
|
166
|
+
let groupName = "";
|
|
167
|
+
const groupFilterIndex = scopedFilters.inventory.findIndex((filter) => filter.key === "group" && filter.operator === DEVICE_FILTERING_OPTIONS.$eq.key);
|
|
168
|
+
if (groupFilterIndex > -1) {
|
|
169
|
+
groupName = scopedFilters.inventory[groupFilterIndex].value;
|
|
170
|
+
scopedFilters.inventory.splice(groupFilterIndex, 1);
|
|
171
|
+
}
|
|
172
|
+
const detailsTab = queryParams.has("tab") ? queryParams.get("tab") : "";
|
|
173
|
+
const groupId = queryParams.has("groupId") ? queryParams.get("groupId") : "";
|
|
174
|
+
return {
|
|
175
|
+
detailsTab,
|
|
176
|
+
filters: Object.values(scopedFilters).flat(),
|
|
177
|
+
groupName,
|
|
178
|
+
...pageStateExtension,
|
|
179
|
+
groupId
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
const formatSorting = (sort, { sort: sortDefault }) => {
|
|
183
|
+
if (!sort || deepCompare(sort, sortDefault)) return "";
|
|
184
|
+
return `sort=${[
|
|
185
|
+
"scope",
|
|
186
|
+
"key",
|
|
187
|
+
"direction"
|
|
188
|
+
].reduce((accu, key) => {
|
|
189
|
+
if (!sort[key]) return accu;
|
|
190
|
+
accu.push(sort[key]);
|
|
191
|
+
return accu;
|
|
192
|
+
}, []).join(SEPARATOR)}`;
|
|
193
|
+
};
|
|
194
|
+
const formatPageState = ({ selectedId, selectedIssues, page, perPage, sort }, { defaults }) => Object.entries({
|
|
195
|
+
page,
|
|
196
|
+
perPage,
|
|
197
|
+
id: selectedId,
|
|
198
|
+
issues: selectedIssues,
|
|
199
|
+
open: selectedId ? true : void 0
|
|
200
|
+
}).reduce((accu, [key, value]) => {
|
|
201
|
+
if (Array.isArray(value)) accu.push(...value.map((item) => `${key}=${encodeURIComponent(item)}`));
|
|
202
|
+
else if ((DEVICE_LIST_DEFAULTS[key] != value || !Object.hasOwn(DEVICE_LIST_DEFAULTS, key)) && value) accu.push(`${key}=${encodeURIComponent(value)}`);
|
|
203
|
+
return accu;
|
|
204
|
+
}, [formatSorting(sort, defaults)]).filter((i) => i).join("&");
|
|
205
|
+
const stripFilterOperator = (operator) => operator.replaceAll("$", "");
|
|
206
|
+
const formatFilters = (filters) => {
|
|
207
|
+
const result = filters.reduce((accu, filter) => {
|
|
208
|
+
const { scope = ATTRIBUTE_SCOPES.inventory, operator = "$eq" } = filter;
|
|
209
|
+
accu[scope].add(`${scopes[scope].delimiter}=${filter.key}${SEPARATOR}${stripFilterOperator(operator)}${SEPARATOR}${encodeURIComponent(filter.value)}`);
|
|
210
|
+
return accu;
|
|
211
|
+
}, Object.keys(scopes).reduce((accu, item) => ({
|
|
212
|
+
...accu,
|
|
213
|
+
[item]: /* @__PURE__ */ new Set()
|
|
214
|
+
}), {}));
|
|
215
|
+
return Object.values(result).map((filterSet) => [...filterSet]).flat();
|
|
216
|
+
};
|
|
217
|
+
const formatDeviceSearch = ({ pageState, filters, selectedGroup, groupId }) => {
|
|
218
|
+
let activeFilters = [...filters];
|
|
219
|
+
if (selectedGroup && selectedGroup !== ALL_DEVICES) {
|
|
220
|
+
const isUngroupedGroup = selectedGroup === UNGROUPED_GROUP.id;
|
|
221
|
+
activeFilters = isUngroupedGroup ? activeFilters.filter((filter) => !(filter.key === "group" && filter.scope === ATTRIBUTE_SCOPES.system && filter.operator === DEVICE_FILTERING_OPTIONS.$nin.key)) : activeFilters;
|
|
222
|
+
const groupName = isUngroupedGroup ? UNGROUPED_GROUP.name : selectedGroup;
|
|
223
|
+
activeFilters.push({
|
|
224
|
+
scope: ATTRIBUTE_SCOPES.inventory,
|
|
225
|
+
key: "group",
|
|
226
|
+
operator: DEVICE_FILTERING_OPTIONS.$eq.key,
|
|
227
|
+
value: groupName
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
const formattedFilters = formatFilters(activeFilters).filter((i) => i);
|
|
231
|
+
if (pageState.detailsTab && pageState.selectedId) formattedFilters.push(`tab=${pageState.detailsTab}`);
|
|
232
|
+
if (groupId) formattedFilters.push(`groupId=${groupId}`);
|
|
233
|
+
return formattedFilters.join("&");
|
|
234
|
+
};
|
|
235
|
+
const generateDevicePath = ({ pageState }) => {
|
|
236
|
+
const { state: selectedState } = pageState;
|
|
237
|
+
const path = ["/devices"];
|
|
238
|
+
if (selectedState !== "") path.push(selectedState);
|
|
239
|
+
return path.join("/");
|
|
240
|
+
};
|
|
241
|
+
const formatDates = ({ endDate, params, startDate, today, tonight }) => {
|
|
242
|
+
if (endDate && endDate !== tonight) params.set("endDate", endDate.split("T")[0]);
|
|
243
|
+
if (startDate && startDate !== today) params.set("startDate", startDate.split("T")[0]);
|
|
244
|
+
return params;
|
|
245
|
+
};
|
|
246
|
+
const paramReducer = (accu, [key, value]) => {
|
|
247
|
+
if (value) accu.set(key, value);
|
|
248
|
+
return accu;
|
|
249
|
+
};
|
|
250
|
+
const formatAuditlogs = ({ pageState }, { today, tonight }) => {
|
|
251
|
+
const { detail, endDate, startDate, type, user } = pageState;
|
|
252
|
+
let params = new URLSearchParams();
|
|
253
|
+
let userId = user;
|
|
254
|
+
if (typeof user === "object" && user?.id) userId = user.id;
|
|
255
|
+
params = Object.entries({
|
|
256
|
+
objectId: detail,
|
|
257
|
+
userId
|
|
258
|
+
}).reduce(paramReducer, params);
|
|
259
|
+
if (type) params.set("objectType", typeof type === "object" ? type.value ?? "" : type);
|
|
260
|
+
params = formatDates({
|
|
261
|
+
endDate,
|
|
262
|
+
params,
|
|
263
|
+
startDate,
|
|
264
|
+
today,
|
|
265
|
+
tonight
|
|
266
|
+
});
|
|
267
|
+
return params.toString();
|
|
268
|
+
};
|
|
269
|
+
const parseDateParams = (params, today, tonight) => {
|
|
270
|
+
let endDate = tonight;
|
|
271
|
+
const endDateParam = params.get("endDate");
|
|
272
|
+
if (endDateParam) endDate = getISOStringBoundaries(new Date(endDateParam)).end;
|
|
273
|
+
let startDate = today;
|
|
274
|
+
const startDateParam = params.get("startDate");
|
|
275
|
+
if (startDateParam) startDate = getISOStringBoundaries(new Date(startDateParam)).start;
|
|
276
|
+
return {
|
|
277
|
+
endDate,
|
|
278
|
+
startDate
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
const parseAuditlogsQuery = (params, { today, tonight }) => {
|
|
282
|
+
const type = AUDIT_LOGS_TYPES.find((typeObject) => typeObject.value === params.get("objectType"));
|
|
283
|
+
const { endDate, startDate } = parseDateParams(params, today, tonight);
|
|
284
|
+
return {
|
|
285
|
+
detail: params.get("objectId"),
|
|
286
|
+
endDate,
|
|
287
|
+
startDate,
|
|
288
|
+
type,
|
|
289
|
+
user: params.get("userId")
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
const formatActiveDeployments = (pageState, { defaults }) => [DEPLOYMENT_STATES.inprogress, DEPLOYMENT_STATES.pending].reduce((accu, state) => {
|
|
293
|
+
const { page, perPage } = pageState[state] ?? {};
|
|
294
|
+
const stateDefaults = defaults[state] ?? {};
|
|
295
|
+
const items = Object.entries({
|
|
296
|
+
page,
|
|
297
|
+
perPage
|
|
298
|
+
}).reverse().reduce((keyAccu, [key, value]) => {
|
|
299
|
+
if (value && value !== stateDefaults[key] || keyAccu.length) keyAccu.unshift(value || stateDefaults[key]);
|
|
300
|
+
return keyAccu;
|
|
301
|
+
}, []);
|
|
302
|
+
if (items.length) accu.push(`${state}=${items.join(SEPARATOR)}`);
|
|
303
|
+
return accu;
|
|
304
|
+
}, []).filter((i) => i).join("&");
|
|
305
|
+
const formatDeployments = ({ deploymentObject, pageState }, { defaults, today, tonight }) => {
|
|
306
|
+
const { state: selectedState, showCreationDialog } = pageState.general;
|
|
307
|
+
let params = new URLSearchParams();
|
|
308
|
+
if (showCreationDialog) {
|
|
309
|
+
params.set("open", "true");
|
|
310
|
+
if (deploymentObject.release) params.set("release", deploymentObject.release.name);
|
|
311
|
+
if (deploymentObject.devices?.length) deploymentObject.devices.forEach(({ id }) => params.append("deviceId", id));
|
|
312
|
+
}
|
|
313
|
+
let pageStateQuery;
|
|
314
|
+
if (selectedState === DEPLOYMENT_ROUTES.finished.key) {
|
|
315
|
+
const { endDate, search, startDate, type } = pageState[selectedState];
|
|
316
|
+
params = formatDates({
|
|
317
|
+
endDate,
|
|
318
|
+
params,
|
|
319
|
+
startDate,
|
|
320
|
+
today,
|
|
321
|
+
tonight
|
|
322
|
+
});
|
|
323
|
+
params = Object.entries({
|
|
324
|
+
search,
|
|
325
|
+
type
|
|
326
|
+
}).reduce(paramReducer, params);
|
|
327
|
+
pageStateQuery = formatPageState(pageState[selectedState], { defaults: { sort: defaults.sort } });
|
|
328
|
+
} else if (selectedState === DEPLOYMENT_ROUTES.scheduled.key) pageStateQuery = formatPageState(pageState[selectedState], { defaults: { sort: defaults.sort } });
|
|
329
|
+
else pageStateQuery = formatActiveDeployments(pageState, { defaults });
|
|
330
|
+
return [pageStateQuery, params.toString()].filter((i) => i).join("&");
|
|
331
|
+
};
|
|
332
|
+
const deploymentsPath = "deployments/";
|
|
333
|
+
const parseDeploymentsPath = (path) => {
|
|
334
|
+
const parts = path.split(deploymentsPath);
|
|
335
|
+
if (parts.length > 1 && Object.keys(DEPLOYMENT_ROUTES).includes(parts[1])) return parts[1];
|
|
336
|
+
return "";
|
|
337
|
+
};
|
|
338
|
+
const parseActiveDeployments = (params) => [DEPLOYMENT_STATES.inprogress, DEPLOYMENT_STATES.pending].reduce((accu, state) => {
|
|
339
|
+
if (!params.has(state)) return accu;
|
|
340
|
+
const items = params.get(state).split(SEPARATOR);
|
|
341
|
+
accu[state] = Object.keys(DEVICE_LIST_DEFAULTS).reduce((stateAccu, key, index) => items[index] ? {
|
|
342
|
+
...stateAccu,
|
|
343
|
+
[key]: Number(items[index])
|
|
344
|
+
} : stateAccu, {});
|
|
345
|
+
return accu;
|
|
346
|
+
}, {});
|
|
347
|
+
const deploymentFields = {
|
|
348
|
+
deviceId: {
|
|
349
|
+
attribute: "devices",
|
|
350
|
+
parse: (id) => ({ id }),
|
|
351
|
+
select: (i) => i
|
|
352
|
+
},
|
|
353
|
+
release: {
|
|
354
|
+
attribute: "release",
|
|
355
|
+
parse: String,
|
|
356
|
+
select: defaultSelector
|
|
357
|
+
}
|
|
358
|
+
};
|
|
359
|
+
const parseDeploymentsQuery = (params, { pageState, location, tonight }) => {
|
|
360
|
+
const { endDate, startDate } = parseDateParams(params, "", tonight);
|
|
361
|
+
const deploymentObject = Object.entries(deploymentFields).reduce((accu, [key, { attribute, parse, select }]) => params.has(key) ? {
|
|
362
|
+
...accu,
|
|
363
|
+
[attribute]: select(params.getAll(key).map(parse))
|
|
364
|
+
} : accu, {});
|
|
365
|
+
const { state: selectedState, id, open, ...remainingPageState } = pageState;
|
|
366
|
+
const deploymentsTab = parseDeploymentsPath(location.pathname) || selectedState || DEPLOYMENT_ROUTES.active.key;
|
|
367
|
+
let state = {
|
|
368
|
+
deploymentObject,
|
|
369
|
+
general: {
|
|
370
|
+
showCreationDialog: Boolean(open && !id),
|
|
371
|
+
showReportDialog: Boolean(open && id),
|
|
372
|
+
state: deploymentsTab
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
if (deploymentsTab === DEPLOYMENT_ROUTES.finished.key) {
|
|
376
|
+
const typeParam = params.get("type");
|
|
377
|
+
const type = typeParam ? DEPLOYMENT_TYPES[typeParam] || "" : "";
|
|
378
|
+
const search = params.get("search") || "";
|
|
379
|
+
state[deploymentsTab] = {
|
|
380
|
+
...remainingPageState,
|
|
381
|
+
endDate,
|
|
382
|
+
search,
|
|
383
|
+
startDate,
|
|
384
|
+
type
|
|
385
|
+
};
|
|
386
|
+
} else if (deploymentsTab === DEPLOYMENT_ROUTES.scheduled.key) state[deploymentsTab] = { ...remainingPageState };
|
|
387
|
+
else state = {
|
|
388
|
+
...state,
|
|
389
|
+
...parseActiveDeployments(params)
|
|
390
|
+
};
|
|
391
|
+
return state;
|
|
392
|
+
};
|
|
393
|
+
const generateDeploymentsPath = ({ pageState }) => {
|
|
394
|
+
const { state: selectedState = DEPLOYMENT_ROUTES.active.key } = pageState.general;
|
|
395
|
+
return `/deployments/${selectedState}`;
|
|
396
|
+
};
|
|
397
|
+
const releasesRoot = "/software";
|
|
398
|
+
const formatReleases = ({ pageState: { id, searchTerm, selectedTags = [], tab, type } }) => Object.entries({
|
|
399
|
+
name: searchTerm,
|
|
400
|
+
tab,
|
|
401
|
+
type,
|
|
402
|
+
id
|
|
403
|
+
}).reduce((accu, [key, value]) => value ? [...accu, `${key}=${value}`] : accu, selectedTags.map((tag) => `tag=${tag}`)).join("&");
|
|
404
|
+
const generateReleasesPath = ({ pageState: { selectedRelease } }) => `${releasesRoot}${selectedRelease ? `/${encodeURIComponent(selectedRelease)}` : ""}`;
|
|
405
|
+
const parseReleasesQuery = (queryParams, extraProps) => {
|
|
406
|
+
const name = queryParams.has("name") ? queryParams.get("name") : "";
|
|
407
|
+
const tab = queryParams.has("tab") ? queryParams.get("tab") : void 0;
|
|
408
|
+
const tags = queryParams.has("tag") ? queryParams.getAll("tag") : [];
|
|
409
|
+
const type = queryParams.has("type") ? queryParams.get("type") : "";
|
|
410
|
+
let selectedRelease = decodeURIComponent(extraProps.location.pathname.substring(10));
|
|
411
|
+
let selectedJob;
|
|
412
|
+
if (extraProps.pageState?.id?.length && tab === "delta") selectedJob = extraProps.pageState.id[0];
|
|
413
|
+
else if (!selectedRelease && extraProps.pageState?.id?.length) selectedRelease = extraProps.pageState.id[0];
|
|
414
|
+
return {
|
|
415
|
+
searchTerm: name,
|
|
416
|
+
selectedJob,
|
|
417
|
+
selectedRelease,
|
|
418
|
+
tab,
|
|
419
|
+
tags,
|
|
420
|
+
type
|
|
421
|
+
};
|
|
422
|
+
};
|
|
423
|
+
const tenantsRoot = "/tenants";
|
|
424
|
+
const generateTenantPath = ({ pageState: { selectedTenant } }) => {
|
|
425
|
+
if (selectedTenant) return `${tenantsRoot}/${encodeURIComponent(selectedTenant)}`;
|
|
426
|
+
else return tenantsRoot;
|
|
427
|
+
};
|
|
428
|
+
const generateTenantPathById = (id) => id ? `${tenantsRoot}/${encodeURIComponent(id)}` : tenantsRoot;
|
|
429
|
+
const parseTenantsQuery = (queryParams, extraProps) => {
|
|
430
|
+
const name = queryParams.has("name") ? queryParams.get("name") : "";
|
|
431
|
+
let selectedTenant = extraProps.location.pathname.substring(9);
|
|
432
|
+
if (!selectedTenant && extraProps.pageState.id?.length) selectedTenant = extraProps.pageState.id[0];
|
|
433
|
+
return {
|
|
434
|
+
name,
|
|
435
|
+
selectedTenant
|
|
436
|
+
};
|
|
437
|
+
};
|
|
438
|
+
const formatTenants = () => "";
|
|
439
|
+
//#endregion
|
|
440
|
+
export { commonProcessor, formatAuditlogs, formatDeployments, formatDeviceSearch, formatPageState, formatReleases, formatTenants, generateDeploymentsPath, generateDevicePath, generateReleasesPath, generateTenantPath, generateTenantPathById, parseAuditlogsQuery, parseDateParams, parseDeploymentsQuery, parseDeviceQuery, parseReleasesQuery, parseTenantsQuery };
|
|
441
|
+
|
|
46
442
|
//# sourceMappingURL=locationutils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"file":"locationutils.js","names":[],"sources":["../src/locationutils.ts"],"sourcesContent":["// Copyright 2022 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Scope } from '@northern.tech/types/MenderTypes';\nimport { deepCompare, getISOStringBoundaries } from '@northern.tech/utils/helpers';\n\nimport type { FilterOperator, PaginationOptions, SortOptions } from './constants';\nimport {\n ALL_DEVICES,\n ATTRIBUTE_SCOPES,\n AUDIT_LOGS_TYPES,\n DEPLOYMENT_ROUTES,\n DEPLOYMENT_STATES,\n DEPLOYMENT_TYPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n UNGROUPED_GROUP,\n emptyFilter\n} from './constants';\nimport type { DeviceFilter } from './devicesSlice';\n\nconst SEPARATOR = ':';\n\ntype FieldConfig = {\n parse: ((val: string) => unknown) | undefined;\n select: (values: unknown[]) => unknown;\n target: string;\n};\n\nconst defaultSelector = <T>(result: T[]): T => result[0];\n\nconst commonFields: Record<string, FieldConfig> = {\n page: { parse: Number, select: defaultSelector, target: 'page' },\n perPage: { parse: Number, select: defaultSelector, target: 'perPage' },\n id: { parse: String, select: (i: unknown[]): unknown[] => i, target: 'id' },\n issues: { parse: undefined, select: defaultSelector, target: 'selectedIssues' },\n open: { parse: Boolean, select: defaultSelector, target: 'open' }\n};\n\ntype ScopeConfig = { delimiter: string; filters: DeviceFilter[] };\n\nconst scopes: Record<Scope, ScopeConfig> = {\n identity: { delimiter: 'identity', filters: [] },\n inventory: { delimiter: 'inventory', filters: [] },\n monitor: { delimiter: 'monitor', filters: [] },\n system: { delimiter: 'system', filters: [] },\n tags: { delimiter: 'tags', filters: [] }\n};\n\nexport type PageState = Partial<PaginationOptions> & {\n [key: string]: unknown;\n detailsTab?: string;\n id?: string[];\n open?: boolean;\n selectedId?: string;\n selectedIssues?: string[];\n state?: string;\n};\n\nexport type CommonProcessorResult = {\n pageState: PageState;\n params: URLSearchParams;\n sort: Partial<SortOptions> | undefined;\n};\n\nexport const commonProcessor = (searchParams: string | URLSearchParams): CommonProcessorResult => {\n const params = new URLSearchParams(searchParams);\n const pageState = Object.entries(commonFields).reduce<PageState>((accu, [key, { parse, select, target }]) => {\n const values = params.getAll(key);\n if (!values.length) {\n return accu;\n }\n if (!parse) {\n accu[target] = values;\n } else {\n try {\n accu[target] = select(values.map(parse) as unknown[]);\n } catch (error) {\n console.log('encountered faulty url param, continue...', error);\n }\n }\n return accu;\n }, {} as PageState);\n Object.keys(commonFields).forEach(key => params.delete(key));\n const sort = params.has('sort')\n ? params.getAll('sort').reduce<Partial<SortOptions>>((sortAccu, scopedQuery) => {\n const items = scopedQuery.split(SEPARATOR).reverse();\n return (['direction', 'key', 'scope'] as const).reduce<Record<string, string>>((accu, key, index) => {\n if (items[index]) {\n accu[key] = items[index];\n }\n return accu;\n }, sortAccu);\n }, {})\n : undefined;\n params.delete('sort');\n return { pageState, params, sort };\n};\n\ntype FilteringAttributes = Record<string, string[]>;\ntype ScopedFilters = Record<Scope, DeviceFilter[]>;\n\nconst legacyDeviceQueryParse = (\n searchParams: URLSearchParams,\n filteringAttributes: FilteringAttributes\n): { filters: ScopedFilters; params: URLSearchParams } => {\n const params = new URLSearchParams(searchParams);\n const result: ScopedFilters = Object.keys(scopes).reduce((accu, scope) => ({ ...accu, [scope]: [] }), {} as ScopedFilters);\n if (params.get('group')) {\n result.inventory.push({\n ...emptyFilter,\n key: 'group',\n scope: ATTRIBUTE_SCOPES.inventory,\n operator: DEVICE_FILTERING_OPTIONS.$eq.key,\n value: params.get('group') as string\n });\n params.delete('group');\n }\n const filters = [...params.keys()].reduce<Record<Scope, DeviceFilter[]>>(\n (accu, key) =>\n params.getAll(key).reduce((innerAccu, value) => {\n const scope =\n Object.entries(filteringAttributes).reduce<string | undefined>((foundScope, [currentScope, attributes]) => {\n if (foundScope) {\n return foundScope;\n }\n return attributes.includes(key) ? currentScope.substring(0, currentScope.indexOf('Attributes')) : foundScope;\n }, undefined) ?? ATTRIBUTE_SCOPES.inventory;\n innerAccu[scope].push({ ...emptyFilter, scope, key, operator: DEVICE_FILTERING_OPTIONS.$eq.key as FilterOperator, value });\n return innerAccu;\n }, accu),\n result\n );\n [...params.keys()].forEach(key => params.delete(key));\n return { filters, params };\n};\n\nconst scopedFilterParse = (searchParams: URLSearchParams): { filters: ScopedFilters; params: URLSearchParams } => {\n const params = new URLSearchParams(searchParams);\n const filters = Object.keys(scopes).reduce<ScopedFilters>(\n (accu, scope) => {\n accu[scope] = [];\n if (!params.has(scope)) {\n return accu;\n }\n accu[scope] = params.getAll(scope).map(scopedQuery => {\n const items = scopedQuery.split(SEPARATOR);\n // URLSearchParams will automatically decode any URI encoding present in the query string, thus we have to also handle queries with a SEPARATOR separately\n return { ...emptyFilter, scope, key: items[0], operator: `$${items[1]}` as FilterOperator, value: items.slice(2).join(SEPARATOR) };\n });\n return accu;\n },\n { identity: [], inventory: [], monitor: [], system: [], tags: [] }\n );\n Object.keys(scopes).forEach(scope => params.delete(scope));\n return { filters, params };\n};\n\ntype ParseDeviceQueryExtraProps = {\n filteringAttributes?: FilteringAttributes;\n pageState?: PageState;\n};\n\nexport type ParseDeviceQueryResult = {\n detailsTab: string | null;\n filters: DeviceFilter[];\n groupId: string | null;\n groupName: string;\n open?: boolean;\n};\n\n// filters, selectedGroup\nexport const parseDeviceQuery = (searchParams: URLSearchParams, extraProps: ParseDeviceQueryExtraProps = {}): ParseDeviceQueryResult => {\n let queryParams = new URLSearchParams(searchParams);\n const { filteringAttributes = {}, pageState = {} } = extraProps;\n const pageStateExtension = pageState.id?.length === 1 ? { open: true } : {};\n\n let scopedFilters: ScopedFilters;\n const refersOldStyleAttributes = Object.values(filteringAttributes).some(scopeValues =>\n (scopeValues as string[]).some(scopedValue => queryParams.get(scopedValue))\n );\n if ((refersOldStyleAttributes && !Object.keys(scopes).some(scope => queryParams.get(scope))) || queryParams.get('group')) {\n const { filters, params } = legacyDeviceQueryParse(queryParams, filteringAttributes);\n scopedFilters = filters;\n queryParams = params;\n } else {\n const { filters, params } = scopedFilterParse(queryParams);\n scopedFilters = filters;\n queryParams = params;\n }\n\n let groupName = '';\n const groupFilterIndex = scopedFilters.inventory.findIndex(filter => filter.key === 'group' && filter.operator === DEVICE_FILTERING_OPTIONS.$eq.key);\n if (groupFilterIndex > -1) {\n groupName = scopedFilters.inventory[groupFilterIndex].value as string;\n scopedFilters.inventory.splice(groupFilterIndex, 1);\n }\n\n const detailsTab = queryParams.has('tab') ? queryParams.get('tab') : '';\n const groupId = queryParams.has('groupId') ? queryParams.get('groupId') : '';\n return { detailsTab, filters: Object.values(scopedFilters).flat(), groupName, ...pageStateExtension, groupId };\n};\n\ntype FormatSortingDefaults = { sort?: Partial<SortOptions> };\n\nconst formatSorting = (sort: Partial<SortOptions> | undefined, { sort: sortDefault }: FormatSortingDefaults): string => {\n if (!sort || deepCompare(sort, sortDefault)) {\n return '';\n }\n const sortQuery = (['scope', 'key', 'direction'] as const)\n .reduce<string[]>((accu, key) => {\n if (!sort[key]) {\n return accu;\n }\n accu.push(sort[key]);\n return accu;\n }, [])\n .join(SEPARATOR);\n return `sort=${sortQuery}`;\n};\n\ntype FormatPageStateParams = {\n page?: number;\n perPage?: number;\n selectedId?: string;\n selectedIssues?: string[];\n sort?: Partial<SortOptions>;\n};\n\nexport type FormatPageStateDefaults = { defaults: FormatSortingDefaults };\n\nexport const formatPageState = ({ selectedId, selectedIssues, page, perPage, sort }: FormatPageStateParams, { defaults }: FormatPageStateDefaults): string =>\n Object.entries({ page, perPage, id: selectedId, issues: selectedIssues, open: selectedId ? true : undefined })\n .reduce<string[]>(\n (accu, [key, value]) => {\n if (Array.isArray(value)) {\n accu.push(...value.map(item => `${key}=${encodeURIComponent(item)}`));\n } else if ((DEVICE_LIST_DEFAULTS[key] != value || !Object.hasOwn(DEVICE_LIST_DEFAULTS, key)) && value) {\n accu.push(`${key}=${encodeURIComponent(value as string | number)}`);\n }\n return accu;\n },\n [formatSorting(sort, defaults)]\n )\n .filter(i => i)\n .join('&');\n\nconst stripFilterOperator = (operator: string): string => operator.replaceAll('$', '');\n\nconst formatFilters = (filters: DeviceFilter[]): string[] => {\n const result = filters\n // group all filters by their scope to get a more organized result\n .reduce<Record<Scope, Set<string>>>(\n (accu, filter) => {\n const { scope = ATTRIBUTE_SCOPES.inventory, operator = '$eq' } = filter;\n accu[scope].add(\n `${scopes[scope].delimiter}=${filter.key}${SEPARATOR}${stripFilterOperator(operator)}${SEPARATOR}${encodeURIComponent(filter.value as string)}`\n );\n return accu;\n },\n Object.keys(scopes).reduce((accu, item) => ({ ...accu, [item]: new Set<string>() }), {} as Record<Scope, Set<string>>)\n );\n // boil it all down to a single line containing all filters\n return Object.values(result)\n .map(filterSet => [...filterSet])\n .flat();\n};\n\ntype FormatDeviceSearchParams = {\n filters: DeviceFilter[];\n groupId?: string;\n pageState: PageState;\n selectedGroup?: string;\n};\n\nexport const formatDeviceSearch = ({ pageState, filters, selectedGroup, groupId }: FormatDeviceSearchParams): string => {\n let activeFilters = [...filters];\n if (selectedGroup && selectedGroup !== ALL_DEVICES) {\n const isUngroupedGroup = selectedGroup === UNGROUPED_GROUP.id;\n activeFilters = isUngroupedGroup\n ? activeFilters.filter(\n filter => !(filter.key === 'group' && filter.scope === ATTRIBUTE_SCOPES.system && filter.operator === DEVICE_FILTERING_OPTIONS.$nin.key)\n )\n : activeFilters;\n const groupName = isUngroupedGroup ? UNGROUPED_GROUP.name : selectedGroup;\n activeFilters.push({ scope: ATTRIBUTE_SCOPES.inventory, key: 'group', operator: DEVICE_FILTERING_OPTIONS.$eq.key as FilterOperator, value: groupName });\n }\n const formattedFilters = formatFilters(activeFilters).filter(i => i);\n if (pageState.detailsTab && pageState.selectedId) {\n formattedFilters.push(`tab=${pageState.detailsTab}`);\n }\n if (groupId) {\n formattedFilters.push(`groupId=${groupId}`);\n }\n return formattedFilters.join('&');\n};\n\nexport const generateDevicePath = ({ pageState }: { pageState: PageState }): string => {\n const { state: selectedState } = pageState;\n const path = ['/devices'];\n if (selectedState !== '') {\n path.push(selectedState as string);\n }\n return path.join('/');\n};\n\ntype FormatDatesParams = {\n endDate?: string;\n params: URLSearchParams;\n startDate?: string;\n today?: string;\n tonight?: string;\n};\n\nconst formatDates = ({ endDate, params, startDate, today, tonight }: FormatDatesParams): URLSearchParams => {\n if (endDate && endDate !== tonight) {\n params.set('endDate', endDate.split('T')[0]);\n }\n if (startDate && startDate !== today) {\n params.set('startDate', startDate.split('T')[0]);\n }\n return params;\n};\n\nconst paramReducer = (accu: URLSearchParams, [key, value]: [string, string | undefined]): URLSearchParams => {\n if (value) {\n accu.set(key, value);\n }\n return accu;\n};\n\ntype AuditlogsPageState = {\n detail?: string;\n endDate?: string;\n startDate?: string;\n type?: { value?: string } | string;\n user?: { id?: string } | string;\n};\n\ntype AuditlogsExtras = { today: string; tonight: string };\n\nexport const formatAuditlogs = ({ pageState }: { pageState: AuditlogsPageState }, { today, tonight }: AuditlogsExtras): string => {\n const { detail, endDate, startDate, type, user } = pageState;\n let params = new URLSearchParams();\n let userId = user as string | undefined;\n if (typeof user === 'object' && user?.id) {\n userId = user.id;\n }\n params = Object.entries({ objectId: detail, userId }).reduce(paramReducer, params);\n if (type) {\n params.set('objectType', typeof type === 'object' ? (type.value ?? '') : type);\n }\n params = formatDates({ endDate, params, startDate, today, tonight });\n return params.toString();\n};\n\nexport const parseDateParams = (params: URLSearchParams, today: string, tonight: string): { endDate: string; startDate: string } => {\n let endDate = tonight;\n const endDateParam = params.get('endDate');\n if (endDateParam) {\n endDate = getISOStringBoundaries(new Date(endDateParam)).end;\n }\n let startDate = today;\n const startDateParam = params.get('startDate');\n if (startDateParam) {\n startDate = getISOStringBoundaries(new Date(startDateParam)).start;\n }\n return { endDate, startDate };\n};\n\ntype AuditLogType = (typeof AUDIT_LOGS_TYPES)[number] | undefined;\n\nexport type ParseAuditlogsResult = {\n detail: string | null;\n endDate: string;\n startDate: string;\n type: AuditLogType;\n user: string | null;\n};\n\nexport const parseAuditlogsQuery = (params: URLSearchParams, { today, tonight }: AuditlogsExtras): ParseAuditlogsResult => {\n const type = AUDIT_LOGS_TYPES.find(typeObject => typeObject.value === params.get('objectType'));\n const { endDate, startDate } = parseDateParams(params, today, tonight);\n return {\n detail: params.get('objectId'),\n endDate,\n startDate,\n type,\n user: params.get('userId')\n };\n};\n\ntype DeploymentsBasePageState = Record<string, Partial<PaginationOptions>>;\n\ntype DeploymentDefaults = { defaults: DeploymentsBasePageState & { sort?: Partial<SortOptions> } };\n\nconst formatActiveDeployments = (pageState: DeploymentsBasePageState, { defaults }: DeploymentDefaults): string =>\n [DEPLOYMENT_STATES.inprogress, DEPLOYMENT_STATES.pending]\n .reduce<string[]>((accu, state) => {\n const { page, perPage } = pageState[state] ?? {};\n const stateDefaults = defaults[state] ?? {};\n const items = Object.entries({ page, perPage })\n .reverse()\n .reduce((keyAccu: (number | undefined)[], [key, value]) => {\n if ((value && value !== stateDefaults[key as keyof typeof stateDefaults]) || keyAccu.length) {\n keyAccu.unshift(value || stateDefaults[key as keyof typeof stateDefaults]);\n }\n return keyAccu;\n }, []);\n if (items.length) {\n accu.push(`${state}=${items.join(SEPARATOR)}`);\n }\n return accu;\n }, [])\n .filter(i => i)\n .join('&');\n\ntype DeploymentObject = {\n devices?: Array<{ id: string }>;\n release?: { name: string };\n};\n\ntype FormatDeploymentsPageState = DeploymentsBasePageState & {\n [key: string]: { endDate?: string; search?: string; startDate?: string; type?: string } | Partial<PaginationOptions> | unknown;\n general: { showCreationDialog?: boolean; state: string };\n};\n\ntype FormatDeploymentsParams = {\n deploymentObject: DeploymentObject;\n pageState: FormatDeploymentsPageState;\n};\n\ntype FormatDeploymentsExtras = {\n defaults: DeploymentDefaults['defaults'];\n today: string;\n tonight: string;\n};\n\nexport const formatDeployments = ({ deploymentObject, pageState }: FormatDeploymentsParams, { defaults, today, tonight }: FormatDeploymentsExtras): string => {\n const { state: selectedState, showCreationDialog } = pageState.general;\n let params = new URLSearchParams();\n if (showCreationDialog) {\n params.set('open', 'true');\n if (deploymentObject.release) {\n params.set('release', deploymentObject.release.name);\n }\n if (deploymentObject.devices?.length) {\n deploymentObject.devices.forEach(({ id }) => params.append('deviceId', id));\n }\n }\n let pageStateQuery: string;\n if (selectedState === DEPLOYMENT_ROUTES.finished.key) {\n const finishedState = pageState[selectedState] as { endDate?: string; search?: string; startDate?: string; type?: string };\n const { endDate, search, startDate, type } = finishedState;\n params = formatDates({ endDate, params, startDate, today, tonight });\n params = Object.entries({ search, type }).reduce(paramReducer, params);\n pageStateQuery = formatPageState(pageState[selectedState] as FormatPageStateParams, { defaults: { sort: defaults.sort } });\n } else if (selectedState === DEPLOYMENT_ROUTES.scheduled.key) {\n pageStateQuery = formatPageState(pageState[selectedState] as FormatPageStateParams, { defaults: { sort: defaults.sort } });\n } else {\n pageStateQuery = formatActiveDeployments(pageState, { defaults });\n }\n return [pageStateQuery, params.toString()].filter(i => i).join('&');\n};\n\nconst deploymentsPath = 'deployments/';\nconst parseDeploymentsPath = (path: string): string => {\n const parts = path.split(deploymentsPath);\n if (parts.length > 1 && Object.keys(DEPLOYMENT_ROUTES).includes(parts[1])) {\n return parts[1];\n }\n return '';\n};\n\nconst parseActiveDeployments = (params: URLSearchParams): PageState =>\n [DEPLOYMENT_STATES.inprogress, DEPLOYMENT_STATES.pending].reduce<PageState>((accu, state) => {\n if (!params.has(state)) {\n return accu;\n }\n const items = (params.get(state) as string).split(SEPARATOR);\n accu[state] = Object.keys(DEVICE_LIST_DEFAULTS).reduce<Partial<PaginationOptions>>(\n (stateAccu, key, index) => (items[index] ? { ...stateAccu, [key]: Number(items[index]) } : stateAccu),\n {}\n );\n return accu;\n }, {});\n\ntype DeploymentFieldConfig<T> = {\n attribute: string;\n parse: (val: string) => T;\n select: (values: T[]) => T | T[];\n};\n\nconst deploymentFields: Record<string, DeploymentFieldConfig<unknown>> = {\n deviceId: { attribute: 'devices', parse: (id: string) => ({ id }), select: <T>(i: T[]): T[] => i },\n release: { attribute: 'release', parse: String, select: defaultSelector }\n};\n\ntype ParseDeploymentsExtraProps = {\n location: { pathname: string };\n pageState: PageState;\n tonight: string;\n};\n\nexport type ParseDeploymentsQueryResult = {\n [key: string]: unknown;\n deploymentObject: Record<string, unknown>;\n general: {\n showCreationDialog: boolean;\n showReportDialog: boolean;\n state: string;\n };\n};\n\nexport const parseDeploymentsQuery = (params: URLSearchParams, { pageState, location, tonight }: ParseDeploymentsExtraProps): ParseDeploymentsQueryResult => {\n // for deployments we get a startDate implicitly from a list of retrieved deployments if none is set, thus we're not defaulting to today\n const { endDate, startDate } = parseDateParams(params, '', tonight);\n const deploymentObject = Object.entries(deploymentFields).reduce<Record<string, unknown>>(\n (accu, [key, { attribute, parse, select }]) => (params.has(key) ? { ...accu, [attribute]: select(params.getAll(key).map(parse) as unknown[]) } : accu),\n {}\n );\n const { state: selectedState, id, open, ...remainingPageState } = pageState;\n const tab = parseDeploymentsPath(location.pathname);\n const deploymentsTab = tab || selectedState || DEPLOYMENT_ROUTES.active.key;\n\n let state: ParseDeploymentsQueryResult = {\n deploymentObject,\n general: {\n showCreationDialog: Boolean(open && !id),\n showReportDialog: Boolean(open && id),\n state: deploymentsTab\n }\n };\n if (deploymentsTab === DEPLOYMENT_ROUTES.finished.key) {\n const typeParam = params.get('type');\n const type = typeParam ? (DEPLOYMENT_TYPES as Record<string, string>)[typeParam] || '' : '';\n const search = params.get('search') || '';\n state[deploymentsTab] = { ...remainingPageState, endDate, search, startDate, type };\n } else if (deploymentsTab === DEPLOYMENT_ROUTES.scheduled.key) {\n state[deploymentsTab] = { ...remainingPageState };\n } else {\n state = {\n ...state,\n ...parseActiveDeployments(params)\n };\n }\n return state;\n};\n\ntype GenerateDeploymentsPathParams = { pageState: PageState & { general: { state?: string } } };\n\nexport const generateDeploymentsPath = ({ pageState }: GenerateDeploymentsPathParams): string => {\n const { state: selectedState = DEPLOYMENT_ROUTES.active.key } = pageState.general;\n return `/deployments/${selectedState}`;\n};\n\nexport interface FormatReleasesParams {\n pageState: {\n id?: string;\n searchTerm?: string;\n selectedTags?: string[];\n tab?: string;\n type?: string;\n };\n}\nconst releasesRoot = '/software';\nexport const formatReleases = ({ pageState: { id, searchTerm, selectedTags = [], tab, type } }: FormatReleasesParams): string =>\n Object.entries({ name: searchTerm, tab, type, id })\n .reduce(\n (accu, [key, value]) => (value ? [...accu, `${key}=${value}`] : accu),\n selectedTags.map(tag => `tag=${tag}`)\n )\n .join('&');\n\ntype GenerateReleasesPathParams = { pageState: { selectedRelease?: string } };\n\nexport const generateReleasesPath = ({ pageState: { selectedRelease } }: GenerateReleasesPathParams): string =>\n `${releasesRoot}${selectedRelease ? `/${encodeURIComponent(selectedRelease)}` : ''}`;\n\ntype ParseReleasesExtraProps = {\n location: { pathname: string };\n pageState?: PageState;\n};\n\nexport type ParseReleasesQueryResult = {\n searchTerm: string | null;\n selectedJob?: string;\n selectedRelease: string;\n tab?: string | null;\n tags: string[];\n type: string | null;\n};\n\nexport const parseReleasesQuery = (queryParams: URLSearchParams, extraProps: ParseReleasesExtraProps): ParseReleasesQueryResult => {\n const name = queryParams.has('name') ? queryParams.get('name') : '';\n const tab = queryParams.has('tab') ? queryParams.get('tab') : undefined;\n const tags = queryParams.has('tag') ? queryParams.getAll('tag') : [];\n const type = queryParams.has('type') ? queryParams.get('type') : '';\n let selectedRelease = decodeURIComponent(extraProps.location.pathname.substring(releasesRoot.length + 1));\n let selectedJob;\n if (extraProps.pageState?.id?.length && tab === 'delta') {\n selectedJob = extraProps.pageState.id[0];\n } else if (!selectedRelease && extraProps.pageState?.id?.length) {\n selectedRelease = extraProps.pageState.id[0];\n }\n return { searchTerm: name, selectedJob, selectedRelease, tab, tags, type };\n};\n\nconst tenantsRoot = '/tenants';\n\nexport const generateTenantPath = ({ pageState: { selectedTenant } }: { pageState: { selectedTenant?: string } }): string => {\n if (selectedTenant) {\n return `${tenantsRoot}/${encodeURIComponent(selectedTenant)}`;\n } else {\n return tenantsRoot;\n }\n};\n\nexport const generateTenantPathById = (id: string | undefined): string => (id ? `${tenantsRoot}/${encodeURIComponent(id)}` : tenantsRoot);\n\ntype ParseTenantsExtraProps = {\n location: { pathname: string };\n pageState: PageState;\n};\n\nexport type ParseTenantsQueryResult = {\n name: string | null;\n selectedTenant: string;\n};\n\nexport const parseTenantsQuery = (queryParams: URLSearchParams, extraProps: ParseTenantsExtraProps): ParseTenantsQueryResult => {\n const name = queryParams.has('name') ? queryParams.get('name') : '';\n let selectedTenant = extraProps.location.pathname.substring(tenantsRoot.length + 1);\n if (!selectedTenant && extraProps.pageState.id?.length) {\n selectedTenant = extraProps.pageState.id[0];\n }\n return { name, selectedTenant };\n};\n\nexport const formatTenants = (): string => '';\n"],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
-
|
|
16
|
-
// src/monitorSlice/constants.ts
|
|
17
|
-
var constants_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(constants_exports);
|
|
19
|
-
//# sourceMappingURL=constants.cjs.map
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=constants.js.map
|
|
1
|
+
export {};
|