@northern.tech/store 0.3.3 → 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 +80 -833
- 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 +109 -119
- package/dist/appSlice/constants.d.ts +109 -119
- package/dist/appSlice/constants.js +1 -11
- package/dist/appSlice/index.cjs +25 -242
- 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 +1563 -1790
- 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 +30 -29
- 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-2CYOM4BK.js → chunk-4TUJPE6G.js} +19 -4
- package/dist/chunk-4TUJPE6G.js.map +1 -0
- package/dist/{chunk-7PVGDMNM.js → chunk-6KGTHJKC.js} +23 -27
- 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-QRGTG4YB.js → chunk-ABJLRDCO.js} +10 -11
- package/dist/chunk-ABJLRDCO.js.map +1 -0
- package/dist/{chunk-LEMVXAYP.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-DCK2DBOA.js → chunk-IQG5I7AM.js} +29 -39
- 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-7JKWI5FK.js → chunk-JXQUFKID.js} +2 -2
- package/dist/chunk-JXQUFKID.js.map +1 -0
- package/dist/chunk-KC7SKI3U.js +389 -0
- package/dist/chunk-KC7SKI3U.js.map +1 -0
- package/dist/{chunk-YDS36ALB.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-TI2RL5P2.js → chunk-MZNANSS2.js} +12 -7
- package/dist/chunk-MZNANSS2.js.map +1 -0
- package/dist/{chunk-LTKOV26W.js → chunk-N2KLYPS5.js} +138 -95
- package/dist/chunk-N2KLYPS5.js.map +1 -0
- package/dist/{chunk-UWMYZNUB.js → chunk-OHF3YUXX.js} +25 -40
- package/dist/chunk-OHF3YUXX.js.map +1 -0
- package/dist/{chunk-CYV6632F.js → chunk-OOICURFL.js} +2 -2
- package/dist/chunk-OOICURFL.js.map +1 -0
- package/dist/{chunk-VMNMD6KF.js → chunk-PGFVHKP5.js} +5 -7
- package/dist/chunk-PGFVHKP5.js.map +1 -0
- package/dist/{chunk-JAROCU6M.js → chunk-QHK7GGV4.js} +3 -3
- package/dist/chunk-QHK7GGV4.js.map +1 -0
- package/dist/{chunk-YT73QWCN.js → chunk-RS37Y2PQ.js} +3 -3
- package/dist/chunk-RS37Y2PQ.js.map +1 -0
- package/dist/{chunk-TUACATJA.js → chunk-UGSLGUS6.js} +8 -6
- package/dist/chunk-UGSLGUS6.js.map +1 -0
- package/dist/{chunk-DAPAXWA5.js → chunk-URNS6A5T.js} +14 -14
- package/dist/{chunk-FGKMJS3B.js → chunk-VANBSJS5.js} +2 -4
- package/dist/chunk-VANBSJS5.js.map +1 -0
- package/dist/{chunk-HPBE6KYY.js → chunk-VUFRP6P3.js} +5 -6
- package/dist/chunk-VUFRP6P3.js.map +1 -0
- package/dist/{chunk-X7IEZBM4.js → chunk-X4GUACQO.js} +8 -5
- package/dist/chunk-X4GUACQO.js.map +1 -0
- package/dist/{chunk-4XJMRVFI.js → chunk-XWYJACQC.js} +45 -22
- package/dist/chunk-XWYJACQC.js.map +1 -0
- package/dist/{chunk-AMGWP7A4.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-2JHFUQ6B.js → chunk-ZN5TB2NJ.js} +963 -883
- package/dist/chunk-ZN5TB2NJ.js.map +1 -0
- package/dist/{chunk-WXL7PVI5.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 +513 -778
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.d.cts +4307 -279
- package/dist/commonSelectors.d.ts +4307 -279
- package/dist/commonSelectors.js +13 -13
- 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 +1551 -1778
- 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 +30 -29
- 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 -1936
- 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 +36 -45
- package/dist/liststatehook.cjs +935 -0
- package/dist/liststatehook.cjs.map +1 -0
- package/dist/liststatehook.d.cts +234 -0
- package/dist/liststatehook.d.ts +234 -0
- package/dist/liststatehook.js +88 -0
- package/dist/liststatehook.js.map +1 -0
- package/dist/locationutils.cjs +906 -0
- package/dist/locationutils.cjs.map +1 -0
- package/dist/locationutils.d.cts +114 -0
- package/dist/locationutils.d.ts +114 -0
- package/dist/locationutils.js +46 -0
- package/dist/locationutils.js.map +1 -0
- 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 +633 -880
- 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 +26 -26
- 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 +1 -3
- 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 +1787 -2020
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.d.cts +63 -36
- package/dist/onboardingSlice/thunks.d.ts +63 -36
- package/dist/onboardingSlice/thunks.js +30 -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 -73
- package/dist/organizationSlice/index.d.ts +45 -73
- 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 -51
- package/dist/organizationSlice/selectors.d.ts +888 -51
- package/dist/organizationSlice/selectors.js +14 -6
- package/dist/organizationSlice/thunks.cjs +2616 -2759
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +322 -131
- package/dist/organizationSlice/thunks.d.ts +322 -131
- package/dist/organizationSlice/thunks.js +44 -29
- package/dist/organizationSlice/types.cjs.map +1 -1
- package/dist/organizationSlice/types.d.cts +62 -79
- package/dist/organizationSlice/types.d.ts +62 -79
- 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 +293 -165
- 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 +827 -1017
- 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 +33 -26
- package/dist/selectors.cjs +565 -780
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +37 -8
- package/dist/selectors.d.ts +37 -8
- package/dist/selectors.js +54 -18
- package/dist/sockethook.cjs +519 -0
- package/dist/sockethook.cjs.map +1 -0
- package/dist/sockethook.d.cts +10 -0
- package/dist/sockethook.d.ts +10 -0
- package/dist/sockethook.js +139 -0
- package/dist/sockethook.js.map +1 -0
- package/dist/store.cjs +121 -840
- package/dist/store.cjs.map +1 -1
- package/dist/store.d.cts +697 -1961
- package/dist/store.d.ts +697 -1961
- package/dist/store.js +18 -16
- package/dist/storehooks.cjs +1854 -1968
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +46 -63
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +2138 -2231
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +25 -7
- package/dist/thunks.d.ts +25 -7
- package/dist/thunks.js +54 -45
- package/dist/{deploymentdevicehook.cjs → useDeploymentDevice.cjs} +1797 -2026
- 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 +16 -774
- package/dist/usersSlice/constants.d.ts +16 -774
- 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 +1666 -1893
- 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 +30 -29
- package/dist/utils.cjs +428 -292
- 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 +18 -8
- 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-2CYOM4BK.js.map +0 -1
- package/dist/chunk-2JHFUQ6B.js.map +0 -1
- package/dist/chunk-4B3IMP4I.js +0 -245
- package/dist/chunk-4B3IMP4I.js.map +0 -1
- package/dist/chunk-4XJMRVFI.js.map +0 -1
- package/dist/chunk-7JKWI5FK.js.map +0 -1
- package/dist/chunk-7PVGDMNM.js.map +0 -1
- package/dist/chunk-AMGWP7A4.js.map +0 -1
- package/dist/chunk-C5NEDBJI.js +0 -727
- package/dist/chunk-C5NEDBJI.js.map +0 -1
- package/dist/chunk-CYV6632F.js.map +0 -1
- package/dist/chunk-DCK2DBOA.js.map +0 -1
- package/dist/chunk-FGKMJS3B.js.map +0 -1
- package/dist/chunk-HPBE6KYY.js.map +0 -1
- package/dist/chunk-JAROCU6M.js.map +0 -1
- package/dist/chunk-LEMVXAYP.js.map +0 -1
- package/dist/chunk-LGNOTPUG.js +0 -106
- package/dist/chunk-LGNOTPUG.js.map +0 -1
- package/dist/chunk-LIJIIRON.js +0 -28
- package/dist/chunk-LIJIIRON.js.map +0 -1
- package/dist/chunk-LTKOV26W.js.map +0 -1
- package/dist/chunk-MRCFLG45.js.map +0 -1
- package/dist/chunk-QRGTG4YB.js.map +0 -1
- package/dist/chunk-TI2RL5P2.js.map +0 -1
- package/dist/chunk-TUACATJA.js.map +0 -1
- package/dist/chunk-UWMYZNUB.js.map +0 -1
- package/dist/chunk-VMNMD6KF.js.map +0 -1
- package/dist/chunk-WXL7PVI5.js.map +0 -1
- package/dist/chunk-X7IEZBM4.js.map +0 -1
- package/dist/chunk-YDS36ALB.js.map +0 -1
- package/dist/chunk-YT73QWCN.js.map +0 -1
- package/dist/deploymentdevicehook.cjs.map +0 -1
- package/dist/deploymentdevicehook.js +0 -62
- package/dist/deploymentdevicehook.js.map +0 -1
- /package/dist/{chunk-DAPAXWA5.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) => {
|
|
@@ -1096,9 +338,7 @@ var appSlice = (0, import_toolkit.createSlice)({
|
|
|
1096
338
|
...action.payload
|
|
1097
339
|
};
|
|
1098
340
|
},
|
|
1099
|
-
setEnvironmentData: (state, action) => {
|
|
1100
|
-
return { ...state, ...action.payload };
|
|
1101
|
-
}
|
|
341
|
+
setEnvironmentData: (state, action) => ({ ...state, ...action.payload })
|
|
1102
342
|
}
|
|
1103
343
|
});
|
|
1104
344
|
var actions = appSlice.actions;
|
|
@@ -1129,20 +369,20 @@ var initialState2 = {
|
|
|
1129
369
|
sourceWindow: -1
|
|
1130
370
|
},
|
|
1131
371
|
binaryDeltaLimits: {
|
|
1132
|
-
timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },
|
|
1133
|
-
sourceWindow: limitDefault,
|
|
1134
|
-
inputWindow: limitDefault,
|
|
1135
|
-
duplicatesWindow: limitDefault,
|
|
1136
|
-
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
|
|
1137
377
|
}
|
|
1138
378
|
},
|
|
1139
379
|
deploymentDeviceLimit: 5e3,
|
|
1140
380
|
selectedDeviceIds: [],
|
|
1141
381
|
selectionState: {
|
|
1142
|
-
finished: { ...DEVICE_LIST_DEFAULTS, endDate: void 0, search: "", selection: [], startDate: void 0, total: 0, type: "" },
|
|
1143
|
-
inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
1144
|
-
pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
1145
|
-
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: [] },
|
|
1146
386
|
general: {
|
|
1147
387
|
state: DEPLOYMENT_ROUTES.active.key,
|
|
1148
388
|
showCreationDialog: false,
|
|
@@ -1164,7 +404,8 @@ var deploymentsSlice = (0, import_toolkit2.createSlice)({
|
|
|
1164
404
|
};
|
|
1165
405
|
state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;
|
|
1166
406
|
state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];
|
|
1167
|
-
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;
|
|
1168
409
|
},
|
|
1169
410
|
removedDeployment: (state, action) => {
|
|
1170
411
|
const { [action.payload]: removedDeployment, ...remainder } = state.byId;
|
|
@@ -1241,26 +482,30 @@ var initialState3 = {
|
|
|
1241
482
|
// }
|
|
1242
483
|
},
|
|
1243
484
|
byStatus: {
|
|
1244
|
-
[DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },
|
|
485
|
+
[import_constants2.DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },
|
|
1245
486
|
active: { deviceIds: [], total: 0 },
|
|
1246
487
|
inactive: { deviceIds: [], total: 0 },
|
|
1247
|
-
[DEVICE_STATES.pending]: { deviceIds: [], total: 0 },
|
|
1248
|
-
[DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
|
|
1249
|
-
[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 }
|
|
1250
491
|
},
|
|
1251
492
|
deviceList: {
|
|
1252
493
|
deviceIds: [],
|
|
1253
|
-
...DEVICE_LIST_DEFAULTS,
|
|
494
|
+
...import_constants2.DEVICE_LIST_DEFAULTS,
|
|
1254
495
|
selectedAttributes: [],
|
|
1255
496
|
selectedIssues: [],
|
|
1256
497
|
selection: [],
|
|
1257
498
|
sort: {
|
|
1258
|
-
direction: SORTING_OPTIONS.desc
|
|
499
|
+
direction: import_constants2.SORTING_OPTIONS.desc
|
|
1259
500
|
// key: null,
|
|
1260
501
|
// scope: null
|
|
1261
502
|
},
|
|
1262
|
-
state: DEVICE_STATES.accepted,
|
|
1263
|
-
total: 0
|
|
503
|
+
state: import_constants2.DEVICE_STATES.accepted,
|
|
504
|
+
total: 0,
|
|
505
|
+
refreshTrigger: false,
|
|
506
|
+
isLoading: false,
|
|
507
|
+
detailsTab: "",
|
|
508
|
+
open: false
|
|
1264
509
|
},
|
|
1265
510
|
filters: [
|
|
1266
511
|
// { key: 'device_type', value: 'raspberry', operator: '$eq', scope: 'inventory' }
|
|
@@ -1332,7 +577,7 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1332
577
|
};
|
|
1333
578
|
},
|
|
1334
579
|
selectGroup: (state, { payload: group }) => {
|
|
1335
|
-
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 : [];
|
|
1336
581
|
state.groups.selectedGroup = group;
|
|
1337
582
|
},
|
|
1338
583
|
removeGroup: (state, action) => {
|
|
@@ -1384,9 +629,6 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1384
629
|
const { count, status } = action.payload;
|
|
1385
630
|
state.byStatus[status].total = count;
|
|
1386
631
|
},
|
|
1387
|
-
setTotalDevices: (state, action) => {
|
|
1388
|
-
state.total = action.payload;
|
|
1389
|
-
},
|
|
1390
632
|
setDeviceLimit: (state, action) => {
|
|
1391
633
|
state.limit = action.payload;
|
|
1392
634
|
},
|
|
@@ -1399,8 +641,8 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1399
641
|
maybeUpdateDevicesByStatus: (state, action) => {
|
|
1400
642
|
const { deviceId, authId } = action.payload;
|
|
1401
643
|
const device = state.byId[deviceId];
|
|
1402
|
-
const hasMultipleAuthSets = authId ? device.auth_sets.filter((authset) => authset.id !== authId).length > 0 : false;
|
|
1403
|
-
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)) {
|
|
1404
646
|
const deviceIds = state.byStatus[device.status].deviceIds.filter((id) => id !== deviceId);
|
|
1405
647
|
state.byStatus[device.status] = { deviceIds, total: Math.max(0, state.byStatus[device.status].total - 1) };
|
|
1406
648
|
}
|
|
@@ -1415,16 +657,16 @@ var import_toolkit4 = require("@reduxjs/toolkit");
|
|
|
1415
657
|
var sliceName4 = "monitor";
|
|
1416
658
|
var initialState4 = {
|
|
1417
659
|
alerts: {
|
|
1418
|
-
alertList: { ...DEVICE_LIST_DEFAULTS, total: 0 },
|
|
660
|
+
alertList: { ...import_constants2.DEVICE_LIST_DEFAULTS, total: 0 },
|
|
1419
661
|
byDeviceId: {}
|
|
1420
662
|
},
|
|
1421
663
|
issueCounts: {
|
|
1422
|
-
byType: Object.
|
|
664
|
+
byType: Object.keys(import_constants2.DEVICE_ISSUE_OPTIONS).reduce((accu, key) => ({ ...accu, [key]: { filtered: 0, total: 0 } }), {})
|
|
1423
665
|
},
|
|
1424
666
|
settings: {
|
|
1425
667
|
global: {
|
|
1426
668
|
channels: {
|
|
1427
|
-
...Object.keys(alertChannels).reduce((accu, item) => ({ ...accu, [item]: { enabled: true } }), {})
|
|
669
|
+
...Object.keys(import_constants2.alertChannels).reduce((accu, item) => ({ ...accu, [item]: { enabled: true } }), {})
|
|
1428
670
|
}
|
|
1429
671
|
}
|
|
1430
672
|
}
|
|
@@ -1473,9 +715,7 @@ var onboardingSlice = (0, import_toolkit5.createSlice)({
|
|
|
1473
715
|
name: sliceName5,
|
|
1474
716
|
initialState: initialState5,
|
|
1475
717
|
reducers: {
|
|
1476
|
-
setOnboardingState: (state, action) => {
|
|
1477
|
-
return { ...state, ...action.payload };
|
|
1478
|
-
},
|
|
718
|
+
setOnboardingState: (state, action) => ({ ...state, ...action.payload }),
|
|
1479
719
|
setDemoArtifactPort: (state, action) => {
|
|
1480
720
|
state.demoArtifactPort = action.payload;
|
|
1481
721
|
},
|
|
@@ -1518,7 +758,7 @@ var initialState6 = {
|
|
|
1518
758
|
tenants: [],
|
|
1519
759
|
selectedTenant: null,
|
|
1520
760
|
sort: {
|
|
1521
|
-
direction: SORTING_OPTIONS.desc,
|
|
761
|
+
direction: import_constants2.SORTING_OPTIONS.desc,
|
|
1522
762
|
key: "name"
|
|
1523
763
|
}
|
|
1524
764
|
},
|
|
@@ -1528,15 +768,16 @@ var initialState6 = {
|
|
|
1528
768
|
auditlog: {
|
|
1529
769
|
events: [],
|
|
1530
770
|
selectionState: {
|
|
1531
|
-
...DEVICE_LIST_DEFAULTS,
|
|
771
|
+
...import_constants2.DEVICE_LIST_DEFAULTS,
|
|
1532
772
|
detail: void 0,
|
|
1533
773
|
endDate: void 0,
|
|
1534
774
|
selectedIssue: void 0,
|
|
1535
|
-
sort: { direction: SORTING_OPTIONS.desc },
|
|
775
|
+
sort: { direction: import_constants2.SORTING_OPTIONS.desc },
|
|
1536
776
|
startDate: void 0,
|
|
1537
777
|
total: 0,
|
|
1538
778
|
type: void 0,
|
|
1539
|
-
user: void 0
|
|
779
|
+
user: void 0,
|
|
780
|
+
isLoading: false
|
|
1540
781
|
}
|
|
1541
782
|
},
|
|
1542
783
|
externalDeviceIntegrations: [
|
|
@@ -1574,6 +815,12 @@ var organizationSlice = (0, import_toolkit6.createSlice)({
|
|
|
1574
815
|
setOrganization: (state, action) => {
|
|
1575
816
|
state.organization = { ...state.organization, ...action.payload };
|
|
1576
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
|
+
},
|
|
1577
824
|
setTenantListState: (state, action) => {
|
|
1578
825
|
state.tenantList = action.payload;
|
|
1579
826
|
},
|
|
@@ -1636,12 +883,12 @@ var initialState7 = {
|
|
|
1636
883
|
*/
|
|
1637
884
|
},
|
|
1638
885
|
releasesList: {
|
|
1639
|
-
...DEVICE_LIST_DEFAULTS,
|
|
886
|
+
...import_constants2.DEVICE_LIST_DEFAULTS,
|
|
1640
887
|
searchedIds: [],
|
|
1641
888
|
releaseIds: [],
|
|
1642
889
|
selection: [],
|
|
1643
890
|
sort: {
|
|
1644
|
-
direction: SORTING_OPTIONS.desc,
|
|
891
|
+
direction: import_constants2.SORTING_OPTIONS.desc,
|
|
1645
892
|
key: "modified"
|
|
1646
893
|
},
|
|
1647
894
|
isLoading: void 0,
|
|
@@ -1710,11 +957,12 @@ var initialState8 = {
|
|
|
1710
957
|
retries: 0
|
|
1711
958
|
},
|
|
1712
959
|
permissionSetsById: {
|
|
1713
|
-
...defaultPermissionSets
|
|
960
|
+
...import_constants2.defaultPermissionSets
|
|
1714
961
|
},
|
|
1715
962
|
rolesById: {
|
|
1716
|
-
...rolesById
|
|
963
|
+
...import_constants2.rolesById
|
|
1717
964
|
},
|
|
965
|
+
rolesInitialized: false,
|
|
1718
966
|
settingsInitialized: false,
|
|
1719
967
|
showConnectDeviceDialog: false,
|
|
1720
968
|
showFeedbackDialog: false,
|
|
@@ -1750,9 +998,6 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1750
998
|
state.byId[action.payload.id] = action.payload;
|
|
1751
999
|
state.currentUser = action.payload.id;
|
|
1752
1000
|
},
|
|
1753
|
-
createdUser: (state, action) => {
|
|
1754
|
-
state.byId[0] = action.payload;
|
|
1755
|
-
},
|
|
1756
1001
|
removedUser: (state, action) => {
|
|
1757
1002
|
const { [action.payload]: removedUser, ...byId } = state.byId;
|
|
1758
1003
|
state.byId = byId;
|
|
@@ -1769,6 +1014,10 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1769
1014
|
},
|
|
1770
1015
|
receivedRoles: (state, action) => {
|
|
1771
1016
|
state.rolesById = action.payload;
|
|
1017
|
+
state.rolesInitialized = true;
|
|
1018
|
+
},
|
|
1019
|
+
finishedRoleInitialization: (state, action) => {
|
|
1020
|
+
state.rolesInitialized = action.payload;
|
|
1772
1021
|
},
|
|
1773
1022
|
createdRole: (state, action) => {
|
|
1774
1023
|
state.rolesById[action.payload.name] = {
|
|
@@ -1799,7 +1048,7 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1799
1048
|
},
|
|
1800
1049
|
setTooltipState: (state, action) => {
|
|
1801
1050
|
const { id, readState = READ_STATES.read } = action.payload;
|
|
1802
|
-
state.tooltips.byId[id]
|
|
1051
|
+
state.tooltips.byId[id] = { ...state.tooltips.byId[id], readState };
|
|
1803
1052
|
},
|
|
1804
1053
|
setTooltipsState: (state, action) => {
|
|
1805
1054
|
state.tooltips.byId = {
|
|
@@ -1836,7 +1085,7 @@ var actions_default = {
|
|
|
1836
1085
|
// src/auth.ts
|
|
1837
1086
|
var import_universal_cookie = __toESM(require("universal-cookie"), 1);
|
|
1838
1087
|
var cookies = new import_universal_cookie.default();
|
|
1839
|
-
var emptySession = Object.freeze({ token: "",
|
|
1088
|
+
var emptySession = Object.freeze({ token: "", expiresAt: void 0 });
|
|
1840
1089
|
var tokenCache = "";
|
|
1841
1090
|
var getSessionInfo = () => {
|
|
1842
1091
|
let sessionInfo = { ...emptySession };
|
|
@@ -1849,15 +1098,15 @@ var getSessionInfo = () => {
|
|
|
1849
1098
|
return { ...emptySession };
|
|
1850
1099
|
}
|
|
1851
1100
|
if (!sessionInfo.token) {
|
|
1852
|
-
|
|
1101
|
+
const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
|
|
1853
1102
|
if (jwtTokenFromCookie) {
|
|
1854
|
-
setSessionInfo({ token: jwtTokenFromCookie
|
|
1103
|
+
setSessionInfo({ token: jwtTokenFromCookie });
|
|
1855
1104
|
sessionInfo.token = jwtTokenFromCookie;
|
|
1856
1105
|
cookies.remove("JWT");
|
|
1857
1106
|
cookies.remove("JWT", { path: "/" });
|
|
1858
1107
|
}
|
|
1859
1108
|
}
|
|
1860
|
-
sessionInfo.token = sessionInfo.token ||
|
|
1109
|
+
sessionInfo.token = sessionInfo.token || "";
|
|
1861
1110
|
tokenCache = sessionInfo.token;
|
|
1862
1111
|
return sessionInfo;
|
|
1863
1112
|
};
|
|
@@ -1911,20 +1160,50 @@ var rejectionLoggerMiddleware = () => (next) => (action) => {
|
|
|
1911
1160
|
}
|
|
1912
1161
|
return next(action);
|
|
1913
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
|
+
});
|
|
1914
1187
|
var getConfiguredStore = (options = {}) => {
|
|
1915
1188
|
const { preloadedState = {}, ...config } = options;
|
|
1916
1189
|
return (0, import_toolkit9.configureStore)({
|
|
1917
1190
|
...config,
|
|
1918
1191
|
preloadedState,
|
|
1192
|
+
enhancers: (getDefaultEnhancers) => {
|
|
1193
|
+
if (window.mender_environment?.sentry?.isReduxEnabled) {
|
|
1194
|
+
return getDefaultEnhancers().concat(sentryReduxEnhancer);
|
|
1195
|
+
}
|
|
1196
|
+
return getDefaultEnhancers();
|
|
1197
|
+
},
|
|
1919
1198
|
reducer: sessionReducer,
|
|
1920
1199
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
1921
1200
|
immutableCheck: {
|
|
1922
1201
|
ignoredPaths: ["app.uploadsById"]
|
|
1923
1202
|
},
|
|
1924
1203
|
serializableCheck: {
|
|
1925
|
-
ignoredActions: [actions6.receiveExternalDeviceIntegrations.name,
|
|
1926
|
-
ignoredActionPaths: ["uploads", "
|
|
1927
|
-
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"]
|
|
1928
1207
|
}
|
|
1929
1208
|
}).concat(rejectionLoggerMiddleware)
|
|
1930
1209
|
});
|
|
@@ -1933,10 +1212,12 @@ var store = getConfiguredStore({
|
|
|
1933
1212
|
preloadedState: {}
|
|
1934
1213
|
});
|
|
1935
1214
|
var useAppDispatch = import_react_redux.useDispatch;
|
|
1215
|
+
var createAppAsyncThunk = import_toolkit9.createAsyncThunk.withTypes();
|
|
1936
1216
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1937
1217
|
0 && (module.exports = {
|
|
1938
1218
|
commonErrorFallback,
|
|
1939
1219
|
commonErrorHandler,
|
|
1220
|
+
createAppAsyncThunk,
|
|
1940
1221
|
getConfiguredStore,
|
|
1941
1222
|
sessionReducer,
|
|
1942
1223
|
store,
|