@northern.tech/store 0.3.4 → 0.4.0
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 +78 -827
- package/dist/actions.cjs.map +1 -1
- package/dist/actions.d.cts +229 -85
- package/dist/actions.d.ts +229 -85
- package/dist/actions.js +14 -14
- package/dist/api/general-api.cjs +274 -148
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.d.cts +1 -1
- package/dist/api/general-api.d.ts +1 -1
- package/dist/api/general-api.js +7 -7
- package/dist/api/users-api.cjs +274 -148
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.d.cts +7 -5
- package/dist/api/users-api.d.ts +7 -5
- package/dist/api/users-api.js +8 -8
- package/dist/appSlice/constants.cjs +23 -43
- package/dist/appSlice/constants.cjs.map +1 -1
- package/dist/appSlice/constants.d.cts +102 -112
- package/dist/appSlice/constants.d.ts +102 -112
- package/dist/appSlice/constants.js +1 -11
- package/dist/appSlice/index.cjs +24 -239
- package/dist/appSlice/index.cjs.map +1 -1
- package/dist/appSlice/index.d.cts +119 -1531
- package/dist/appSlice/index.d.ts +119 -1531
- package/dist/appSlice/index.js +6 -6
- package/dist/appSlice/mocks.cjs +186 -0
- package/dist/appSlice/mocks.cjs.map +1 -0
- package/dist/appSlice/mocks.d.cts +39 -0
- package/dist/appSlice/mocks.d.ts +39 -0
- package/dist/appSlice/mocks.js +27 -0
- package/dist/appSlice/mocks.js.map +1 -0
- package/dist/appSlice/selectors.cjs +31 -5
- package/dist/appSlice/selectors.cjs.map +1 -1
- package/dist/appSlice/selectors.d.cts +709 -23
- package/dist/appSlice/selectors.d.ts +709 -23
- package/dist/appSlice/selectors.js +21 -1
- package/dist/appSlice/thunks.cjs +1552 -1769
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.d.cts +34 -14
- package/dist/appSlice/thunks.d.ts +34 -14
- package/dist/appSlice/thunks.js +31 -31
- package/dist/auth.cjs +276 -153
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.d.cts +13 -10
- package/dist/auth.d.ts +13 -10
- package/dist/auth.js +6 -8
- package/dist/{chunk-CK6YE6AN.js → chunk-2DYA3X77.js} +3 -1
- package/dist/{chunk-CK6YE6AN.js.map → chunk-2DYA3X77.js.map} +1 -1
- package/dist/{chunk-JO33IORF.js → chunk-4TUJPE6G.js} +19 -4
- package/dist/chunk-4TUJPE6G.js.map +1 -0
- package/dist/{chunk-AFICTIVU.js → chunk-6KGTHJKC.js} +22 -24
- package/dist/chunk-6KGTHJKC.js.map +1 -0
- package/dist/chunk-7C4SQBEE.js +715 -0
- package/dist/chunk-7C4SQBEE.js.map +1 -0
- package/dist/{chunk-X3GZILYD.js → chunk-ABJLRDCO.js} +10 -11
- package/dist/chunk-ABJLRDCO.js.map +1 -0
- package/dist/{chunk-PAIB5V27.js → chunk-CW5T6OGF.js} +56 -22
- package/dist/chunk-CW5T6OGF.js.map +1 -0
- package/dist/{chunk-MRCFLG45.js → chunk-FAJ3I2UQ.js} +2 -1
- package/dist/chunk-FAJ3I2UQ.js.map +1 -0
- package/dist/{chunk-FVCYB5OP.js → chunk-IQG5I7AM.js} +32 -40
- package/dist/chunk-IQG5I7AM.js.map +1 -0
- package/dist/chunk-JUGE7L3K.js +110 -0
- package/dist/chunk-JUGE7L3K.js.map +1 -0
- package/dist/{chunk-ZWOAFHAR.js → chunk-JXQUFKID.js} +2 -2
- package/dist/chunk-JXQUFKID.js.map +1 -0
- package/dist/{chunk-K4MMUDYT.js → chunk-KC7SKI3U.js} +9 -11
- package/dist/chunk-KC7SKI3U.js.map +1 -0
- package/dist/{chunk-L3SY3J5M.js → chunk-KJNNEDRV.js} +11 -7
- package/dist/chunk-KJNNEDRV.js.map +1 -0
- package/dist/chunk-MBKAZVE3.js +44 -0
- package/dist/chunk-MBKAZVE3.js.map +1 -0
- package/dist/{chunk-FRSA2YB5.js → chunk-MZNANSS2.js} +12 -7
- package/dist/chunk-MZNANSS2.js.map +1 -0
- package/dist/{chunk-EYCORLYU.js → chunk-N2KLYPS5.js} +128 -87
- package/dist/chunk-N2KLYPS5.js.map +1 -0
- package/dist/{chunk-Y575RZHR.js → chunk-OHF3YUXX.js} +25 -40
- package/dist/chunk-OHF3YUXX.js.map +1 -0
- package/dist/{chunk-NOQR3TE7.js → chunk-OOICURFL.js} +2 -2
- package/dist/chunk-OOICURFL.js.map +1 -0
- package/dist/{chunk-AVX7VVOK.js → chunk-PGFVHKP5.js} +5 -7
- package/dist/chunk-PGFVHKP5.js.map +1 -0
- package/dist/{chunk-NCSKCF2S.js → chunk-QHK7GGV4.js} +3 -3
- package/dist/chunk-QHK7GGV4.js.map +1 -0
- package/dist/{chunk-AUBJUUP3.js → chunk-RS37Y2PQ.js} +3 -3
- package/dist/chunk-RS37Y2PQ.js.map +1 -0
- package/dist/{chunk-7YZCUAXZ.js → chunk-UGSLGUS6.js} +8 -6
- package/dist/chunk-UGSLGUS6.js.map +1 -0
- package/dist/{chunk-ZZMFXRQK.js → chunk-URNS6A5T.js} +14 -14
- package/dist/{chunk-RX32WLVJ.js → chunk-VANBSJS5.js} +1 -1
- package/dist/chunk-VANBSJS5.js.map +1 -0
- package/dist/{chunk-DGQKXSRI.js → chunk-VUFRP6P3.js} +5 -6
- package/dist/chunk-VUFRP6P3.js.map +1 -0
- package/dist/{chunk-DCEKU6UV.js → chunk-X4GUACQO.js} +8 -5
- package/dist/chunk-X4GUACQO.js.map +1 -0
- package/dist/{chunk-GWJIY56H.js → chunk-XWYJACQC.js} +40 -15
- package/dist/chunk-XWYJACQC.js.map +1 -0
- package/dist/{chunk-GAI4VYRZ.js → chunk-ZJW3QIPM.js} +8 -9
- package/dist/chunk-ZJW3QIPM.js.map +1 -0
- package/dist/chunk-ZKAH3APE.js +1 -0
- package/dist/chunk-ZKAH3APE.js.map +1 -0
- package/dist/{chunk-EQLHIPPR.js → chunk-ZN5TB2NJ.js} +919 -842
- package/dist/chunk-ZN5TB2NJ.js.map +1 -0
- package/dist/{chunk-FQDSV3NK.js → chunk-ZRSYBSSY.js} +18 -12
- package/dist/chunk-ZRSYBSSY.js.map +1 -0
- package/dist/commonConstants.cjs +279 -173
- package/dist/commonConstants.cjs.map +1 -1
- package/dist/commonConstants.d.cts +46 -212
- package/dist/commonConstants.d.ts +46 -212
- package/dist/commonConstants.js +11 -19
- package/dist/commonSelectors.cjs +507 -768
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.d.cts +4307 -280
- package/dist/commonSelectors.d.ts +4307 -280
- package/dist/commonSelectors.js +14 -14
- package/dist/constants.cjs +355 -655
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +11 -9
- package/dist/constants.d.ts +11 -9
- package/dist/constants.js +37 -29
- package/dist/deploymentsSlice/constants.cjs +5 -360
- package/dist/deploymentsSlice/constants.cjs.map +1 -1
- package/dist/deploymentsSlice/constants.d.cts +59 -39
- package/dist/deploymentsSlice/constants.d.ts +59 -39
- package/dist/deploymentsSlice/constants.js +5 -11
- package/dist/deploymentsSlice/index.cjs +17 -365
- package/dist/deploymentsSlice/index.cjs.map +1 -1
- package/dist/deploymentsSlice/index.d.cts +142 -2359
- package/dist/deploymentsSlice/index.d.ts +142 -2359
- package/dist/deploymentsSlice/index.js +6 -6
- package/dist/deploymentsSlice/mocks.cjs +429 -0
- package/dist/deploymentsSlice/mocks.cjs.map +1 -0
- package/dist/deploymentsSlice/mocks.d.cts +189 -0
- package/dist/deploymentsSlice/mocks.d.ts +189 -0
- package/dist/deploymentsSlice/mocks.js +146 -0
- package/dist/deploymentsSlice/mocks.js.map +1 -0
- package/dist/deploymentsSlice/selectors.cjs +5 -353
- package/dist/deploymentsSlice/selectors.cjs.map +1 -1
- package/dist/deploymentsSlice/selectors.d.cts +167 -11
- package/dist/deploymentsSlice/selectors.d.ts +167 -11
- package/dist/deploymentsSlice/selectors.js +6 -6
- package/dist/deploymentsSlice/thunks.cjs +1518 -1735
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.d.cts +134 -76
- package/dist/deploymentsSlice/thunks.d.ts +134 -76
- package/dist/deploymentsSlice/thunks.js +31 -31
- package/dist/devicesSlice/constants.cjs +5 -375
- package/dist/devicesSlice/constants.cjs.map +1 -1
- package/dist/devicesSlice/constants.d.cts +8 -16
- package/dist/devicesSlice/constants.d.ts +8 -16
- package/dist/devicesSlice/constants.js +7 -25
- package/dist/devicesSlice/index.cjs +17 -381
- package/dist/devicesSlice/index.cjs.map +1 -1
- package/dist/devicesSlice/index.d.cts +196 -2208
- package/dist/devicesSlice/index.d.ts +196 -2208
- package/dist/devicesSlice/index.js +6 -6
- package/dist/devicesSlice/mocks.cjs +336 -0
- package/dist/devicesSlice/mocks.cjs.map +1 -0
- package/dist/devicesSlice/mocks.d.cts +154 -0
- package/dist/devicesSlice/mocks.d.ts +154 -0
- package/dist/devicesSlice/mocks.js +136 -0
- package/dist/devicesSlice/mocks.js.map +1 -0
- package/dist/devicesSlice/selectors.cjs +280 -293
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.d.cts +1791 -82
- package/dist/devicesSlice/selectors.d.ts +1791 -82
- package/dist/devicesSlice/selectors.js +8 -6
- package/dist/devicesSlice/thunks.cjs +1699 -1926
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.d.cts +374 -291
- package/dist/devicesSlice/thunks.d.ts +374 -291
- package/dist/devicesSlice/thunks.js +37 -47
- package/dist/liststatehook.cjs +289 -325
- package/dist/liststatehook.cjs.map +1 -1
- package/dist/liststatehook.d.cts +4 -16
- package/dist/liststatehook.d.ts +4 -16
- package/dist/liststatehook.js +9 -9
- package/dist/liststatehook.js.map +1 -1
- package/dist/locationutils.cjs +286 -322
- package/dist/locationutils.cjs.map +1 -1
- package/dist/locationutils.d.cts +8 -7
- package/dist/locationutils.d.ts +8 -7
- package/dist/locationutils.js +6 -6
- package/dist/monitorSlice/constants.cjs +0 -146
- package/dist/monitorSlice/constants.cjs.map +1 -1
- package/dist/monitorSlice/constants.d.cts +4 -5
- package/dist/monitorSlice/constants.d.ts +4 -5
- package/dist/monitorSlice/constants.js +1 -12
- package/dist/monitorSlice/index.cjs +5 -353
- package/dist/monitorSlice/index.cjs.map +1 -1
- package/dist/monitorSlice/index.d.cts +63 -260
- package/dist/monitorSlice/index.d.ts +63 -260
- package/dist/monitorSlice/index.js +6 -6
- package/dist/monitorSlice/mocks.cjs +130 -0
- package/dist/monitorSlice/mocks.cjs.map +1 -0
- package/dist/monitorSlice/mocks.d.cts +57 -0
- package/dist/monitorSlice/mocks.d.ts +57 -0
- package/dist/monitorSlice/mocks.js +65 -0
- package/dist/monitorSlice/mocks.js.map +1 -0
- package/dist/monitorSlice/thunks.cjs +623 -860
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.d.cts +90 -21
- package/dist/monitorSlice/thunks.d.ts +90 -21
- package/dist/monitorSlice/thunks.js +27 -27
- package/dist/onboardingSlice/constants.cjs +1 -0
- package/dist/onboardingSlice/constants.cjs.map +1 -1
- package/dist/onboardingSlice/constants.d.cts +23 -20
- package/dist/onboardingSlice/constants.d.ts +23 -20
- package/dist/onboardingSlice/constants.js +1 -1
- package/dist/onboardingSlice/index.cjs.map +1 -1
- package/dist/onboardingSlice/index.d.cts +50 -225
- package/dist/onboardingSlice/index.d.ts +50 -225
- package/dist/onboardingSlice/index.js +1 -1
- package/dist/onboardingSlice/mocks.cjs +83 -0
- package/dist/onboardingSlice/mocks.cjs.map +1 -0
- package/dist/onboardingSlice/mocks.d.cts +19 -0
- package/dist/onboardingSlice/mocks.d.ts +19 -0
- package/dist/onboardingSlice/mocks.js +17 -0
- package/dist/onboardingSlice/mocks.js.map +1 -0
- package/dist/onboardingSlice/thunks.cjs +1771 -1991
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.d.cts +62 -34
- package/dist/onboardingSlice/thunks.d.ts +62 -34
- package/dist/onboardingSlice/thunks.js +31 -31
- package/dist/organizationSlice/constants.cjs +8 -748
- package/dist/organizationSlice/constants.cjs.map +1 -1
- package/dist/organizationSlice/constants.d.cts +36 -116
- package/dist/organizationSlice/constants.d.ts +36 -116
- package/dist/organizationSlice/constants.js +7 -17
- package/dist/organizationSlice/index.cjs +14 -368
- package/dist/organizationSlice/index.cjs.map +1 -1
- package/dist/organizationSlice/index.d.cts +45 -74
- package/dist/organizationSlice/index.d.ts +45 -74
- package/dist/organizationSlice/index.js +6 -6
- package/dist/organizationSlice/mocks.cjs +234 -0
- package/dist/organizationSlice/mocks.cjs.map +1 -0
- package/dist/organizationSlice/mocks.d.cts +107 -0
- package/dist/organizationSlice/mocks.d.ts +107 -0
- package/dist/organizationSlice/mocks.js +101 -0
- package/dist/organizationSlice/mocks.js.map +1 -0
- package/dist/organizationSlice/selectors.cjs +301 -146
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +888 -52
- package/dist/organizationSlice/selectors.d.ts +888 -52
- package/dist/organizationSlice/selectors.js +14 -6
- package/dist/organizationSlice/thunks.cjs +2593 -2730
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +318 -127
- package/dist/organizationSlice/thunks.d.ts +318 -127
- package/dist/organizationSlice/thunks.js +45 -31
- package/dist/organizationSlice/types.cjs.map +1 -1
- package/dist/organizationSlice/types.d.cts +95 -3
- package/dist/organizationSlice/types.d.ts +95 -3
- package/dist/releasesSlice/constants.cjs +3 -0
- package/dist/releasesSlice/constants.cjs.map +1 -1
- package/dist/releasesSlice/constants.d.cts +2 -1
- package/dist/releasesSlice/constants.d.ts +2 -1
- package/dist/releasesSlice/constants.js +3 -1
- package/dist/releasesSlice/index.cjs +5 -222
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.d.cts +52 -473
- package/dist/releasesSlice/index.d.ts +52 -473
- package/dist/releasesSlice/index.js +6 -6
- package/dist/releasesSlice/mocks.cjs +177 -0
- package/dist/releasesSlice/mocks.cjs.map +1 -0
- package/dist/releasesSlice/mocks.d.cts +49 -0
- package/dist/releasesSlice/mocks.d.ts +49 -0
- package/dist/releasesSlice/mocks.js +61 -0
- package/dist/releasesSlice/mocks.js.map +1 -0
- package/dist/releasesSlice/selectors.cjs +288 -158
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.d.cts +886 -24
- package/dist/releasesSlice/selectors.d.ts +886 -24
- package/dist/releasesSlice/selectors.js +9 -7
- package/dist/releasesSlice/thunks.cjs +787 -982
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +150 -130
- package/dist/releasesSlice/thunks.d.ts +150 -130
- package/dist/releasesSlice/thunks.js +34 -28
- package/dist/selectors.cjs +559 -770
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +37 -9
- package/dist/selectors.d.ts +37 -9
- package/dist/selectors.js +77 -41
- package/dist/sockethook.cjs +271 -281
- package/dist/sockethook.cjs.map +1 -1
- package/dist/sockethook.js +7 -9
- package/dist/sockethook.js.map +1 -1
- package/dist/store.cjs +119 -834
- package/dist/store.cjs.map +1 -1
- package/dist/store.d.cts +698 -1963
- package/dist/store.d.ts +698 -1963
- package/dist/store.js +18 -16
- package/dist/storehooks.cjs +1797 -1907
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +43 -49
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +2132 -2229
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +24 -6
- package/dist/thunks.d.ts +24 -6
- package/dist/thunks.js +55 -45
- package/dist/{deploymentdevicehook.cjs → useDeploymentDevice.cjs} +1757 -1976
- package/dist/useDeploymentDevice.cjs.map +1 -0
- package/dist/useDeploymentDevice.js +63 -0
- package/dist/useDeploymentDevice.js.map +1 -0
- package/dist/usersSlice/constants.cjs +5 -747
- package/dist/usersSlice/constants.cjs.map +1 -1
- package/dist/usersSlice/constants.d.cts +11 -769
- package/dist/usersSlice/constants.d.ts +11 -769
- package/dist/usersSlice/constants.js +7 -30
- package/dist/usersSlice/index.cjs +10 -721
- package/dist/usersSlice/index.cjs.map +1 -1
- package/dist/usersSlice/index.d.cts +136 -7900
- package/dist/usersSlice/index.d.ts +136 -7900
- package/dist/usersSlice/index.js +6 -6
- package/dist/usersSlice/mocks.cjs +200 -0
- package/dist/usersSlice/mocks.cjs.map +1 -0
- package/dist/usersSlice/mocks.d.cts +83 -0
- package/dist/usersSlice/mocks.d.ts +83 -0
- package/dist/usersSlice/mocks.js +47 -0
- package/dist/usersSlice/mocks.js.map +1 -0
- package/dist/usersSlice/selectors.cjs +319 -566
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.d.cts +1651 -59
- package/dist/usersSlice/selectors.d.ts +1651 -59
- package/dist/usersSlice/selectors.js +13 -9
- package/dist/usersSlice/thunks.cjs +1655 -1872
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.d.cts +362 -312
- package/dist/usersSlice/thunks.d.ts +362 -312
- package/dist/usersSlice/thunks.js +31 -31
- package/dist/utils.cjs +423 -285
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +44 -22
- package/dist/utils.d.ts +44 -22
- package/dist/utils.js +12 -6
- package/package.json +20 -11
- package/dist/BillingProfile-ChP2_Sqw.d.cts +0 -45
- package/dist/BillingProfile-ChP2_Sqw.d.ts +0 -45
- package/dist/api/types/AWSCredentials.ts +0 -16
- package/dist/api/types/Actor.ts +0 -35
- package/dist/api/types/Addon.ts +0 -17
- package/dist/api/types/AddonTenantadm.ts +0 -17
- package/dist/api/types/Address.ts +0 -6
- package/dist/api/types/AddressUpdate.ts +0 -12
- package/dist/api/types/Alert.ts +0 -34
- package/dist/api/types/AlertDetails.ts +0 -23
- package/dist/api/types/AlertSubject.ts +0 -23
- package/dist/api/types/ApiBurst.ts +0 -21
- package/dist/api/types/ApiBurstTenantadm.ts +0 -21
- package/dist/api/types/ApiLimits.ts +0 -16
- package/dist/api/types/ApiLimitsTenantadm.ts +0 -16
- package/dist/api/types/ApiQuota.ts +0 -17
- package/dist/api/types/ApiQuotaTenantadm.ts +0 -17
- package/dist/api/types/Artifact.ts +0 -48
- package/dist/api/types/ArtifactDeployments.ts +0 -48
- package/dist/api/types/ArtifactInfo.ts +0 -11
- package/dist/api/types/ArtifactInfoDeployments.ts +0 -11
- package/dist/api/types/ArtifactLink.ts +0 -11
- package/dist/api/types/ArtifactTypeInfo.ts +0 -13
- package/dist/api/types/ArtifactTypeInfoDeployments.ts +0 -13
- package/dist/api/types/ArtifactUpdate.ts +0 -10
- package/dist/api/types/ArtifactUploadLink.ts +0 -15
- package/dist/api/types/Attribute.ts +0 -36
- package/dist/api/types/AttributeInventory.ts +0 -32
- package/dist/api/types/AuditLog.ts +0 -26
- package/dist/api/types/AuthSet.ts +0 -37
- package/dist/api/types/AuthSetDeviceauth.ts +0 -37
- package/dist/api/types/AuthSetIot_manager.ts +0 -33
- package/dist/api/types/AutoAuthRequest.ts +0 -23
- package/dist/api/types/AzureSharedAccessSecret.ts +0 -11
- package/dist/api/types/BillingInfo.ts +0 -13
- package/dist/api/types/BillingProfile.ts +0 -37
- package/dist/api/types/BillingProfileUpdate.ts +0 -37
- package/dist/api/types/BinaryDeltaConfiguration.ts +0 -15
- package/dist/api/types/BinaryDeltaConfigurationDeployments.ts +0 -15
- package/dist/api/types/BinaryDeltaLimits.ts +0 -21
- package/dist/api/types/BinaryDeltaLimitsDeployments.ts +0 -15
- package/dist/api/types/BoundingBox.ts +0 -9
- package/dist/api/types/CancelRequest.ts +0 -10
- package/dist/api/types/CardData.ts +0 -49
- package/dist/api/types/CardSetupData.ts +0 -17
- package/dist/api/types/CheckoutData.ts +0 -13
- package/dist/api/types/Configuration.ts +0 -11
- package/dist/api/types/Count.ts +0 -13
- package/dist/api/types/Credentials.ts +0 -23
- package/dist/api/types/DBusSubsystem.ts +0 -27
- package/dist/api/types/DeltaConfiguration.ts +0 -14
- package/dist/api/types/DeltaConfigurationDeployments.ts +0 -14
- package/dist/api/types/Deployment.ts +0 -45
- package/dist/api/types/DeploymentAggregation.ts +0 -16
- package/dist/api/types/DeploymentAggregationItem.ts +0 -16
- package/dist/api/types/DeploymentAggregationTerm.ts +0 -22
- package/dist/api/types/DeploymentAggregationTerms.ts +0 -16
- package/dist/api/types/DeploymentAttributeProjection.ts +0 -10
- package/dist/api/types/DeploymentAuditlogs.ts +0 -11
- package/dist/api/types/DeploymentDeployments.ts +0 -98
- package/dist/api/types/DeploymentFilterTerm.ts +0 -35
- package/dist/api/types/DeploymentIdentifier.ts +0 -10
- package/dist/api/types/DeploymentPhase.ts +0 -23
- package/dist/api/types/DeploymentPhaseDeployments.ts +0 -23
- package/dist/api/types/DeploymentReporting.ts +0 -46
- package/dist/api/types/DeploymentSearchTerms.ts +0 -37
- package/dist/api/types/DeploymentSortTerm.ts +0 -23
- package/dist/api/types/DeploymentStatistics.ts +0 -15
- package/dist/api/types/DeploymentStatisticsDeployments.ts +0 -15
- package/dist/api/types/DeploymentStatusStatistics.ts +0 -54
- package/dist/api/types/DeploymentStatusStatisticsDeployments.ts +0 -54
- package/dist/api/types/Device.ts +0 -20
- package/dist/api/types/DeviceAggregation.ts +0 -16
- package/dist/api/types/DeviceAggregationItem.ts +0 -16
- package/dist/api/types/DeviceAggregationTerm.ts +0 -26
- package/dist/api/types/DeviceAggregationTerms.ts +0 -20
- package/dist/api/types/DeviceAttribute.ts +0 -22
- package/dist/api/types/DeviceAttributeProjection.ts +0 -14
- package/dist/api/types/DeviceAuditlogs.ts +0 -17
- package/dist/api/types/DeviceAuthEvent.ts +0 -23
- package/dist/api/types/DeviceConfiguration.ts +0 -16
- package/dist/api/types/DeviceDeployment.ts +0 -11
- package/dist/api/types/DeviceDeployments.ts +0 -29
- package/dist/api/types/DeviceDeviceauth.ts +0 -42
- package/dist/api/types/DeviceFilterAttribute.ts +0 -21
- package/dist/api/types/DeviceFilterTerm.ts +0 -39
- package/dist/api/types/DeviceInventory.ts +0 -19
- package/dist/api/types/DeviceInventoryInventory.ts +0 -19
- package/dist/api/types/DeviceReporting.ts +0 -22
- package/dist/api/types/DeviceSearchTerms.ts +0 -37
- package/dist/api/types/DeviceSortTerm.ts +0 -27
- package/dist/api/types/DeviceState.ts +0 -32
- package/dist/api/types/DeviceStateDeviceconnect.ts +0 -33
- package/dist/api/types/DeviceStateIot_manager.ts +0 -14
- package/dist/api/types/DeviceStatus.ts +0 -19
- package/dist/api/types/DeviceWithImage.ts +0 -80
- package/dist/api/types/DirectUploadMetadata.ts +0 -18
- package/dist/api/types/EmailVerificationCompletion.ts +0 -13
- package/dist/api/types/EmailVerificationRequest.ts +0 -13
- package/dist/api/types/Error.ts +0 -17
- package/dist/api/types/ErrorAuditlogs.ts +0 -13
- package/dist/api/types/ErrorDeployments.ts +0 -17
- package/dist/api/types/ErrorDeviceauth.ts +0 -13
- package/dist/api/types/ErrorDeviceconfig.ts +0 -17
- package/dist/api/types/ErrorDeviceconnect.ts +0 -17
- package/dist/api/types/ErrorDevicemonitor.ts +0 -17
- package/dist/api/types/ErrorExt.ts +0 -18
- package/dist/api/types/ErrorInventory.ts +0 -17
- package/dist/api/types/ErrorIot_manager.ts +0 -17
- package/dist/api/types/ErrorNotFound.ts +0 -17
- package/dist/api/types/ErrorReporting.ts +0 -18
- package/dist/api/types/ErrorTenantadm.ts +0 -13
- package/dist/api/types/ErrorUseradm.ts +0 -17
- package/dist/api/types/Event.ts +0 -48
- package/dist/api/types/ExternalIdentity.ts +0 -17
- package/dist/api/types/Features.ts +0 -17
- package/dist/api/types/FileUpload.ts +0 -23
- package/dist/api/types/Filter.ts +0 -19
- package/dist/api/types/FilterAttribute.ts +0 -21
- package/dist/api/types/FilterDefinition.ts +0 -18
- package/dist/api/types/FilterDeployments.ts +0 -19
- package/dist/api/types/FilterInventory.ts +0 -19
- package/dist/api/types/FilterPredicate.ts +0 -48
- package/dist/api/types/FilterPredicateDeployments.ts +0 -48
- package/dist/api/types/FilterPredicateInventory.ts +0 -78
- package/dist/api/types/GeoBoundingBox.ts +0 -8
- package/dist/api/types/GeoBoundingBoxFilter.ts +0 -5
- package/dist/api/types/GeoDistance.ts +0 -15
- package/dist/api/types/GeoDistanceFilter.ts +0 -8
- package/dist/api/types/GeoPoint.ts +0 -14
- package/dist/api/types/Group.ts +0 -10
- package/dist/api/types/HTTP.ts +0 -19
- package/dist/api/types/IdentityData.ts +0 -25
- package/dist/api/types/InputParameter.ts +0 -8
- package/dist/api/types/Integration.ts +0 -30
- package/dist/api/types/JobStatus.ts +0 -13
- package/dist/api/types/Limit.ts +0 -21
- package/dist/api/types/LimitDeployments.ts +0 -21
- package/dist/api/types/LimitDeviceauth.ts +0 -10
- package/dist/api/types/LimitUseradm.ts +0 -11
- package/dist/api/types/Limits.ts +0 -11
- package/dist/api/types/LineDescriptor.ts +0 -11
- package/dist/api/types/LogSubsystem.ts +0 -23
- package/dist/api/types/LoginOptions.ts +0 -18
- package/dist/api/types/ManagementAPIConfiguration.ts +0 -5
- package/dist/api/types/MenderTypes.ts +0 -213
- package/dist/api/types/MonitorConfiguration.ts +0 -22
- package/dist/api/types/NewConfigurationDeployment.ts +0 -15
- package/dist/api/types/NewConfigurationDeploymentResponse.ts +0 -10
- package/dist/api/types/NewDeployment.ts +0 -42
- package/dist/api/types/NewDeploymentForGroup.ts +0 -33
- package/dist/api/types/NewDeploymentPhase.ts +0 -37
- package/dist/api/types/NewDeploymentPhaseDeployments.ts +0 -20
- package/dist/api/types/NewDeploymentV2.ts +0 -34
- package/dist/api/types/NewTenant.ts +0 -49
- package/dist/api/types/Object.ts +0 -38
- package/dist/api/types/OwnUserUpdate.ts +0 -21
- package/dist/api/types/PasswordResetCompletion.ts +0 -17
- package/dist/api/types/PasswordResetRequest.ts +0 -13
- package/dist/api/types/Permission.ts +0 -21
- package/dist/api/types/PermissionObject.ts +0 -14
- package/dist/api/types/PermissionSet.ts +0 -22
- package/dist/api/types/PermissionSetWithScope.ts +0 -15
- package/dist/api/types/PersonalAccessToken.ts +0 -29
- package/dist/api/types/PersonalAccessTokenRequest.ts +0 -18
- package/dist/api/types/Plan.ts +0 -19
- package/dist/api/types/PlanBindingDetails.ts +0 -13
- package/dist/api/types/PlanChangeRequest.ts +0 -14
- package/dist/api/types/PlanLimits.ts +0 -12
- package/dist/api/types/PreAuthSet.ts +0 -16
- package/dist/api/types/Release.ts +0 -32
- package/dist/api/types/ReleaseDeployments.ts +0 -32
- package/dist/api/types/ReleaseUpdate.ts +0 -13
- package/dist/api/types/Releases.ts +0 -9
- package/dist/api/types/ReleasesDeleteError.ts +0 -21
- package/dist/api/types/ReleasesDeployments.ts +0 -9
- package/dist/api/types/Role.ts +0 -19
- package/dist/api/types/RolePermission.ts +0 -25
- package/dist/api/types/RolePermissionObject.ts +0 -17
- package/dist/api/types/RoleUseradm.ts +0 -19
- package/dist/api/types/SAMLMetadata.ts +0 -21
- package/dist/api/types/Scope.ts +0 -19
- package/dist/api/types/SelectAttribute.ts +0 -17
- package/dist/api/types/ServiceSubsystem.ts +0 -19
- package/dist/api/types/Settings.ts +0 -23
- package/dist/api/types/SortCriteria.ts +0 -30
- package/dist/api/types/SsoObject.ts +0 -21
- package/dist/api/types/Status.ts +0 -18
- package/dist/api/types/StatusDeviceauth.ts +0 -18
- package/dist/api/types/StatusTenantadm.ts +0 -17
- package/dist/api/types/StorageLimit.ts +0 -17
- package/dist/api/types/SubscriptionData.ts +0 -8
- package/dist/api/types/SupportRequest.ts +0 -17
- package/dist/api/types/Tag.ts +0 -27
- package/dist/api/types/Tags.ts +0 -10
- package/dist/api/types/TaskResult.ts +0 -13
- package/dist/api/types/TaskResultCLI.ts +0 -10
- package/dist/api/types/TaskResultHTTPRequest.ts +0 -8
- package/dist/api/types/TaskResultHTTPResponse.ts +0 -10
- package/dist/api/types/Tenant.ts +0 -26
- package/dist/api/types/TenantApiLimits.ts +0 -12
- package/dist/api/types/TenantApiLimitsTenantadm.ts +0 -12
- package/dist/api/types/TenantIdName.ts +0 -14
- package/dist/api/types/TenantIdsData.ts +0 -10
- package/dist/api/types/TenantInfo.ts +0 -14
- package/dist/api/types/TenantShortInfo.ts +0 -21
- package/dist/api/types/TenantTenantadm.ts +0 -54
- package/dist/api/types/TenantsIdName.ts +0 -6
- package/dist/api/types/Update.ts +0 -17
- package/dist/api/types/UpdateChildTenant.ts +0 -17
- package/dist/api/types/UpdateDeployments.ts +0 -18
- package/dist/api/types/UpdateFile.ts +0 -13
- package/dist/api/types/UpdateFileDeployments.ts +0 -13
- package/dist/api/types/UpdateTypes.ts +0 -8
- package/dist/api/types/UpgradeCompleteRequest.ts +0 -25
- package/dist/api/types/User.ts +0 -13
- package/dist/api/types/UserAuditlogs.ts +0 -13
- package/dist/api/types/UserNew.ts +0 -26
- package/dist/api/types/UserUpdate.ts +0 -25
- package/dist/api/types/UserUseradm.ts +0 -45
- package/dist/api/types/UserWithTenantInfo.ts +0 -12
- package/dist/api/types/XDeltaArgs.ts +0 -9
- package/dist/api/types/XDeltaArgsDeployments.ts +0 -9
- package/dist/api/types/XDeltaArgsLimits.ts +0 -10
- package/dist/api/types/XDeltaArgsLimitsDeployments.ts +0 -10
- package/dist/chunk-4RWZR3BN.js +0 -104
- package/dist/chunk-4RWZR3BN.js.map +0 -1
- package/dist/chunk-7YZCUAXZ.js.map +0 -1
- package/dist/chunk-AFICTIVU.js.map +0 -1
- package/dist/chunk-AUBJUUP3.js.map +0 -1
- package/dist/chunk-AVX7VVOK.js.map +0 -1
- package/dist/chunk-BSN2TOQC.js +0 -245
- package/dist/chunk-BSN2TOQC.js.map +0 -1
- package/dist/chunk-DCEKU6UV.js.map +0 -1
- package/dist/chunk-DGQKXSRI.js.map +0 -1
- package/dist/chunk-EQLHIPPR.js.map +0 -1
- package/dist/chunk-EYCORLYU.js.map +0 -1
- package/dist/chunk-FQDSV3NK.js.map +0 -1
- package/dist/chunk-FRSA2YB5.js.map +0 -1
- package/dist/chunk-FVCYB5OP.js.map +0 -1
- package/dist/chunk-GAI4VYRZ.js.map +0 -1
- package/dist/chunk-GWJIY56H.js.map +0 -1
- package/dist/chunk-JO33IORF.js.map +0 -1
- package/dist/chunk-K4MMUDYT.js.map +0 -1
- package/dist/chunk-L3SY3J5M.js.map +0 -1
- package/dist/chunk-LIJIIRON.js +0 -28
- package/dist/chunk-LIJIIRON.js.map +0 -1
- package/dist/chunk-MRCFLG45.js.map +0 -1
- package/dist/chunk-NCSKCF2S.js.map +0 -1
- package/dist/chunk-NOQR3TE7.js.map +0 -1
- package/dist/chunk-OEP2D6QL.js +0 -727
- package/dist/chunk-OEP2D6QL.js.map +0 -1
- package/dist/chunk-PAIB5V27.js.map +0 -1
- package/dist/chunk-RX32WLVJ.js.map +0 -1
- package/dist/chunk-X3GZILYD.js.map +0 -1
- package/dist/chunk-Y575RZHR.js.map +0 -1
- package/dist/chunk-ZWOAFHAR.js.map +0 -1
- package/dist/deploymentdevicehook.cjs.map +0 -1
- package/dist/deploymentdevicehook.js +0 -63
- package/dist/deploymentdevicehook.js.map +0 -1
- package/dist/types-DBj17FZO.d.cts +0 -135
- package/dist/types-DnfZa6xd.d.ts +0 -135
- /package/dist/{chunk-ZZMFXRQK.js.map → chunk-URNS6A5T.js.map} +0 -0
- /package/dist/{deploymentdevicehook.d.cts → useDeploymentDevice.d.cts} +0 -0
- /package/dist/{deploymentdevicehook.d.ts → useDeploymentDevice.d.ts} +0 -0
package/dist/store.cjs
CHANGED
|
@@ -32,6 +32,7 @@ var store_exports = {};
|
|
|
32
32
|
__export(store_exports, {
|
|
33
33
|
commonErrorFallback: () => commonErrorFallback,
|
|
34
34
|
commonErrorHandler: () => commonErrorHandler,
|
|
35
|
+
createAppAsyncThunk: () => createAppAsyncThunk,
|
|
35
36
|
getConfiguredStore: () => getConfiguredStore,
|
|
36
37
|
sessionReducer: () => sessionReducer,
|
|
37
38
|
store: () => store,
|
|
@@ -41,362 +42,16 @@ module.exports = __toCommonJS(store_exports);
|
|
|
41
42
|
var import_react_redux = require("react-redux");
|
|
42
43
|
var import_helpers2 = require("@northern.tech/utils/helpers");
|
|
43
44
|
var import_toolkit9 = require("@reduxjs/toolkit");
|
|
45
|
+
var import_react = require("@sentry/react");
|
|
44
46
|
|
|
45
|
-
// src/appSlice/
|
|
46
|
-
var
|
|
47
|
-
var startingDeviceCount = {
|
|
48
|
-
os: "for first 50 devices",
|
|
49
|
-
professional: "for first 250 devices"
|
|
50
|
-
};
|
|
51
|
-
var apiRoot = "/api/management";
|
|
52
|
-
var apiUrl = {
|
|
53
|
-
v1: `${apiRoot}/v1`,
|
|
54
|
-
v2: `${apiRoot}/v2`
|
|
55
|
-
};
|
|
56
|
-
var chartTypes = {
|
|
57
|
-
bar: { key: "bar", Icon: import_icons_material.BarChart },
|
|
58
|
-
pie: { key: "pie", Icon: import_icons_material.PieChartOutline }
|
|
59
|
-
};
|
|
60
|
-
var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.key, attribute: "artifact_name" };
|
|
61
|
-
var defaultReportType = "distribution";
|
|
62
|
-
var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
|
|
63
|
-
var PLANS = {
|
|
64
|
-
os: {
|
|
65
|
-
id: "os",
|
|
66
|
-
name: "Basic",
|
|
67
|
-
offer: true,
|
|
68
|
-
price: "$32 / month",
|
|
69
|
-
deviceCount: startingDeviceCount.os,
|
|
70
|
-
offerprice: "$23 / month for first 50 devices",
|
|
71
|
-
price2: "for first 6 months;\n$29/month thereafter",
|
|
72
|
-
features: ["Access to core features of Mender", "Basic support"]
|
|
73
|
-
},
|
|
74
|
-
professional: {
|
|
75
|
-
id: "professional",
|
|
76
|
-
name: "Professional",
|
|
77
|
-
offer: true,
|
|
78
|
-
price: "$269 / month",
|
|
79
|
-
deviceCount: startingDeviceCount.professional,
|
|
80
|
-
offerprice: "$200 / month for first 50 devices",
|
|
81
|
-
price2: "for first 6 months;\n$249/month thereafter",
|
|
82
|
-
features: ["Advanced OTA features", "Higher priority support"]
|
|
83
|
-
},
|
|
84
|
-
enterprise: {
|
|
85
|
-
id: "enterprise",
|
|
86
|
-
name: "Enterprise",
|
|
87
|
-
price: "Custom pricing",
|
|
88
|
-
deviceCount: "Unlimited devices",
|
|
89
|
-
features: ["All Mender features", "Advanced security features", "SLA-backed support"]
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
var ADDONS = {
|
|
93
|
-
configure: {
|
|
94
|
-
id: "configure",
|
|
95
|
-
title: "Configure",
|
|
96
|
-
description: "Expand your plan with device configuration features",
|
|
97
|
-
needs: ["hasDeviceConfig"],
|
|
98
|
-
os: {
|
|
99
|
-
price: "$11/month",
|
|
100
|
-
deviceCount: startingDeviceCount.os
|
|
101
|
-
},
|
|
102
|
-
professional: {
|
|
103
|
-
price: "$65/month",
|
|
104
|
-
deviceCount: startingDeviceCount.professional
|
|
105
|
-
},
|
|
106
|
-
eligible: ["os", "professional", "enterprise"]
|
|
107
|
-
},
|
|
108
|
-
troubleshoot: {
|
|
109
|
-
id: "troubleshoot",
|
|
110
|
-
title: "Troubleshoot",
|
|
111
|
-
description: "Expand your plan with device troubleshooting features",
|
|
112
|
-
needs: ["hasDeviceConnect"],
|
|
113
|
-
os: {
|
|
114
|
-
price: "$27/month",
|
|
115
|
-
deviceCount: startingDeviceCount.os
|
|
116
|
-
},
|
|
117
|
-
professional: {
|
|
118
|
-
price: "$72/month",
|
|
119
|
-
deviceCount: startingDeviceCount.professional
|
|
120
|
-
},
|
|
121
|
-
eligible: ["os", "professional", "enterprise"]
|
|
122
|
-
},
|
|
123
|
-
monitor: {
|
|
124
|
-
id: "monitor",
|
|
125
|
-
title: "Monitor",
|
|
126
|
-
description: "Expand your plan with device monitoring features",
|
|
127
|
-
needs: ["hasMonitor"],
|
|
128
|
-
os: {
|
|
129
|
-
price: "-",
|
|
130
|
-
deviceCount: "-"
|
|
131
|
-
},
|
|
132
|
-
professional: {
|
|
133
|
-
price: "$86/month",
|
|
134
|
-
deviceCount: startingDeviceCount.professional
|
|
135
|
-
},
|
|
136
|
-
eligible: ["professional", "enterprise"]
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
var BENEFITS = {
|
|
140
|
-
auditlog: { id: "auditlog", benefit: "trace change across your devices and access troubleshooting session replay", requiredPlan: PLANS.professional.id },
|
|
141
|
-
dashboard: { id: "dashboard", benefit: "actionable insights into the devices you are updating with Mender", requiredPlan: PLANS.enterprise.id },
|
|
142
|
-
deltaGeneration: {
|
|
143
|
-
id: "deltaGeneration",
|
|
144
|
-
benefit: "automatic delta artifacts generation to minimize data transfer and improve the update delivery",
|
|
145
|
-
requiredPlan: PLANS.enterprise.id
|
|
146
|
-
},
|
|
147
|
-
deviceConfiguration: { id: "deviceConfiguration", benefit: "device configuration features", requiredAddon: ADDONS.configure.id },
|
|
148
|
-
deviceMonitor: { id: "deviceMonitor", benefit: "device monitoring features", requiredAddon: ADDONS.monitor.id, requiredPlan: PLANS.professional.id },
|
|
149
|
-
deviceTroubleshoot: { id: "deviceTroubleshoot", benefit: "device troubleshooting features", requiredAddon: ADDONS.troubleshoot.id },
|
|
150
|
-
dynamicGroups: { id: "dynamicGroups", benefit: "create dynamic groups to ease device management", requiredPlan: PLANS.enterprise.id },
|
|
151
|
-
fullFiltering: { id: "fullFiltering", benefit: "filtering by multiple attributes to improve the device overview", requiredPlan: PLANS.professional.id },
|
|
152
|
-
gateway: { id: "gateway", benefit: "see devices connected to your gateway device for easy access", requiredPlans: PLANS.professional.id },
|
|
153
|
-
pausedDeployments: {
|
|
154
|
-
id: "pausedDeployments",
|
|
155
|
-
benefit: "granular control about update rollout to allow synchronization across your fleet",
|
|
156
|
-
requiredPlan: PLANS.enterprise.id
|
|
157
|
-
},
|
|
158
|
-
phasedDeployments: { id: "phasedDeployments", benefit: "choose to roll out deployments in multiple phases", requiredPlan: PLANS.enterprise.id },
|
|
159
|
-
rbac: { id: "rbac", benefit: "granular role based access control", requiredPlan: PLANS.enterprise.id },
|
|
160
|
-
retryDeployments: { id: "retryDeployments", benefit: "optional retries for failed rollout attempts", requiredPlan: PLANS.professional.id },
|
|
161
|
-
scheduledDeployments: {
|
|
162
|
-
id: "scheduledDeployments",
|
|
163
|
-
benefit: "scheduled deployments to steer the distribution of your updates.",
|
|
164
|
-
requiredPlan: PLANS.professional.id
|
|
165
|
-
},
|
|
166
|
-
webhookEvents: {
|
|
167
|
-
id: "webhookEvents",
|
|
168
|
-
benefit: "receive inventory events and select which type(s) of events the webhook will receive",
|
|
169
|
-
requiredPlan: PLANS.professional.id
|
|
170
|
-
},
|
|
171
|
-
default: { id: "default", benefit: "gain access to this feature", requiredPlan: PLANS.enterprise.id }
|
|
172
|
-
};
|
|
47
|
+
// src/appSlice/index.ts
|
|
48
|
+
var import_toolkit = require("@reduxjs/toolkit");
|
|
173
49
|
|
|
174
|
-
// src/
|
|
175
|
-
var
|
|
176
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
177
|
-
var DEVICE_LIST_DEFAULTS = {
|
|
178
|
-
page: 1,
|
|
179
|
-
perPage: 20
|
|
180
|
-
};
|
|
181
|
-
var timeUnits = {
|
|
182
|
-
days: "days",
|
|
183
|
-
minutes: "minutes",
|
|
184
|
-
hours: "hours"
|
|
185
|
-
};
|
|
186
|
-
var ALL_DEVICES = "All devices";
|
|
187
|
-
var DEVICE_FILTERING_OPTIONS = {
|
|
188
|
-
$eq: { key: "$eq", title: "equals", shortform: "=" },
|
|
189
|
-
$ne: { key: "$ne", title: "not equal", shortform: "!=" },
|
|
190
|
-
$gt: {
|
|
191
|
-
key: "$gt",
|
|
192
|
-
title: ">",
|
|
193
|
-
shortform: ">",
|
|
194
|
-
help: 'The "greater than" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
|
|
195
|
-
},
|
|
196
|
-
$gte: {
|
|
197
|
-
title: ">=",
|
|
198
|
-
shortform: ">=",
|
|
199
|
-
help: 'The "greater than or equal" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
|
|
200
|
-
},
|
|
201
|
-
$lt: {
|
|
202
|
-
key: "$lt",
|
|
203
|
-
title: "<",
|
|
204
|
-
shortform: "<",
|
|
205
|
-
help: 'The "lesser than" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
|
|
206
|
-
},
|
|
207
|
-
$lte: {
|
|
208
|
-
title: "<=",
|
|
209
|
-
shortform: "<=",
|
|
210
|
-
help: 'The "lesser than or equal" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
|
|
211
|
-
},
|
|
212
|
-
$ltne: {
|
|
213
|
-
key: "$ltne",
|
|
214
|
-
title: "$ltne",
|
|
215
|
-
shortform: "ltne",
|
|
216
|
-
help: 'The "lesser than or does not exist" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'
|
|
217
|
-
},
|
|
218
|
-
$in: {
|
|
219
|
-
key: "$in",
|
|
220
|
-
title: "in",
|
|
221
|
-
shortform: "in",
|
|
222
|
-
help: 'The "in" operator accepts a list of comma-separated values. It matches if the selected field is equal to one of the specified values.'
|
|
223
|
-
},
|
|
224
|
-
$nin: {
|
|
225
|
-
key: "$nin",
|
|
226
|
-
title: "not in",
|
|
227
|
-
shortform: "not in",
|
|
228
|
-
help: `The "not in" operator accepts a list of comma-separated values. It matches if the selected field's value is not equal to any of the specified options.`
|
|
229
|
-
},
|
|
230
|
-
$exists: {
|
|
231
|
-
key: "$exists",
|
|
232
|
-
title: "exists",
|
|
233
|
-
shortform: "exists",
|
|
234
|
-
value: true,
|
|
235
|
-
help: `The "exists" operator matches if the selected field's value has a value. No value needs to be provided for this operator.`
|
|
236
|
-
},
|
|
237
|
-
$nexists: {
|
|
238
|
-
key: "$nexists",
|
|
239
|
-
title: `doesn't exist`,
|
|
240
|
-
shortform: `doesn't exist`,
|
|
241
|
-
value: true,
|
|
242
|
-
help: `The "doesn't exist" operator matches if the selected field's value has no value. No value needs to be provided for this operator.`
|
|
243
|
-
},
|
|
244
|
-
$regex: {
|
|
245
|
-
key: "$regex",
|
|
246
|
-
title: `matches regular expression`,
|
|
247
|
-
shortform: `matches`,
|
|
248
|
-
help: `The "regular expression" operator matches the selected field's value with a Perl compatible regular expression (PCRE), automatically anchored by ^. If the regular expression is not valid, the filter will produce no results. If you need to specify options and flags, you can provide the full regex in the format of /regex/flags, for example.`
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
var DEVICE_ISSUE_OPTIONS = {
|
|
252
|
-
issues: {
|
|
253
|
-
isCategory: true,
|
|
254
|
-
key: "issues",
|
|
255
|
-
title: "Devices with issues",
|
|
256
|
-
filterRule: {}
|
|
257
|
-
},
|
|
258
|
-
offline: {
|
|
259
|
-
issueCategory: "issues",
|
|
260
|
-
key: "offline",
|
|
261
|
-
needsFullFiltering: true,
|
|
262
|
-
needsMonitor: false,
|
|
263
|
-
needsReporting: false,
|
|
264
|
-
filterRule: {
|
|
265
|
-
scope: "system",
|
|
266
|
-
key: "check_in_time",
|
|
267
|
-
operator: DEVICE_FILTERING_OPTIONS.$ltne.key,
|
|
268
|
-
value: ({ offlineThreshold }) => offlineThreshold
|
|
269
|
-
},
|
|
270
|
-
title: "Offline devices"
|
|
271
|
-
},
|
|
272
|
-
failedLastUpdate: {
|
|
273
|
-
issueCategory: "issues",
|
|
274
|
-
key: "failedLastUpdate",
|
|
275
|
-
needsFullFiltering: false,
|
|
276
|
-
needsMonitor: false,
|
|
277
|
-
needsReporting: true,
|
|
278
|
-
filterRule: { scope: "monitor", key: "failed_last_update", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },
|
|
279
|
-
title: "Deployment failed"
|
|
280
|
-
},
|
|
281
|
-
monitoring: {
|
|
282
|
-
issueCategory: "issues",
|
|
283
|
-
key: "monitoring",
|
|
284
|
-
needsFullFiltering: false,
|
|
285
|
-
needsMonitor: true,
|
|
286
|
-
needsReporting: false,
|
|
287
|
-
filterRule: { scope: "monitor", key: "alerts", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },
|
|
288
|
-
title: "Monitoring alert"
|
|
289
|
-
},
|
|
290
|
-
authRequests: {
|
|
291
|
-
key: "authRequests",
|
|
292
|
-
needsFullFiltering: false,
|
|
293
|
-
needsMonitor: false,
|
|
294
|
-
needsReporting: true,
|
|
295
|
-
filterRule: { scope: "monitor", key: "auth_requests", operator: DEVICE_FILTERING_OPTIONS.$gt.key, value: 1 },
|
|
296
|
-
title: "Devices with new authentication requests"
|
|
297
|
-
},
|
|
298
|
-
gatewayDevices: {
|
|
299
|
-
key: "gatewayDevices",
|
|
300
|
-
needsFullFiltering: false,
|
|
301
|
-
needsMonitor: false,
|
|
302
|
-
needsReporting: true,
|
|
303
|
-
filterRule: { scope: "inventory", key: "mender_is_gateway", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: "true" },
|
|
304
|
-
title: "Gateway devices"
|
|
305
|
-
}
|
|
306
|
-
};
|
|
307
|
-
var oneSecond = 1e3;
|
|
308
|
-
var TIMEOUTS = {
|
|
309
|
-
debounceDefault: 700,
|
|
310
|
-
debounceShort: 300,
|
|
311
|
-
halfASecond: 0.5 * oneSecond,
|
|
312
|
-
oneSecond,
|
|
313
|
-
twoSeconds: 2 * oneSecond,
|
|
314
|
-
threeSeconds: 3 * oneSecond,
|
|
315
|
-
fiveSeconds: 5 * oneSecond,
|
|
316
|
-
refreshDefault: 10 * oneSecond,
|
|
317
|
-
refreshLong: 60 * oneSecond
|
|
318
|
-
};
|
|
319
|
-
var SORTING_OPTIONS = {
|
|
320
|
-
asc: "asc",
|
|
321
|
-
desc: "desc"
|
|
322
|
-
};
|
|
323
|
-
var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
|
|
324
|
-
var ATTRIBUTE_SCOPES = {
|
|
325
|
-
inventory: "inventory",
|
|
326
|
-
identity: "identity",
|
|
327
|
-
monitor: "monitor",
|
|
328
|
-
system: "system",
|
|
329
|
-
tags: "tags"
|
|
330
|
-
};
|
|
331
|
-
var defaultIdAttribute = Object.freeze({ attribute: "id", scope: ATTRIBUTE_SCOPES.identity });
|
|
332
|
-
var credentialTypes = {
|
|
333
|
-
aws: "aws",
|
|
334
|
-
http: "http",
|
|
335
|
-
sas: "sas",
|
|
336
|
-
x509: "x509"
|
|
337
|
-
};
|
|
338
|
-
var EXTERNAL_PROVIDER = {
|
|
339
|
-
"iot-core": {
|
|
340
|
-
credentialsType: credentialTypes.aws,
|
|
341
|
-
icon: import_js.mdiAws,
|
|
342
|
-
title: "AWS IoT Core",
|
|
343
|
-
twinTitle: "Device Shadow",
|
|
344
|
-
provider: "iot-core",
|
|
345
|
-
enabled: true,
|
|
346
|
-
deviceTwin: true,
|
|
347
|
-
configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "For help finding your AWS IoT Core connection string, check the AWS IoT documentation." })
|
|
348
|
-
},
|
|
349
|
-
"iot-hub": {
|
|
350
|
-
credentialsType: credentialTypes.sas,
|
|
351
|
-
icon: import_js.mdiMicrosoftAzure,
|
|
352
|
-
title: "Azure IoT Hub",
|
|
353
|
-
twinTitle: "Device Twin",
|
|
354
|
-
provider: "iot-hub",
|
|
355
|
-
enabled: true,
|
|
356
|
-
deviceTwin: true,
|
|
357
|
-
configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
358
|
-
"For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described",
|
|
359
|
-
" ",
|
|
360
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
361
|
-
"a",
|
|
362
|
-
{
|
|
363
|
-
href: "https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn",
|
|
364
|
-
target: "_blank",
|
|
365
|
-
rel: "noopener noreferrer",
|
|
366
|
-
children: "here"
|
|
367
|
-
}
|
|
368
|
-
),
|
|
369
|
-
"."
|
|
370
|
-
] })
|
|
371
|
-
},
|
|
372
|
-
webhook: {
|
|
373
|
-
credentialsType: credentialTypes.http,
|
|
374
|
-
deviceTwin: false,
|
|
375
|
-
// disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.
|
|
376
|
-
enabled: false,
|
|
377
|
-
provider: "webhook"
|
|
378
|
-
}
|
|
379
|
-
};
|
|
380
|
-
var ALL_RELEASES = "All releases";
|
|
381
|
-
var emptyUiPermissions = Object.freeze({
|
|
382
|
-
auditlog: [],
|
|
383
|
-
deployments: [],
|
|
384
|
-
groups: Object.freeze({}),
|
|
385
|
-
releases: Object.freeze({}),
|
|
386
|
-
tenantManagement: [],
|
|
387
|
-
userManagement: []
|
|
388
|
-
});
|
|
389
|
-
var emptyRole = Object.freeze({
|
|
390
|
-
name: void 0,
|
|
391
|
-
description: "",
|
|
392
|
-
permissions: [],
|
|
393
|
-
uiPermissions: Object.freeze({ ...emptyUiPermissions })
|
|
394
|
-
});
|
|
50
|
+
// src/constants.ts
|
|
51
|
+
var import_constants2 = require("@northern.tech/utils/constants");
|
|
395
52
|
|
|
396
53
|
// src/deploymentsSlice/constants.ts
|
|
397
54
|
var alreadyInstalled = "already-installed";
|
|
398
|
-
var deploymentsApiUrl = `${apiUrl.v1}/deployments`;
|
|
399
|
-
var deploymentsApiUrlV2 = `${apiUrl.v2}/deployments`;
|
|
400
55
|
var deploymentSubstates = {
|
|
401
56
|
aborted: "aborted",
|
|
402
57
|
alreadyInstalled,
|
|
@@ -469,9 +124,9 @@ var DEPLOYMENT_STATES = {
|
|
|
469
124
|
var listDefaultsByState = {
|
|
470
125
|
[DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
|
|
471
126
|
[DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
|
|
472
|
-
[DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },
|
|
473
|
-
[DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },
|
|
474
|
-
sort: { direction: SORTING_OPTIONS.desc }
|
|
127
|
+
[DEPLOYMENT_STATES.scheduled]: { ...import_constants2.DEVICE_LIST_DEFAULTS },
|
|
128
|
+
[DEPLOYMENT_STATES.finished]: { ...import_constants2.DEVICE_LIST_DEFAULTS },
|
|
129
|
+
sort: { direction: import_constants2.SORTING_OPTIONS.desc }
|
|
475
130
|
};
|
|
476
131
|
var DEFAULT_PENDING_INPROGRESS_COUNT = 10;
|
|
477
132
|
var DEPLOYMENT_ROUTES = {
|
|
@@ -528,34 +183,8 @@ var pauseMap = {
|
|
|
528
183
|
followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator
|
|
529
184
|
}
|
|
530
185
|
};
|
|
531
|
-
var limitDefault = { min: 5, max: 100, default: 10 };
|
|
532
|
-
|
|
533
|
-
// src/devicesSlice/constants.ts
|
|
534
|
-
var emptyFilter = { key: null, value: "", operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: "inventory" };
|
|
535
|
-
var deviceAuthV2 = `${apiUrl.v2}/devauth`;
|
|
536
|
-
var deviceConnect = `${apiUrl.v1}/deviceconnect`;
|
|
537
|
-
var inventoryApiUrl = `${apiUrl.v1}/inventory`;
|
|
538
|
-
var inventoryApiUrlV2 = `${apiUrl.v2}/inventory`;
|
|
539
|
-
var deviceConfig = `${apiUrl.v1}/deviceconfig/configurations/device`;
|
|
540
|
-
var reportingApiUrl = `${apiUrl.v1}/reporting`;
|
|
541
|
-
var iotManagerBaseURL = `${apiUrl.v1}/iot-manager`;
|
|
542
|
-
var DEVICE_STATES = {
|
|
543
|
-
accepted: "accepted",
|
|
544
|
-
pending: "pending",
|
|
545
|
-
preauth: "preauthorized",
|
|
546
|
-
rejected: "rejected"
|
|
547
|
-
};
|
|
548
|
-
var geoAttributes = ["geo-lat", "geo-lon"].map((attribute) => ({ attribute, scope: "inventory" }));
|
|
549
|
-
|
|
550
|
-
// src/monitorSlice/constants.ts
|
|
551
|
-
var alertChannels = { email: "email" };
|
|
552
|
-
var monitorApiUrlv1 = `${apiUrl.v1}/devicemonitor`;
|
|
553
186
|
|
|
554
187
|
// src/organizationSlice/constants.ts
|
|
555
|
-
var auditLogsApiUrl = `${apiUrl.v1}/auditlogs`;
|
|
556
|
-
var tenantadmApiUrlv1 = `${apiUrl.v1}/tenantadm`;
|
|
557
|
-
var tenantadmApiUrlv2 = `${apiUrl.v2}/tenantadm`;
|
|
558
|
-
var ssoIdpApiUrlv1 = `${apiUrl.v1}/useradm/sso/idp/metadata`;
|
|
559
188
|
var auditlogTypes = {
|
|
560
189
|
artifact: { title: "Artifact", queryParameter: "object_type", value: "artifact" },
|
|
561
190
|
deployment: { title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
|
|
@@ -566,397 +195,13 @@ var auditlogTypes = {
|
|
|
566
195
|
};
|
|
567
196
|
var AUDIT_LOGS_TYPES = [auditlogTypes.artifact, auditlogTypes.deployment, auditlogTypes.device, auditlogTypes.user_access_token, auditlogTypes.user];
|
|
568
197
|
var SP_AUDIT_LOGS_TYPES = [auditlogTypes.user, auditlogTypes.tenant];
|
|
569
|
-
var emptyWebhook = {
|
|
570
|
-
description: "",
|
|
571
|
-
enabled: true,
|
|
572
|
-
credentials: {
|
|
573
|
-
type: EXTERNAL_PROVIDER.webhook.credentialsType,
|
|
574
|
-
[EXTERNAL_PROVIDER.webhook.credentialsType]: {
|
|
575
|
-
secret: "",
|
|
576
|
-
url: ""
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
};
|
|
580
198
|
var TENANT_LIST_DEFAULT = {
|
|
581
199
|
page: 1,
|
|
582
200
|
perPage: 20
|
|
583
201
|
};
|
|
584
202
|
|
|
585
203
|
// src/usersSlice/constants.ts
|
|
586
|
-
var useradmApiUrlv1 = `${apiUrl.v1}/useradm`;
|
|
587
|
-
var useradmApiUrlv2 = `${apiUrl.v2}/useradm`;
|
|
588
|
-
var staticRolesByName = {
|
|
589
|
-
admin: "RBAC_ROLE_PERMIT_ALL",
|
|
590
|
-
readOnly: "RBAC_ROLE_OBSERVER",
|
|
591
|
-
ci: "RBAC_ROLE_CI",
|
|
592
|
-
deploymentsManager: "RBAC_ROLE_DEPLOYMENTS_MANAGER",
|
|
593
|
-
terminalAccess: "RBAC_ROLE_REMOTE_TERMINAL"
|
|
594
|
-
};
|
|
595
|
-
var PermissionTypes = {
|
|
596
|
-
Any: "any",
|
|
597
|
-
Get: "GET",
|
|
598
|
-
Post: "POST",
|
|
599
|
-
Put: "PUT",
|
|
600
|
-
Delete: "DELETE",
|
|
601
|
-
Patch: "PATCH",
|
|
602
|
-
DeviceGroup: "DEVICE_GROUP",
|
|
603
|
-
DeviceId: "DEVICE_ID"
|
|
604
|
-
};
|
|
605
|
-
var permissionSetIds = {
|
|
606
|
-
Basic: "Basic",
|
|
607
|
-
ConfigureDevices: "ConfigureDevices",
|
|
608
|
-
ConnectToDevices: "ConnectToDevices",
|
|
609
|
-
DeployToDevices: "DeployToDevices",
|
|
610
|
-
ManageDevices: "ManageDevices",
|
|
611
|
-
ManageReleases: "ManageReleases",
|
|
612
|
-
ManageTenants: "ManageTenants",
|
|
613
|
-
ManageUsers: "ManageUsers",
|
|
614
|
-
ReadAuditLogs: "ReadAuditLogs",
|
|
615
|
-
ReadDevices: "ReadDevices",
|
|
616
|
-
ReadReleases: "ReadReleases",
|
|
617
|
-
ReadTenants: "ReadTenants",
|
|
618
|
-
ReadUsers: "ReadUsers",
|
|
619
|
-
SuperUser: "SuperUser",
|
|
620
|
-
UploadArtifacts: "UploadArtifacts"
|
|
621
|
-
};
|
|
622
|
-
var uiPermissionsById = {
|
|
623
|
-
configure: {
|
|
624
|
-
explanations: { groups: `'Configure' allows the user to use mender-configure features and apply configurations.` },
|
|
625
|
-
permissionLevel: 2,
|
|
626
|
-
permissionSets: { groups: permissionSetIds.ConfigureDevices },
|
|
627
|
-
title: "Configure",
|
|
628
|
-
value: "configure",
|
|
629
|
-
verbs: [PermissionTypes.Get, PermissionTypes.Put, PermissionTypes.Post]
|
|
630
|
-
},
|
|
631
|
-
connect: {
|
|
632
|
-
explanations: { groups: `'Connect' allows the user to use mender-connect features and Troubleshoot add-ons.` },
|
|
633
|
-
permissionLevel: 2,
|
|
634
|
-
permissionSets: { groups: permissionSetIds.ConnectToDevices },
|
|
635
|
-
title: "Connect",
|
|
636
|
-
value: "connect",
|
|
637
|
-
verbs: [PermissionTypes.Get, PermissionTypes.Put]
|
|
638
|
-
},
|
|
639
|
-
deploy: {
|
|
640
|
-
explanations: { groups: `'Deploy' allows the user to deploy software or configuration updates to devices.` },
|
|
641
|
-
permissionLevel: 2,
|
|
642
|
-
permissionSets: { deployments: permissionSetIds.DeployToDevices, groups: permissionSetIds.DeployToDevices },
|
|
643
|
-
title: "Deploy",
|
|
644
|
-
value: "deploy",
|
|
645
|
-
verbs: [PermissionTypes.Post]
|
|
646
|
-
},
|
|
647
|
-
manage: {
|
|
648
|
-
explanations: {
|
|
649
|
-
groups: `'Manage' allows the user to edit device name, notes, and manage authentication status. For 'All devices' it also allows the user to edit and create device groups.`,
|
|
650
|
-
releases: `'Manage' allows the user to upload new artifacts, edit release descriptions and remove artifacts.`
|
|
651
|
-
},
|
|
652
|
-
permissionLevel: 2,
|
|
653
|
-
permissionSets: {
|
|
654
|
-
groups: permissionSetIds.ManageDevices,
|
|
655
|
-
releases: permissionSetIds.ManageReleases,
|
|
656
|
-
tenantManagement: permissionSetIds.ManageTenants,
|
|
657
|
-
userManagement: permissionSetIds.ManageUsers
|
|
658
|
-
},
|
|
659
|
-
title: "Manage",
|
|
660
|
-
value: "manage",
|
|
661
|
-
verbs: [PermissionTypes.Post, PermissionTypes.Put, PermissionTypes.Patch]
|
|
662
|
-
},
|
|
663
|
-
read: {
|
|
664
|
-
explanations: { groups: `'Read' allows the user to view devices.` },
|
|
665
|
-
permissionLevel: 1,
|
|
666
|
-
permissionSets: {
|
|
667
|
-
auditlog: permissionSetIds.ReadAuditLogs,
|
|
668
|
-
groups: permissionSetIds.ReadDevices,
|
|
669
|
-
releases: permissionSetIds.ReadReleases,
|
|
670
|
-
tenantManagement: permissionSetIds.ReadTenants,
|
|
671
|
-
userManagement: permissionSetIds.ReadUsers
|
|
672
|
-
},
|
|
673
|
-
title: "Read",
|
|
674
|
-
value: "read",
|
|
675
|
-
verbs: [PermissionTypes.Get, PermissionTypes.Post]
|
|
676
|
-
},
|
|
677
|
-
upload: {
|
|
678
|
-
explanations: { groups: `'Upload' allows the user to upload new Artifacts.` },
|
|
679
|
-
unscopedOnly: { releases: true },
|
|
680
|
-
permissionLevel: 1,
|
|
681
|
-
permissionSets: { releases: permissionSetIds.UploadArtifacts },
|
|
682
|
-
title: "Upload",
|
|
683
|
-
value: "upload",
|
|
684
|
-
verbs: [PermissionTypes.Post, PermissionTypes.Put, PermissionTypes.Patch]
|
|
685
|
-
}
|
|
686
|
-
};
|
|
687
|
-
var scopedPermissionAreas = {
|
|
688
|
-
groups: { key: "groups", excessiveAccessSelector: ALL_DEVICES, scopeType: "DeviceGroups" },
|
|
689
|
-
releases: { key: "releases", excessiveAccessSelector: ALL_RELEASES, scopeType: "Releases" }
|
|
690
|
-
};
|
|
691
|
-
var uiPermissionsByArea = {
|
|
692
|
-
auditlog: {
|
|
693
|
-
endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
|
|
694
|
-
explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
|
|
695
|
-
key: "auditlog",
|
|
696
|
-
uiPermissions: [uiPermissionsById.read],
|
|
697
|
-
title: "System Audit Log"
|
|
698
|
-
},
|
|
699
|
-
deployments: {
|
|
700
|
-
endpoints: [
|
|
701
|
-
{ path: /\/(deployments\/deployments)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.deploy] },
|
|
702
|
-
{ path: /\/(deployments\/deployments)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
703
|
-
{ path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
|
|
704
|
-
],
|
|
705
|
-
explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
|
|
706
|
-
key: "deployments",
|
|
707
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
|
|
708
|
-
title: "Deployments"
|
|
709
|
-
},
|
|
710
|
-
groups: {
|
|
711
|
-
endpoints: [
|
|
712
|
-
{
|
|
713
|
-
path: /\/(devauth|inventory|deviceconfig|devicemonitor|deviceconnect\/devices)/i,
|
|
714
|
-
types: [PermissionTypes.Get],
|
|
715
|
-
uiPermissions: [uiPermissionsById.read]
|
|
716
|
-
},
|
|
717
|
-
{ path: /\/(devauth|inventory)/i, types: [PermissionTypes.Put, PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] },
|
|
718
|
-
{ path: /\/(deviceconfig)/i, types: [PermissionTypes.Get, PermissionTypes.Put, PermissionTypes.Post], uiPermissions: [uiPermissionsById.configure] },
|
|
719
|
-
{ path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
|
|
720
|
-
],
|
|
721
|
-
explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
|
|
722
|
-
key: "groups",
|
|
723
|
-
scope: scopedPermissionAreas.groups.scopeType,
|
|
724
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
|
|
725
|
-
title: "Group Management"
|
|
726
|
-
},
|
|
727
|
-
releases: {
|
|
728
|
-
endpoints: [
|
|
729
|
-
{ path: /\/(deployments\/artifacts|deployments\/deployments\/releases)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
730
|
-
{
|
|
731
|
-
path: /\/(deployments\/artifacts|deployments\/deployments\/releases)/i,
|
|
732
|
-
types: [PermissionTypes.Post, PermissionTypes.Put],
|
|
733
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.upload]
|
|
734
|
-
},
|
|
735
|
-
{
|
|
736
|
-
path: /\/(deployments\/artifacts|deployments\/deployments\/releases)/i,
|
|
737
|
-
types: [PermissionTypes.Delete],
|
|
738
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage]
|
|
739
|
-
}
|
|
740
|
-
],
|
|
741
|
-
explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
|
|
742
|
-
key: "releases",
|
|
743
|
-
scope: "ReleaseTags",
|
|
744
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
|
|
745
|
-
title: "Release Management"
|
|
746
|
-
},
|
|
747
|
-
tenantManagement: {
|
|
748
|
-
endpoints: [
|
|
749
|
-
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
750
|
-
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
|
|
751
|
-
{ path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
|
|
752
|
-
],
|
|
753
|
-
explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
|
|
754
|
-
key: "tenantManagement",
|
|
755
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
756
|
-
title: "Tenant Management"
|
|
757
|
-
},
|
|
758
|
-
userManagement: {
|
|
759
|
-
endpoints: [
|
|
760
|
-
{ path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
761
|
-
{ path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
|
|
762
|
-
],
|
|
763
|
-
explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
|
|
764
|
-
key: "userManagement",
|
|
765
|
-
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
766
|
-
title: "User Management"
|
|
767
|
-
}
|
|
768
|
-
};
|
|
769
|
-
var permissionMapper = (permission) => permission.value;
|
|
770
|
-
var rolesById = Object.freeze({
|
|
771
|
-
[staticRolesByName.admin]: {
|
|
772
|
-
name: "Admin",
|
|
773
|
-
value: staticRolesByName.admin,
|
|
774
|
-
description: "Full access",
|
|
775
|
-
permissions: [],
|
|
776
|
-
// permissions refers to the values returned from the backend
|
|
777
|
-
uiPermissions: {
|
|
778
|
-
...emptyUiPermissions,
|
|
779
|
-
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
780
|
-
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
781
|
-
groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },
|
|
782
|
-
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },
|
|
783
|
-
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)
|
|
784
|
-
}
|
|
785
|
-
},
|
|
786
|
-
[staticRolesByName.readOnly]: {
|
|
787
|
-
name: "Read Access",
|
|
788
|
-
value: staticRolesByName.readOnly,
|
|
789
|
-
description: "",
|
|
790
|
-
permissions: [],
|
|
791
|
-
uiPermissions: {
|
|
792
|
-
...emptyUiPermissions,
|
|
793
|
-
deployments: [uiPermissionsById.read.value],
|
|
794
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },
|
|
795
|
-
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },
|
|
796
|
-
userManagement: [uiPermissionsById.read.value]
|
|
797
|
-
}
|
|
798
|
-
},
|
|
799
|
-
[staticRolesByName.ci]: {
|
|
800
|
-
name: "Releases Manager",
|
|
801
|
-
value: staticRolesByName.ci,
|
|
802
|
-
description: "",
|
|
803
|
-
permissions: [],
|
|
804
|
-
uiPermissions: {
|
|
805
|
-
...emptyUiPermissions,
|
|
806
|
-
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }
|
|
807
|
-
}
|
|
808
|
-
},
|
|
809
|
-
[staticRolesByName.deploymentsManager]: {
|
|
810
|
-
name: "Deployments Manager",
|
|
811
|
-
value: staticRolesByName.deploymentsManager,
|
|
812
|
-
description: "",
|
|
813
|
-
permissions: [],
|
|
814
|
-
uiPermissions: {
|
|
815
|
-
...emptyUiPermissions,
|
|
816
|
-
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
817
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },
|
|
818
|
-
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
819
|
-
}
|
|
820
|
-
},
|
|
821
|
-
[staticRolesByName.terminalAccess]: {
|
|
822
|
-
name: "Troubleshooting",
|
|
823
|
-
value: staticRolesByName.terminalAccess,
|
|
824
|
-
description: "Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding",
|
|
825
|
-
permissions: [],
|
|
826
|
-
uiPermissions: {
|
|
827
|
-
...emptyUiPermissions,
|
|
828
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
});
|
|
832
|
-
var serviceProviderRolesById = {
|
|
833
|
-
admin: {
|
|
834
|
-
name: "Admin",
|
|
835
|
-
value: staticRolesByName.admin,
|
|
836
|
-
description: "Full access",
|
|
837
|
-
permissions: [],
|
|
838
|
-
uiPermissions: {
|
|
839
|
-
...emptyUiPermissions,
|
|
840
|
-
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
841
|
-
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
|
|
842
|
-
tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
|
|
843
|
-
}
|
|
844
|
-
},
|
|
845
|
-
readOnly: {
|
|
846
|
-
name: "Read access",
|
|
847
|
-
value: staticRolesByName.readOnly,
|
|
848
|
-
description: "This role can see all linked organizations but cannot make any changes",
|
|
849
|
-
permissions: [],
|
|
850
|
-
uiPermissions: {
|
|
851
|
-
...emptyUiPermissions,
|
|
852
|
-
auditlog: [uiPermissionsById.read.value],
|
|
853
|
-
userManagement: [uiPermissionsById.read.value],
|
|
854
|
-
tenantManagement: [uiPermissionsById.read.value]
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
};
|
|
858
|
-
var defaultPermissionSets = {
|
|
859
|
-
[permissionSetIds.Basic]: {
|
|
860
|
-
name: permissionSetIds.Basic,
|
|
861
|
-
result: {
|
|
862
|
-
// this is needed to prevent the detailed permissions of the basic permission set from being interpreted as allowing read & management access to user endpoints
|
|
863
|
-
userManagement: [uiPermissionsById.read.value]
|
|
864
|
-
}
|
|
865
|
-
},
|
|
866
|
-
[permissionSetIds.SuperUser]: {
|
|
867
|
-
name: permissionSetIds.SuperUser,
|
|
868
|
-
result: {
|
|
869
|
-
...rolesById[staticRolesByName.admin].uiPermissions
|
|
870
|
-
}
|
|
871
|
-
},
|
|
872
|
-
[permissionSetIds.ManageUsers]: {
|
|
873
|
-
name: permissionSetIds.ManageUsers,
|
|
874
|
-
result: {
|
|
875
|
-
userManagement: [uiPermissionsById.manage.value]
|
|
876
|
-
}
|
|
877
|
-
},
|
|
878
|
-
[permissionSetIds.ReadAuditLogs]: {
|
|
879
|
-
name: permissionSetIds.ReadAuditLogs,
|
|
880
|
-
result: {
|
|
881
|
-
auditlog: [uiPermissionsById.read.value]
|
|
882
|
-
}
|
|
883
|
-
},
|
|
884
|
-
[permissionSetIds.ReadReleases]: {
|
|
885
|
-
name: permissionSetIds.ReadReleases,
|
|
886
|
-
result: {
|
|
887
|
-
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
888
|
-
}
|
|
889
|
-
},
|
|
890
|
-
[permissionSetIds.ReadTenants]: {
|
|
891
|
-
name: permissionSetIds.ReadTenants,
|
|
892
|
-
result: {
|
|
893
|
-
tenantManagement: [uiPermissionsById.read.value]
|
|
894
|
-
}
|
|
895
|
-
},
|
|
896
|
-
[permissionSetIds.ManageTenants]: {
|
|
897
|
-
name: permissionSetIds.ManageTenants,
|
|
898
|
-
result: {
|
|
899
|
-
tenantManagement: [uiPermissionsById.manage.value]
|
|
900
|
-
}
|
|
901
|
-
},
|
|
902
|
-
[permissionSetIds.ReadUsers]: {
|
|
903
|
-
name: permissionSetIds.ReadUsers,
|
|
904
|
-
result: {
|
|
905
|
-
userManagement: [uiPermissionsById.read.value]
|
|
906
|
-
}
|
|
907
|
-
},
|
|
908
|
-
[permissionSetIds.UploadArtifacts]: {
|
|
909
|
-
name: permissionSetIds.UploadArtifacts,
|
|
910
|
-
result: {
|
|
911
|
-
releases: { [ALL_RELEASES]: [uiPermissionsById.upload.value] }
|
|
912
|
-
}
|
|
913
|
-
},
|
|
914
|
-
[permissionSetIds.ManageReleases]: {
|
|
915
|
-
name: permissionSetIds.ManageReleases,
|
|
916
|
-
result: {
|
|
917
|
-
releases: { [ALL_RELEASES]: [uiPermissionsById.manage.value] }
|
|
918
|
-
}
|
|
919
|
-
},
|
|
920
|
-
[permissionSetIds.ConfigureDevices]: {
|
|
921
|
-
name: permissionSetIds.ConfigureDevices,
|
|
922
|
-
result: {
|
|
923
|
-
deployments: [uiPermissionsById.read.value, uiPermissionsById.deploy.value],
|
|
924
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.configure.value] }
|
|
925
|
-
}
|
|
926
|
-
},
|
|
927
|
-
[permissionSetIds.ConnectToDevices]: {
|
|
928
|
-
name: permissionSetIds.ConnectToDevices,
|
|
929
|
-
result: {
|
|
930
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.connect.value] }
|
|
931
|
-
}
|
|
932
|
-
},
|
|
933
|
-
[permissionSetIds.DeployToDevices]: {
|
|
934
|
-
name: permissionSetIds.DeployToDevices,
|
|
935
|
-
result: {
|
|
936
|
-
deployments: [uiPermissionsById.deploy.value, uiPermissionsById.manage.value, uiPermissionsById.read.value],
|
|
937
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.deploy.value] }
|
|
938
|
-
}
|
|
939
|
-
},
|
|
940
|
-
[permissionSetIds.ManageDevices]: {
|
|
941
|
-
name: permissionSetIds.ManageDevices,
|
|
942
|
-
result: {
|
|
943
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.manage.value] }
|
|
944
|
-
}
|
|
945
|
-
},
|
|
946
|
-
[permissionSetIds.ReadDevices]: {
|
|
947
|
-
name: permissionSetIds.ReadDevices,
|
|
948
|
-
result: {
|
|
949
|
-
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] }
|
|
950
|
-
}
|
|
951
|
-
}
|
|
952
|
-
};
|
|
953
204
|
var USER_LOGOUT = "USER_LOGOUT";
|
|
954
|
-
var rolesByName = {
|
|
955
|
-
...staticRolesByName,
|
|
956
|
-
deploymentCreation: { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
957
|
-
groupAccess: { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
958
|
-
userManagement: { action: "http", object: { type: "any", value: `${useradmApiUrlv1}/.*` } }
|
|
959
|
-
};
|
|
960
205
|
var settingsKeys = { initialized: "settings-initialized" };
|
|
961
206
|
var READ_STATES = {
|
|
962
207
|
read: "read",
|
|
@@ -965,7 +210,6 @@ var READ_STATES = {
|
|
|
965
210
|
};
|
|
966
211
|
|
|
967
212
|
// src/appSlice/index.ts
|
|
968
|
-
var import_toolkit = require("@reduxjs/toolkit");
|
|
969
213
|
var sliceName = "app";
|
|
970
214
|
var getYesterday = () => {
|
|
971
215
|
const today = /* @__PURE__ */ new Date();
|
|
@@ -974,17 +218,15 @@ var getYesterday = () => {
|
|
|
974
218
|
};
|
|
975
219
|
var initialState = {
|
|
976
220
|
cancelSource: void 0,
|
|
221
|
+
commit: "",
|
|
977
222
|
demoArtifactLink: "https://dgsbl4vditpls.cloudfront.net/mender-demo-artifact.mender",
|
|
978
223
|
hostAddress: null,
|
|
979
224
|
snackbar: {
|
|
980
|
-
open: false,
|
|
981
|
-
message: "",
|
|
982
|
-
maxWidth: 900,
|
|
983
|
-
autoHideDuration: void 0,
|
|
984
225
|
action: void 0,
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
226
|
+
autoHideDuration: void 0,
|
|
227
|
+
message: "",
|
|
228
|
+
open: false,
|
|
229
|
+
preventClickToCopy: false
|
|
988
230
|
},
|
|
989
231
|
// return boolean rather than organization details
|
|
990
232
|
features: {
|
|
@@ -997,7 +239,7 @@ var initialState = {
|
|
|
997
239
|
hasMonitor: false,
|
|
998
240
|
hasReporting: false,
|
|
999
241
|
isDemoMode: false,
|
|
1000
|
-
isHosted:
|
|
242
|
+
isHosted: true,
|
|
1001
243
|
isEnterprise: false
|
|
1002
244
|
},
|
|
1003
245
|
feedbackProbability: 0.3,
|
|
@@ -1009,16 +251,22 @@ var initialState = {
|
|
|
1009
251
|
deviceIds: [],
|
|
1010
252
|
searchTerm: "",
|
|
1011
253
|
searchTotal: 0,
|
|
254
|
+
isSearching: false,
|
|
1012
255
|
sort: {
|
|
1013
|
-
direction: SORTING_OPTIONS.desc
|
|
256
|
+
direction: import_constants2.SORTING_OPTIONS.desc
|
|
1014
257
|
// key: null,
|
|
1015
258
|
// scope: null
|
|
1016
259
|
}
|
|
1017
260
|
},
|
|
261
|
+
sentry: {
|
|
262
|
+
location: "",
|
|
263
|
+
replaysSessionSampleRate: 0.1,
|
|
264
|
+
tracesSampleRate: 1
|
|
265
|
+
},
|
|
1018
266
|
stripeAPIKey: "",
|
|
1019
267
|
trackerCode: "",
|
|
1020
268
|
uploadsById: {
|
|
1021
|
-
// id: {
|
|
269
|
+
// id: { progress: 0, cancelSource: undefined }
|
|
1022
270
|
},
|
|
1023
271
|
newThreshold: getYesterday(),
|
|
1024
272
|
offlineThreshold: getYesterday(),
|
|
@@ -1026,11 +274,7 @@ var initialState = {
|
|
|
1026
274
|
Integration: "",
|
|
1027
275
|
"Mender-Client": "",
|
|
1028
276
|
"Mender-Artifact": "",
|
|
1029
|
-
"Meta-Mender": ""
|
|
1030
|
-
Deployments: "",
|
|
1031
|
-
Deviceauth: "",
|
|
1032
|
-
Inventory: "",
|
|
1033
|
-
GUI: "latest"
|
|
277
|
+
"Meta-Mender": ""
|
|
1034
278
|
},
|
|
1035
279
|
yesterday: void 0
|
|
1036
280
|
};
|
|
@@ -1045,19 +289,17 @@ var appSlice = (0, import_toolkit.createSlice)({
|
|
|
1045
289
|
};
|
|
1046
290
|
},
|
|
1047
291
|
setSnackbar: (state, { payload }) => {
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
292
|
+
if (typeof payload === "string") {
|
|
293
|
+
state.snackbar.message = payload;
|
|
294
|
+
return;
|
|
1051
295
|
}
|
|
296
|
+
const { message, autoHideDuration, action, preventClickToCopy = false } = payload;
|
|
1052
297
|
state.snackbar = {
|
|
1053
|
-
open: message ? true : false,
|
|
1054
298
|
message,
|
|
1055
|
-
maxWidth: 900,
|
|
1056
299
|
autoHideDuration,
|
|
1057
300
|
action,
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
onClose
|
|
301
|
+
preventClickToCopy,
|
|
302
|
+
open: !!message
|
|
1061
303
|
};
|
|
1062
304
|
},
|
|
1063
305
|
setFirstLoginAfterSignup: (state, action) => {
|
|
@@ -1127,20 +369,20 @@ var initialState2 = {
|
|
|
1127
369
|
sourceWindow: -1
|
|
1128
370
|
},
|
|
1129
371
|
binaryDeltaLimits: {
|
|
1130
|
-
timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },
|
|
1131
|
-
sourceWindow: limitDefault,
|
|
1132
|
-
inputWindow: limitDefault,
|
|
1133
|
-
duplicatesWindow: limitDefault,
|
|
1134
|
-
instructionBuffer: limitDefault
|
|
372
|
+
timeout: { ...import_constants2.limitDefault, default: 60, max: 3600, min: 60 },
|
|
373
|
+
sourceWindow: import_constants2.limitDefault,
|
|
374
|
+
inputWindow: import_constants2.limitDefault,
|
|
375
|
+
duplicatesWindow: import_constants2.limitDefault,
|
|
376
|
+
instructionBuffer: import_constants2.limitDefault
|
|
1135
377
|
}
|
|
1136
378
|
},
|
|
1137
379
|
deploymentDeviceLimit: 5e3,
|
|
1138
380
|
selectedDeviceIds: [],
|
|
1139
381
|
selectionState: {
|
|
1140
|
-
finished: { ...DEVICE_LIST_DEFAULTS, endDate: void 0, search: "", selection: [], startDate: void 0, total: 0, type: "" },
|
|
1141
|
-
inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
1142
|
-
pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
1143
|
-
scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },
|
|
382
|
+
finished: { ...import_constants2.DEVICE_LIST_DEFAULTS, endDate: void 0, search: "", selection: [], startDate: void 0, total: 0, type: "" },
|
|
383
|
+
inprogress: { ...import_constants2.DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
384
|
+
pending: { ...import_constants2.DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
385
|
+
scheduled: { ...import_constants2.DEVICE_LIST_DEFAULTS, selection: [] },
|
|
1144
386
|
general: {
|
|
1145
387
|
state: DEPLOYMENT_ROUTES.active.key,
|
|
1146
388
|
showCreationDialog: false,
|
|
@@ -1162,7 +404,8 @@ var deploymentsSlice = (0, import_toolkit2.createSlice)({
|
|
|
1162
404
|
};
|
|
1163
405
|
state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;
|
|
1164
406
|
state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];
|
|
1165
|
-
state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection]
|
|
407
|
+
state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection];
|
|
408
|
+
state.selectionState[DEPLOYMENT_STATES.pending].total = (state.selectionState[DEPLOYMENT_STATES.pending].total || 0) + 1;
|
|
1166
409
|
},
|
|
1167
410
|
removedDeployment: (state, action) => {
|
|
1168
411
|
const { [action.payload]: removedDeployment, ...remainder } = state.byId;
|
|
@@ -1239,26 +482,30 @@ var initialState3 = {
|
|
|
1239
482
|
// }
|
|
1240
483
|
},
|
|
1241
484
|
byStatus: {
|
|
1242
|
-
[DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },
|
|
485
|
+
[import_constants2.DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },
|
|
1243
486
|
active: { deviceIds: [], total: 0 },
|
|
1244
487
|
inactive: { deviceIds: [], total: 0 },
|
|
1245
|
-
[DEVICE_STATES.pending]: { deviceIds: [], total: 0 },
|
|
1246
|
-
[DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
|
|
1247
|
-
[DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }
|
|
488
|
+
[import_constants2.DEVICE_STATES.pending]: { deviceIds: [], total: 0 },
|
|
489
|
+
[import_constants2.DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
|
|
490
|
+
[import_constants2.DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }
|
|
1248
491
|
},
|
|
1249
492
|
deviceList: {
|
|
1250
493
|
deviceIds: [],
|
|
1251
|
-
...DEVICE_LIST_DEFAULTS,
|
|
494
|
+
...import_constants2.DEVICE_LIST_DEFAULTS,
|
|
1252
495
|
selectedAttributes: [],
|
|
1253
496
|
selectedIssues: [],
|
|
1254
497
|
selection: [],
|
|
1255
498
|
sort: {
|
|
1256
|
-
direction: SORTING_OPTIONS.desc
|
|
499
|
+
direction: import_constants2.SORTING_OPTIONS.desc
|
|
1257
500
|
// key: null,
|
|
1258
501
|
// scope: null
|
|
1259
502
|
},
|
|
1260
|
-
state: DEVICE_STATES.accepted,
|
|
1261
|
-
total: 0
|
|
503
|
+
state: import_constants2.DEVICE_STATES.accepted,
|
|
504
|
+
total: 0,
|
|
505
|
+
refreshTrigger: false,
|
|
506
|
+
isLoading: false,
|
|
507
|
+
detailsTab: "",
|
|
508
|
+
open: false
|
|
1262
509
|
},
|
|
1263
510
|
filters: [
|
|
1264
511
|
// { key: 'device_type', value: 'raspberry', operator: '$eq', scope: 'inventory' }
|
|
@@ -1330,7 +577,7 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1330
577
|
};
|
|
1331
578
|
},
|
|
1332
579
|
selectGroup: (state, { payload: group }) => {
|
|
1333
|
-
state.deviceList.deviceIds = state.groups.byId[group] && state.groups.byId[group].deviceIds.length > 0 ? state.groups.byId[group].deviceIds : [];
|
|
580
|
+
state.deviceList.deviceIds = group && state.groups.byId[group] && state.groups.byId[group].deviceIds && state.groups.byId[group].deviceIds.length > 0 ? state.groups.byId[group].deviceIds : [];
|
|
1334
581
|
state.groups.selectedGroup = group;
|
|
1335
582
|
},
|
|
1336
583
|
removeGroup: (state, action) => {
|
|
@@ -1382,9 +629,6 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1382
629
|
const { count, status } = action.payload;
|
|
1383
630
|
state.byStatus[status].total = count;
|
|
1384
631
|
},
|
|
1385
|
-
setTotalDevices: (state, action) => {
|
|
1386
|
-
state.total = action.payload;
|
|
1387
|
-
},
|
|
1388
632
|
setDeviceLimit: (state, action) => {
|
|
1389
633
|
state.limit = action.payload;
|
|
1390
634
|
},
|
|
@@ -1397,8 +641,8 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1397
641
|
maybeUpdateDevicesByStatus: (state, action) => {
|
|
1398
642
|
const { deviceId, authId } = action.payload;
|
|
1399
643
|
const device = state.byId[deviceId];
|
|
1400
|
-
const hasMultipleAuthSets = authId ? device.auth_sets.filter((authset) => authset.id !== authId).length > 0 : false;
|
|
1401
|
-
if (!hasMultipleAuthSets && Object.values(DEVICE_STATES).includes(device.status)) {
|
|
644
|
+
const hasMultipleAuthSets = authId && device.auth_sets ? device.auth_sets.filter((authset) => authset.id !== authId).length > 0 : false;
|
|
645
|
+
if (!hasMultipleAuthSets && Object.values(import_constants2.DEVICE_STATES).includes(device.status)) {
|
|
1402
646
|
const deviceIds = state.byStatus[device.status].deviceIds.filter((id) => id !== deviceId);
|
|
1403
647
|
state.byStatus[device.status] = { deviceIds, total: Math.max(0, state.byStatus[device.status].total - 1) };
|
|
1404
648
|
}
|
|
@@ -1413,16 +657,16 @@ var import_toolkit4 = require("@reduxjs/toolkit");
|
|
|
1413
657
|
var sliceName4 = "monitor";
|
|
1414
658
|
var initialState4 = {
|
|
1415
659
|
alerts: {
|
|
1416
|
-
alertList: { ...DEVICE_LIST_DEFAULTS, total: 0 },
|
|
660
|
+
alertList: { ...import_constants2.DEVICE_LIST_DEFAULTS, total: 0 },
|
|
1417
661
|
byDeviceId: {}
|
|
1418
662
|
},
|
|
1419
663
|
issueCounts: {
|
|
1420
|
-
byType: Object.
|
|
664
|
+
byType: Object.keys(import_constants2.DEVICE_ISSUE_OPTIONS).reduce((accu, key) => ({ ...accu, [key]: { filtered: 0, total: 0 } }), {})
|
|
1421
665
|
},
|
|
1422
666
|
settings: {
|
|
1423
667
|
global: {
|
|
1424
668
|
channels: {
|
|
1425
|
-
...Object.keys(alertChannels).reduce((accu, item) => ({ ...accu, [item]: { enabled: true } }), {})
|
|
669
|
+
...Object.keys(import_constants2.alertChannels).reduce((accu, item) => ({ ...accu, [item]: { enabled: true } }), {})
|
|
1426
670
|
}
|
|
1427
671
|
}
|
|
1428
672
|
}
|
|
@@ -1514,7 +758,7 @@ var initialState6 = {
|
|
|
1514
758
|
tenants: [],
|
|
1515
759
|
selectedTenant: null,
|
|
1516
760
|
sort: {
|
|
1517
|
-
direction: SORTING_OPTIONS.desc,
|
|
761
|
+
direction: import_constants2.SORTING_OPTIONS.desc,
|
|
1518
762
|
key: "name"
|
|
1519
763
|
}
|
|
1520
764
|
},
|
|
@@ -1524,15 +768,16 @@ var initialState6 = {
|
|
|
1524
768
|
auditlog: {
|
|
1525
769
|
events: [],
|
|
1526
770
|
selectionState: {
|
|
1527
|
-
...DEVICE_LIST_DEFAULTS,
|
|
771
|
+
...import_constants2.DEVICE_LIST_DEFAULTS,
|
|
1528
772
|
detail: void 0,
|
|
1529
773
|
endDate: void 0,
|
|
1530
774
|
selectedIssue: void 0,
|
|
1531
|
-
sort: { direction: SORTING_OPTIONS.desc },
|
|
775
|
+
sort: { direction: import_constants2.SORTING_OPTIONS.desc },
|
|
1532
776
|
startDate: void 0,
|
|
1533
777
|
total: 0,
|
|
1534
778
|
type: void 0,
|
|
1535
|
-
user: void 0
|
|
779
|
+
user: void 0,
|
|
780
|
+
isLoading: false
|
|
1536
781
|
}
|
|
1537
782
|
},
|
|
1538
783
|
externalDeviceIntegrations: [
|
|
@@ -1570,6 +815,12 @@ var organizationSlice = (0, import_toolkit6.createSlice)({
|
|
|
1570
815
|
setOrganization: (state, action) => {
|
|
1571
816
|
state.organization = { ...state.organization, ...action.payload };
|
|
1572
817
|
},
|
|
818
|
+
setSubscription: (state, action) => {
|
|
819
|
+
state.organization.subscription = { ...state.organization.subscription, ...action.payload };
|
|
820
|
+
},
|
|
821
|
+
setBillingProfile: (state, action) => {
|
|
822
|
+
state.organization.billing_profile = action.payload;
|
|
823
|
+
},
|
|
1573
824
|
setTenantListState: (state, action) => {
|
|
1574
825
|
state.tenantList = action.payload;
|
|
1575
826
|
},
|
|
@@ -1632,12 +883,12 @@ var initialState7 = {
|
|
|
1632
883
|
*/
|
|
1633
884
|
},
|
|
1634
885
|
releasesList: {
|
|
1635
|
-
...DEVICE_LIST_DEFAULTS,
|
|
886
|
+
...import_constants2.DEVICE_LIST_DEFAULTS,
|
|
1636
887
|
searchedIds: [],
|
|
1637
888
|
releaseIds: [],
|
|
1638
889
|
selection: [],
|
|
1639
890
|
sort: {
|
|
1640
|
-
direction: SORTING_OPTIONS.desc,
|
|
891
|
+
direction: import_constants2.SORTING_OPTIONS.desc,
|
|
1641
892
|
key: "modified"
|
|
1642
893
|
},
|
|
1643
894
|
isLoading: void 0,
|
|
@@ -1706,11 +957,12 @@ var initialState8 = {
|
|
|
1706
957
|
retries: 0
|
|
1707
958
|
},
|
|
1708
959
|
permissionSetsById: {
|
|
1709
|
-
...defaultPermissionSets
|
|
960
|
+
...import_constants2.defaultPermissionSets
|
|
1710
961
|
},
|
|
1711
962
|
rolesById: {
|
|
1712
|
-
...rolesById
|
|
963
|
+
...import_constants2.rolesById
|
|
1713
964
|
},
|
|
965
|
+
rolesInitialized: false,
|
|
1714
966
|
settingsInitialized: false,
|
|
1715
967
|
showConnectDeviceDialog: false,
|
|
1716
968
|
showFeedbackDialog: false,
|
|
@@ -1746,9 +998,6 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1746
998
|
state.byId[action.payload.id] = action.payload;
|
|
1747
999
|
state.currentUser = action.payload.id;
|
|
1748
1000
|
},
|
|
1749
|
-
createdUser: (state, action) => {
|
|
1750
|
-
state.byId[0] = action.payload;
|
|
1751
|
-
},
|
|
1752
1001
|
removedUser: (state, action) => {
|
|
1753
1002
|
const { [action.payload]: removedUser, ...byId } = state.byId;
|
|
1754
1003
|
state.byId = byId;
|
|
@@ -1765,6 +1014,10 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1765
1014
|
},
|
|
1766
1015
|
receivedRoles: (state, action) => {
|
|
1767
1016
|
state.rolesById = action.payload;
|
|
1017
|
+
state.rolesInitialized = true;
|
|
1018
|
+
},
|
|
1019
|
+
finishedRoleInitialization: (state, action) => {
|
|
1020
|
+
state.rolesInitialized = action.payload;
|
|
1768
1021
|
},
|
|
1769
1022
|
createdRole: (state, action) => {
|
|
1770
1023
|
state.rolesById[action.payload.name] = {
|
|
@@ -1795,7 +1048,7 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1795
1048
|
},
|
|
1796
1049
|
setTooltipState: (state, action) => {
|
|
1797
1050
|
const { id, readState = READ_STATES.read } = action.payload;
|
|
1798
|
-
state.tooltips.byId[id]
|
|
1051
|
+
state.tooltips.byId[id] = { ...state.tooltips.byId[id], readState };
|
|
1799
1052
|
},
|
|
1800
1053
|
setTooltipsState: (state, action) => {
|
|
1801
1054
|
state.tooltips.byId = {
|
|
@@ -1832,7 +1085,7 @@ var actions_default = {
|
|
|
1832
1085
|
// src/auth.ts
|
|
1833
1086
|
var import_universal_cookie = __toESM(require("universal-cookie"), 1);
|
|
1834
1087
|
var cookies = new import_universal_cookie.default();
|
|
1835
|
-
var emptySession = Object.freeze({ token: "",
|
|
1088
|
+
var emptySession = Object.freeze({ token: "", expiresAt: void 0 });
|
|
1836
1089
|
var tokenCache = "";
|
|
1837
1090
|
var getSessionInfo = () => {
|
|
1838
1091
|
let sessionInfo = { ...emptySession };
|
|
@@ -1845,15 +1098,15 @@ var getSessionInfo = () => {
|
|
|
1845
1098
|
return { ...emptySession };
|
|
1846
1099
|
}
|
|
1847
1100
|
if (!sessionInfo.token) {
|
|
1848
|
-
|
|
1101
|
+
const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
|
|
1849
1102
|
if (jwtTokenFromCookie) {
|
|
1850
|
-
setSessionInfo({ token: jwtTokenFromCookie
|
|
1103
|
+
setSessionInfo({ token: jwtTokenFromCookie });
|
|
1851
1104
|
sessionInfo.token = jwtTokenFromCookie;
|
|
1852
1105
|
cookies.remove("JWT");
|
|
1853
1106
|
cookies.remove("JWT", { path: "/" });
|
|
1854
1107
|
}
|
|
1855
1108
|
}
|
|
1856
|
-
sessionInfo.token = sessionInfo.token ||
|
|
1109
|
+
sessionInfo.token = sessionInfo.token || "";
|
|
1857
1110
|
tokenCache = sessionInfo.token;
|
|
1858
1111
|
return sessionInfo;
|
|
1859
1112
|
};
|
|
@@ -1907,20 +1160,50 @@ var rejectionLoggerMiddleware = () => (next) => (action) => {
|
|
|
1907
1160
|
}
|
|
1908
1161
|
return next(action);
|
|
1909
1162
|
};
|
|
1163
|
+
var tracingActionIgnoreList = [actions8.successfullyLoggedIn.type, "users/loginUser/pending", "users/loginUser/fulfilled", "users/loginUser/rejected"];
|
|
1164
|
+
var sentryReduxEnhancer = (0, import_react.createReduxEnhancer)({
|
|
1165
|
+
actionTransformer: (action) => {
|
|
1166
|
+
if (tracingActionIgnoreList.includes(action.type)) {
|
|
1167
|
+
return null;
|
|
1168
|
+
}
|
|
1169
|
+
return action;
|
|
1170
|
+
},
|
|
1171
|
+
// Transform the state to remove sensitive information
|
|
1172
|
+
stateTransformer: (state) => {
|
|
1173
|
+
const transformedState = {
|
|
1174
|
+
...state,
|
|
1175
|
+
users: { ...state.users, currentSession: null },
|
|
1176
|
+
organization: {
|
|
1177
|
+
...state.organization,
|
|
1178
|
+
organization: {
|
|
1179
|
+
...state.organization.organization,
|
|
1180
|
+
tenant_token: null
|
|
1181
|
+
}
|
|
1182
|
+
}
|
|
1183
|
+
};
|
|
1184
|
+
return transformedState;
|
|
1185
|
+
}
|
|
1186
|
+
});
|
|
1910
1187
|
var getConfiguredStore = (options = {}) => {
|
|
1911
1188
|
const { preloadedState = {}, ...config } = options;
|
|
1912
1189
|
return (0, import_toolkit9.configureStore)({
|
|
1913
1190
|
...config,
|
|
1914
1191
|
preloadedState,
|
|
1192
|
+
enhancers: (getDefaultEnhancers) => {
|
|
1193
|
+
if (window.mender_environment?.sentry?.isReduxEnabled) {
|
|
1194
|
+
return getDefaultEnhancers().concat(sentryReduxEnhancer);
|
|
1195
|
+
}
|
|
1196
|
+
return getDefaultEnhancers();
|
|
1197
|
+
},
|
|
1915
1198
|
reducer: sessionReducer,
|
|
1916
1199
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
1917
1200
|
immutableCheck: {
|
|
1918
1201
|
ignoredPaths: ["app.uploadsById"]
|
|
1919
1202
|
},
|
|
1920
1203
|
serializableCheck: {
|
|
1921
|
-
ignoredActions: [actions6.receiveExternalDeviceIntegrations.name,
|
|
1922
|
-
ignoredActionPaths: ["uploads", "
|
|
1923
|
-
ignoredPaths: ["app.uploadsById", "
|
|
1204
|
+
ignoredActions: [actions6.receiveExternalDeviceIntegrations.name, uploadProgress.name],
|
|
1205
|
+
ignoredActionPaths: ["uploads", /payload\..*$/, "meta.arg.file", "meta.arg.integration.configHint"],
|
|
1206
|
+
ignoredPaths: ["app.uploadsById", "organization.externalDeviceIntegrations"]
|
|
1924
1207
|
}
|
|
1925
1208
|
}).concat(rejectionLoggerMiddleware)
|
|
1926
1209
|
});
|
|
@@ -1929,10 +1212,12 @@ var store = getConfiguredStore({
|
|
|
1929
1212
|
preloadedState: {}
|
|
1930
1213
|
});
|
|
1931
1214
|
var useAppDispatch = import_react_redux.useDispatch;
|
|
1215
|
+
var createAppAsyncThunk = import_toolkit9.createAsyncThunk.withTypes();
|
|
1932
1216
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1933
1217
|
0 && (module.exports = {
|
|
1934
1218
|
commonErrorFallback,
|
|
1935
1219
|
commonErrorHandler,
|
|
1220
|
+
createAppAsyncThunk,
|
|
1936
1221
|
getConfiguredStore,
|
|
1937
1222
|
sessionReducer,
|
|
1938
1223
|
store,
|