@northern.tech/store 0.3.4 → 0.5.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 +25 -53
- package/dist/appSlice/constants.cjs.map +1 -1
- package/dist/appSlice/constants.d.cts +100 -112
- package/dist/appSlice/constants.d.ts +100 -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 +37 -5
- package/dist/appSlice/selectors.cjs.map +1 -1
- package/dist/appSlice/selectors.d.cts +711 -23
- package/dist/appSlice/selectors.d.ts +711 -23
- package/dist/appSlice/selectors.js +25 -1
- package/dist/appSlice/thunks.cjs +1554 -1767
- 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 -30
- 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-FQDSV3NK.js → chunk-4E7ZSEFL.js} +18 -12
- package/dist/chunk-4E7ZSEFL.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-DCEKU6UV.js → chunk-6XVREXI4.js} +8 -5
- package/dist/chunk-6XVREXI4.js.map +1 -0
- package/dist/chunk-7C4SQBEE.js +715 -0
- package/dist/chunk-7C4SQBEE.js.map +1 -0
- package/dist/{chunk-ZZMFXRQK.js → chunk-7PRZYHDP.js} +13 -13
- package/dist/{chunk-X3GZILYD.js → chunk-ABJLRDCO.js} +10 -11
- package/dist/chunk-ABJLRDCO.js.map +1 -0
- package/dist/chunk-BYUPW7RA.js +48 -0
- package/dist/chunk-BYUPW7RA.js.map +1 -0
- package/dist/{chunk-EQLHIPPR.js → chunk-DA6QVCOG.js} +924 -842
- package/dist/chunk-DA6QVCOG.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-Y575RZHR.js → chunk-HFOTAPIJ.js} +27 -50
- package/dist/chunk-HFOTAPIJ.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-PAIB5V27.js → chunk-MPYYSFPL.js} +55 -21
- package/dist/chunk-MPYYSFPL.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-FVCYB5OP.js → chunk-NQIP7VFB.js} +30 -38
- package/dist/chunk-NQIP7VFB.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-GWJIY56H.js → chunk-QEKN5R7E.js} +40 -15
- package/dist/chunk-QEKN5R7E.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-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-EYCORLYU.js → chunk-YWHRAPDQ.js} +128 -87
- package/dist/chunk-YWHRAPDQ.js.map +1 -0
- package/dist/{chunk-JO33IORF.js → chunk-YY6SKZDF.js} +19 -4
- package/dist/chunk-YY6SKZDF.js.map +1 -0
- package/dist/chunk-ZIUUV35J.js +110 -0
- package/dist/chunk-ZIUUV35J.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/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 +13 -13
- package/dist/constants.cjs +357 -665
- 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 +1550 -1763
- 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 -30
- 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 +1702 -1925
- 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 -46
- 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 +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.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 +1773 -1989
- 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 +30 -30
- 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 +2607 -2748
- 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 +44 -30
- 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 +33 -27
- package/dist/selectors.cjs +565 -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 +79 -39
- 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 +1793 -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 +2135 -2234
- 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 +56 -44
- package/dist/{deploymentdevicehook.cjs → useDeploymentDevice.cjs} +1760 -1975
- 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 +1661 -1872
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.d.cts +372 -312
- package/dist/usersSlice/thunks.d.ts +372 -312
- package/dist/usersSlice/thunks.js +32 -30
- 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/flag-eu-5477R2P4.svg +0 -130
- package/dist/flag-us-HNQAF66I.svg +0 -63
- package/dist/types-DBj17FZO.d.cts +0 -135
- package/dist/types-DnfZa6xd.d.ts +0 -135
- /package/dist/{chunk-ZZMFXRQK.js.map → chunk-7PRZYHDP.js.map} +0 -0
- /package/dist/{deploymentdevicehook.d.cts → useDeploymentDevice.d.cts} +0 -0
- /package/dist/{deploymentdevicehook.d.ts → useDeploymentDevice.d.ts} +0 -0
|
@@ -1,50 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
general_api_default
|
|
3
|
-
} from "./chunk-AUBJUUP3.js";
|
|
4
1
|
import {
|
|
5
2
|
commonErrorFallback,
|
|
6
|
-
commonErrorHandler
|
|
7
|
-
|
|
3
|
+
commonErrorHandler,
|
|
4
|
+
createAppAsyncThunk
|
|
5
|
+
} from "./chunk-MPYYSFPL.js";
|
|
6
|
+
import {
|
|
7
|
+
general_api_default
|
|
8
|
+
} from "./chunk-RS37Y2PQ.js";
|
|
8
9
|
import {
|
|
9
10
|
actions_default
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7PRZYHDP.js";
|
|
11
12
|
import {
|
|
12
13
|
actions,
|
|
13
14
|
sliceName
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-OOICURFL.js";
|
|
16
|
+
import {
|
|
17
|
+
formatReleases
|
|
18
|
+
} from "./chunk-KC7SKI3U.js";
|
|
15
19
|
import {
|
|
16
20
|
getSearchEndpoint
|
|
17
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-NQIP7VFB.js";
|
|
18
22
|
import {
|
|
19
23
|
getReleasesById
|
|
20
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-6XVREXI4.js";
|
|
21
25
|
import {
|
|
22
26
|
convertDeviceListStateToFilters,
|
|
23
27
|
progress
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import {
|
|
26
|
-
formatReleases
|
|
27
|
-
} from "./chunk-K4MMUDYT.js";
|
|
28
|
+
} from "./chunk-QEKN5R7E.js";
|
|
28
29
|
import {
|
|
30
|
+
DEVICE_LIST_DEFAULTS,
|
|
31
|
+
SORTING_OPTIONS,
|
|
32
|
+
TIMEOUTS,
|
|
29
33
|
deploymentsApiUrl,
|
|
30
34
|
deploymentsApiUrlV2,
|
|
31
|
-
emptyFilter
|
|
32
|
-
} from "./chunk-OEP2D6QL.js";
|
|
33
|
-
import {
|
|
34
|
-
ARTIFACT_GENERATION_TYPE
|
|
35
|
-
} from "./chunk-CK6YE6AN.js";
|
|
36
|
-
import {
|
|
35
|
+
emptyFilter,
|
|
37
36
|
headerNames
|
|
38
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-7C4SQBEE.js";
|
|
39
38
|
import {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
TIMEOUTS
|
|
43
|
-
} from "./chunk-BSN2TOQC.js";
|
|
39
|
+
ARTIFACT_GENERATION_TYPE
|
|
40
|
+
} from "./chunk-2DYA3X77.js";
|
|
44
41
|
|
|
45
42
|
// src/releasesSlice/thunks.ts
|
|
46
43
|
import { customSort, deepCompare, duplicateFilter, extractSoftwareItem } from "@northern.tech/utils/helpers";
|
|
47
|
-
import { createAsyncThunk } from "@reduxjs/toolkit";
|
|
48
44
|
import { isCancel } from "axios";
|
|
49
45
|
import { v4 as uuid } from "uuid";
|
|
50
46
|
var { setSnackbar, initUpload, uploadProgress, cleanUpUpload } = actions_default;
|
|
@@ -74,7 +70,7 @@ var reduceReceivedReleases = (releases, stateReleasesById) => releases.reduce((a
|
|
|
74
70
|
}, {});
|
|
75
71
|
var findArtifactIndexInRelease = (releases, id) => Object.values(releases).reduce(
|
|
76
72
|
(accu, item) => {
|
|
77
|
-
|
|
73
|
+
const index = item.artifacts.findIndex((releaseArtifact) => releaseArtifact.id === id);
|
|
78
74
|
if (index > -1) {
|
|
79
75
|
accu = { release: item, index };
|
|
80
76
|
}
|
|
@@ -82,8 +78,8 @@ var findArtifactIndexInRelease = (releases, id) => Object.values(releases).reduc
|
|
|
82
78
|
},
|
|
83
79
|
{ release: null, index: -1 }
|
|
84
80
|
);
|
|
85
|
-
var getArtifactInstallCount =
|
|
86
|
-
|
|
81
|
+
var getArtifactInstallCount = createAppAsyncThunk(`${sliceName}/getArtifactInstallCount`, (id, { dispatch, getState }) => {
|
|
82
|
+
const { release, index } = findArtifactIndexInRelease(getReleasesById(getState()), id);
|
|
87
83
|
if (!release || index === -1) {
|
|
88
84
|
return;
|
|
89
85
|
}
|
|
@@ -100,7 +96,9 @@ var getArtifactInstallCount = createAsyncThunk(`${sliceName}/getArtifactInstallC
|
|
|
100
96
|
filters: filterTerms,
|
|
101
97
|
attributes: [{ scope: "identity", attribute: "status" }]
|
|
102
98
|
}).catch((err) => commonErrorHandler(err, `Retrieving artifact installation count failed:`, dispatch, commonErrorFallback)).then(({ headers }) => {
|
|
103
|
-
|
|
99
|
+
const foundRelease = findArtifactIndexInRelease(getReleasesById(getState()), id);
|
|
100
|
+
const index2 = foundRelease.index;
|
|
101
|
+
let release2 = foundRelease.release;
|
|
104
102
|
if (!release2 || index2 === -1) {
|
|
105
103
|
return;
|
|
106
104
|
}
|
|
@@ -114,10 +112,12 @@ var getArtifactInstallCount = createAsyncThunk(`${sliceName}/getArtifactInstallC
|
|
|
114
112
|
return dispatch(actions.receiveRelease(release2));
|
|
115
113
|
});
|
|
116
114
|
});
|
|
117
|
-
var getArtifactUrl =
|
|
115
|
+
var getArtifactUrl = createAppAsyncThunk(
|
|
118
116
|
`${sliceName}/getArtifactUrl`,
|
|
119
117
|
(id, { dispatch, getState }) => general_api_default.get(`${deploymentsApiUrl}/artifacts/${id}/download`).then((response) => {
|
|
120
|
-
|
|
118
|
+
const foundRelease = findArtifactIndexInRelease(getReleasesById(getState()), id);
|
|
119
|
+
const index = foundRelease.index;
|
|
120
|
+
let release = foundRelease.release;
|
|
121
121
|
if (!release || index === -1) {
|
|
122
122
|
return dispatch(getReleases());
|
|
123
123
|
}
|
|
@@ -133,8 +133,8 @@ var getArtifactUrl = createAsyncThunk(
|
|
|
133
133
|
return dispatch(actions.receiveRelease(release));
|
|
134
134
|
})
|
|
135
135
|
);
|
|
136
|
-
var createArtifact =
|
|
137
|
-
|
|
136
|
+
var createArtifact = createAppAsyncThunk(`${sliceName}/createArtifact`, ({ file, meta }, { dispatch }) => {
|
|
137
|
+
const formData = Object.entries(meta).reduce((accu, [key, value]) => {
|
|
138
138
|
if (Array.isArray(value)) {
|
|
139
139
|
accu.append(key, value.join(","));
|
|
140
140
|
} else if (value instanceof Object) {
|
|
@@ -150,7 +150,7 @@ var createArtifact = createAsyncThunk(`${sliceName}/createArtifact`, ({ file, me
|
|
|
150
150
|
const cancelSource = new AbortController();
|
|
151
151
|
return Promise.all([
|
|
152
152
|
dispatch(setSnackbar("Generating artifact")),
|
|
153
|
-
dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size,
|
|
153
|
+
dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size, progress: 0, cancelSource } })),
|
|
154
154
|
general_api_default.upload(
|
|
155
155
|
`${deploymentsApiUrl}/artifacts/generate`,
|
|
156
156
|
formData,
|
|
@@ -162,68 +162,79 @@ var createArtifact = createAsyncThunk(`${sliceName}/createArtifact`, ({ file, me
|
|
|
162
162
|
dispatch(getReleases());
|
|
163
163
|
dispatch(selectRelease(file.name));
|
|
164
164
|
}, TIMEOUTS.oneSecond);
|
|
165
|
-
return Promise.resolve(dispatch(setSnackbar("Upload successful", TIMEOUTS.fiveSeconds)));
|
|
165
|
+
return Promise.resolve(dispatch(setSnackbar({ message: "Upload successful", autoHideDuration: TIMEOUTS.fiveSeconds })));
|
|
166
166
|
}).catch((err) => {
|
|
167
167
|
if (isCancel(err)) {
|
|
168
|
-
return dispatch(setSnackbar("The artifact generation has been cancelled", TIMEOUTS.fiveSeconds));
|
|
168
|
+
return dispatch(setSnackbar({ message: "The artifact generation has been cancelled", autoHideDuration: TIMEOUTS.fiveSeconds }));
|
|
169
169
|
}
|
|
170
170
|
return commonErrorHandler(err, `Artifact couldn't be generated.`, dispatch);
|
|
171
171
|
}).finally(() => dispatch(cleanUpUpload(uploadId)));
|
|
172
172
|
});
|
|
173
|
-
var uploadArtifact =
|
|
174
|
-
|
|
175
|
-
formData.append("size", file.size);
|
|
173
|
+
var uploadArtifact = createAppAsyncThunk(`${sliceName}/uploadArtifact`, ({ file, meta }, { dispatch }) => {
|
|
174
|
+
const formData = new FormData();
|
|
175
|
+
formData.append("size", file.size.toString());
|
|
176
176
|
formData.append("description", meta.description);
|
|
177
177
|
formData.append("artifact", file);
|
|
178
178
|
const uploadId = uuid();
|
|
179
179
|
const cancelSource = new AbortController();
|
|
180
180
|
return Promise.all([
|
|
181
181
|
dispatch(setSnackbar("Uploading artifact")),
|
|
182
|
-
dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size,
|
|
183
|
-
general_api_default.upload(
|
|
182
|
+
dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size, progress: 0, cancelSource } })),
|
|
183
|
+
general_api_default.upload(
|
|
184
|
+
`${deploymentsApiUrl}/artifacts`,
|
|
185
|
+
formData,
|
|
186
|
+
(e) => dispatch(uploadProgress({ id: uploadId, progress: progress(e) })),
|
|
187
|
+
cancelSource.signal
|
|
188
|
+
)
|
|
184
189
|
]).then(() => {
|
|
185
|
-
const tasks = [
|
|
190
|
+
const tasks = [
|
|
191
|
+
dispatch(setSnackbar({ message: "Upload successful", autoHideDuration: TIMEOUTS.fiveSeconds })),
|
|
192
|
+
dispatch(getReleases())
|
|
193
|
+
];
|
|
186
194
|
if (meta.name) {
|
|
187
195
|
tasks.push(dispatch(selectRelease(meta.name)));
|
|
188
196
|
}
|
|
189
197
|
return Promise.all(tasks);
|
|
190
198
|
}).catch((err) => {
|
|
191
199
|
if (isCancel(err)) {
|
|
192
|
-
return dispatch(setSnackbar("The upload has been cancelled", TIMEOUTS.fiveSeconds));
|
|
200
|
+
return dispatch(setSnackbar({ message: "The upload has been cancelled", autoHideDuration: TIMEOUTS.fiveSeconds }));
|
|
193
201
|
}
|
|
194
202
|
return commonErrorHandler(err, `Artifact couldn't be uploaded.`, dispatch);
|
|
195
203
|
}).finally(() => dispatch(cleanUpUpload(uploadId)));
|
|
196
204
|
});
|
|
197
|
-
var cancelFileUpload =
|
|
205
|
+
var cancelFileUpload = createAppAsyncThunk(`${sliceName}/cancelFileUpload`, (id, { dispatch, getState }) => {
|
|
198
206
|
const { [id]: current } = getState().app.uploadsById;
|
|
199
207
|
current.cancelSource.abort();
|
|
200
208
|
return Promise.resolve(dispatch(cleanUpUpload(id)));
|
|
201
209
|
});
|
|
202
|
-
var editArtifact =
|
|
210
|
+
var editArtifact = createAppAsyncThunk(
|
|
203
211
|
`${sliceName}/editArtifact`,
|
|
204
212
|
({ id, body }, { dispatch, getState }) => general_api_default.put(`${deploymentsApiUrl}/artifacts/${id}`, body).catch((err) => commonErrorHandler(err, `Artifact details couldn't be updated.`, dispatch)).then(() => {
|
|
205
213
|
const state = getState();
|
|
206
|
-
|
|
214
|
+
const { release, index } = findArtifactIndexInRelease(getReleasesById(state), id);
|
|
207
215
|
if (!release || index === -1) {
|
|
208
216
|
return dispatch(getReleases());
|
|
209
217
|
}
|
|
210
218
|
const updatedRelease = {
|
|
211
219
|
...release,
|
|
212
|
-
artifacts: release.artifacts.map((artifact, i) => i === index ? { ...artifact, description: body.description } : artifact)
|
|
220
|
+
artifacts: release.artifacts.map((artifact, i) => i === index ? { ...artifact, description: body.description || "" } : artifact)
|
|
213
221
|
};
|
|
214
222
|
return Promise.all([
|
|
215
223
|
dispatch(actions.receiveRelease(updatedRelease)),
|
|
216
|
-
dispatch(setSnackbar("Artifact details were updated successfully.", TIMEOUTS.fiveSeconds, "")),
|
|
224
|
+
dispatch(setSnackbar({ message: "Artifact details were updated successfully.", autoHideDuration: TIMEOUTS.fiveSeconds, action: "" })),
|
|
217
225
|
dispatch(getRelease(release.name)),
|
|
218
226
|
dispatch(selectRelease(release.name))
|
|
219
227
|
]);
|
|
220
228
|
})
|
|
221
229
|
);
|
|
222
|
-
var removeArtifact =
|
|
230
|
+
var removeArtifact = createAppAsyncThunk(
|
|
223
231
|
`${sliceName}/removeArtifact`,
|
|
224
232
|
(id, { dispatch, getState }) => general_api_default.delete(`${deploymentsApiUrl}/artifacts/${id}`).then(() => {
|
|
225
233
|
const state = getState();
|
|
226
|
-
|
|
234
|
+
const { release, index } = findArtifactIndexInRelease(getReleasesById(state), id);
|
|
235
|
+
if (!release || index === -1) {
|
|
236
|
+
return dispatch(getReleases());
|
|
237
|
+
}
|
|
227
238
|
const releaseArtifacts = [...release.artifacts];
|
|
228
239
|
releaseArtifacts.splice(index, 1);
|
|
229
240
|
if (!releaseArtifacts.length) {
|
|
@@ -240,38 +251,52 @@ var removeArtifact = createAsyncThunk(
|
|
|
240
251
|
)
|
|
241
252
|
]);
|
|
242
253
|
}
|
|
243
|
-
return Promise.all([
|
|
254
|
+
return Promise.all([
|
|
255
|
+
dispatch(setSnackbar({ message: "Artifact was removed", autoHideDuration: TIMEOUTS.fiveSeconds, action: "" })),
|
|
256
|
+
dispatch(actions.receiveRelease(release))
|
|
257
|
+
]);
|
|
244
258
|
}).catch((err) => commonErrorHandler(err, `Error removing artifact:`, dispatch))
|
|
245
259
|
);
|
|
246
|
-
var removeRelease =
|
|
260
|
+
var removeRelease = createAppAsyncThunk(
|
|
247
261
|
`${sliceName}/removeRelease`,
|
|
248
|
-
(releaseId, { dispatch, getState }) => Promise.all(getReleasesById(getState())[releaseId].artifacts.map(({ id }) => dispatch(removeArtifact(id)))).then(() => dispatch(selectRelease()))
|
|
262
|
+
(releaseId, { dispatch, getState }) => Promise.all(getReleasesById(getState())[releaseId].artifacts.map(({ id }) => dispatch(removeArtifact(id)))).then(() => dispatch(selectRelease(null)))
|
|
249
263
|
);
|
|
250
|
-
var
|
|
251
|
-
const
|
|
252
|
-
|
|
264
|
+
var removeReleases = createAppAsyncThunk(`${sliceName}/removeReleases`, (releaseIds, { dispatch, getState }) => {
|
|
265
|
+
const deleteRequests = releaseIds.reduce((accu, releaseId) => {
|
|
266
|
+
const releaseArtifacts = getReleasesById(getState())[releaseId].artifacts;
|
|
267
|
+
accu.push(releaseArtifacts.map(({ id }) => dispatch(removeArtifact(id))));
|
|
268
|
+
return accu;
|
|
269
|
+
}, []);
|
|
270
|
+
return Promise.all(deleteRequests);
|
|
271
|
+
});
|
|
272
|
+
var selectRelease = createAppAsyncThunk(`${sliceName}/selectRelease`, (release, { dispatch }) => {
|
|
273
|
+
const name = (release && typeof release === "object" ? release.name : release) || null;
|
|
274
|
+
const tasks = [dispatch(actions.selectedRelease(name))];
|
|
253
275
|
if (name) {
|
|
254
276
|
tasks.push(dispatch(getRelease(name)));
|
|
255
277
|
}
|
|
256
278
|
return Promise.all(tasks);
|
|
257
279
|
});
|
|
258
|
-
var setReleasesListState =
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
280
|
+
var setReleasesListState = createAppAsyncThunk(
|
|
281
|
+
`${sliceName}/setReleasesListState`,
|
|
282
|
+
(selectionState, { dispatch, getState }) => {
|
|
283
|
+
const currentState = getState().releases.releasesList;
|
|
284
|
+
const nextState = {
|
|
285
|
+
...currentState,
|
|
286
|
+
...selectionState,
|
|
287
|
+
sort: { ...currentState.sort, ...selectionState.sort }
|
|
288
|
+
};
|
|
289
|
+
const tasks = [];
|
|
290
|
+
const { isLoading: currentLoading, ...currentRequestState } = currentState;
|
|
291
|
+
const { isLoading: selectionLoading, ...selectionRequestState } = nextState;
|
|
292
|
+
if (!deepCompare(currentRequestState, selectionRequestState)) {
|
|
293
|
+
nextState.isLoading = true;
|
|
294
|
+
tasks.push(dispatch(getReleases(nextState)).finally(() => dispatch(setReleasesListState({ isLoading: false }))));
|
|
295
|
+
}
|
|
296
|
+
tasks.push(dispatch(actions.setReleaseListState(nextState)));
|
|
297
|
+
return Promise.all(tasks);
|
|
271
298
|
}
|
|
272
|
-
|
|
273
|
-
return Promise.all(tasks);
|
|
274
|
-
});
|
|
299
|
+
);
|
|
275
300
|
var releaseListRetrieval = (config) => {
|
|
276
301
|
const { searchTerm = "", page = defaultPage, perPage = defaultPerPage, sort = sortingDefaults, selectedTags = [], type = "" } = config;
|
|
277
302
|
const { key: attribute, direction } = sort;
|
|
@@ -300,20 +325,20 @@ var deductSearchState = (receivedReleases, config, total, state) => {
|
|
|
300
325
|
}
|
|
301
326
|
return releaseListState;
|
|
302
327
|
};
|
|
303
|
-
var getReleases =
|
|
328
|
+
var getReleases = createAppAsyncThunk(`${sliceName}/getReleases`, (passedConfig = {}, { dispatch, getState }) => {
|
|
304
329
|
const config = { ...getState().releases.releasesList, ...passedConfig };
|
|
305
330
|
return releaseListRetrieval(config).then(({ data: receivedReleases = [], headers = {} }) => {
|
|
306
331
|
const total = headers[headerNames.total] ? Number(headers[headerNames.total]) : 0;
|
|
307
332
|
const state = getState().releases;
|
|
308
333
|
const flatReleases = reduceReceivedReleases(receivedReleases, state.byId);
|
|
309
334
|
const combinedReleases = { ...state.byId, ...flatReleases };
|
|
310
|
-
|
|
335
|
+
const tasks = [dispatch(actions.receiveReleases(combinedReleases))];
|
|
311
336
|
const releaseListState = deductSearchState(receivedReleases, config, total, state);
|
|
312
337
|
tasks.push(dispatch(actions.setReleaseListState(releaseListState)));
|
|
313
338
|
return Promise.all(tasks);
|
|
314
339
|
}).catch((err) => commonErrorHandler(err, `Please check your connection`, dispatch));
|
|
315
340
|
});
|
|
316
|
-
var getRelease =
|
|
341
|
+
var getRelease = createAppAsyncThunk(`${sliceName}/getReleases`, async (name, { dispatch, getState }) => {
|
|
317
342
|
const releaseResponse = await general_api_default.get(`${deploymentsApiUrlV2}/deployments/releases/${name}`);
|
|
318
343
|
const { data: release } = releaseResponse;
|
|
319
344
|
if (release) {
|
|
@@ -322,29 +347,42 @@ var getRelease = createAsyncThunk(`${sliceName}/getReleases`, async (name, { dis
|
|
|
322
347
|
}
|
|
323
348
|
return Promise.resolve(null);
|
|
324
349
|
});
|
|
325
|
-
var updateReleaseInfo =
|
|
350
|
+
var updateReleaseInfo = createAppAsyncThunk(
|
|
326
351
|
`${sliceName}/updateReleaseInfo`,
|
|
327
352
|
({ name, info }, { dispatch, getState }) => general_api_default.patch(`${deploymentsApiUrlV2}/deployments/releases/${name}`, info).catch((err) => commonErrorHandler(err, `Release details couldn't be updated.`, dispatch)).then(
|
|
328
353
|
() => Promise.all([
|
|
329
354
|
dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], ...info, name })),
|
|
330
|
-
dispatch(setSnackbar("Release details were updated successfully.", TIMEOUTS.fiveSeconds, ""))
|
|
355
|
+
dispatch(setSnackbar({ message: "Release details were updated successfully.", autoHideDuration: TIMEOUTS.fiveSeconds, action: "" }))
|
|
331
356
|
])
|
|
332
357
|
)
|
|
333
358
|
);
|
|
334
|
-
var
|
|
335
|
-
`${sliceName}/
|
|
336
|
-
({ name, tags
|
|
337
|
-
() => Promise.
|
|
338
|
-
dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], name, tags })),
|
|
339
|
-
dispatch(setSnackbar("Release tags were set successfully.", TIMEOUTS.fiveSeconds, ""))
|
|
340
|
-
])
|
|
359
|
+
var setSingleReleaseTags = createAppAsyncThunk(
|
|
360
|
+
`${sliceName}/setSingleReleaseTags`,
|
|
361
|
+
({ name, tags }, { dispatch, getState }) => general_api_default.put(`${deploymentsApiUrlV2}/deployments/releases/${name}/tags`, tags).then(
|
|
362
|
+
() => Promise.resolve(dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], name, tags })))
|
|
341
363
|
)
|
|
342
364
|
);
|
|
343
|
-
var
|
|
365
|
+
var setReleaseTags = createAppAsyncThunk(
|
|
366
|
+
`${sliceName}/setReleaseTags`,
|
|
367
|
+
({ name, tags = [] }, { dispatch }) => dispatch(setSingleReleaseTags({ name, tags })).catch((err) => commonErrorHandler(err, `Release tags couldn't be set.`, dispatch)).then(() => Promise.resolve(dispatch(setSnackbar({ message: "Release tags were set successfully.", autoHideDuration: TIMEOUTS.fiveSeconds, action: "" }))))
|
|
368
|
+
);
|
|
369
|
+
var setReleasesTags = createAppAsyncThunk(
|
|
370
|
+
`${sliceName}/setReleasesTags`,
|
|
371
|
+
({ releases, tags = [] }, { dispatch }) => {
|
|
372
|
+
const addRequests = releases.reduce((accu, release) => {
|
|
373
|
+
accu.push(dispatch(setSingleReleaseTags({ name: release.name, tags: [.../* @__PURE__ */ new Set([...release.tags ? release.tags : [], ...tags])] })));
|
|
374
|
+
return accu;
|
|
375
|
+
}, []);
|
|
376
|
+
return Promise.all(addRequests).catch((err) => commonErrorHandler(err, `Releases couldn't be tagged.`, dispatch)).then(
|
|
377
|
+
() => Promise.resolve(dispatch(setSnackbar({ message: "Releases were tagged successfully.", autoHideDuration: TIMEOUTS.fiveSeconds, action: "" })))
|
|
378
|
+
);
|
|
379
|
+
}
|
|
380
|
+
);
|
|
381
|
+
var getExistingReleaseTags = createAppAsyncThunk(
|
|
344
382
|
`${sliceName}/getReleaseTags`,
|
|
345
383
|
(_, { dispatch }) => general_api_default.get(`${deploymentsApiUrlV2}/releases/all/tags`).catch((err) => commonErrorHandler(err, `Existing release tags couldn't be retrieved.`, dispatch)).then(({ data: tags }) => Promise.resolve(dispatch(actions.receiveReleaseTags(tags))))
|
|
346
384
|
);
|
|
347
|
-
var getUpdateTypes =
|
|
385
|
+
var getUpdateTypes = createAppAsyncThunk(
|
|
348
386
|
`${sliceName}/getReleaseTypes`,
|
|
349
387
|
(_, { dispatch }) => general_api_default.get(`${deploymentsApiUrlV2}/releases/all/types`).catch((err) => commonErrorHandler(err, `Existing update types couldn't be retrieved.`, dispatch)).then(({ data: types }) => Promise.resolve(dispatch(actions.receiveReleaseTypes(types))))
|
|
350
388
|
);
|
|
@@ -358,13 +396,16 @@ export {
|
|
|
358
396
|
editArtifact,
|
|
359
397
|
removeArtifact,
|
|
360
398
|
removeRelease,
|
|
399
|
+
removeReleases,
|
|
361
400
|
selectRelease,
|
|
362
401
|
setReleasesListState,
|
|
363
402
|
getReleases,
|
|
364
403
|
getRelease,
|
|
365
404
|
updateReleaseInfo,
|
|
405
|
+
setSingleReleaseTags,
|
|
366
406
|
setReleaseTags,
|
|
407
|
+
setReleasesTags,
|
|
367
408
|
getExistingReleaseTags,
|
|
368
409
|
getUpdateTypes
|
|
369
410
|
};
|
|
370
|
-
//# sourceMappingURL=chunk-
|
|
411
|
+
//# sourceMappingURL=chunk-YWHRAPDQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/releasesSlice/thunks.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { ArtifactUpdate, ReleaseUpdate, Tags } from '@northern.tech/types/MenderTypes';\nimport { customSort, deepCompare, duplicateFilter, extractSoftwareItem } from '@northern.tech/utils/helpers';\nimport { isCancel } from 'axios';\nimport { v4 as uuid } from 'uuid';\n\nimport type { Artifact, Release, ReleaseSliceType, ReleasesList } from '.';\nimport { actions, sliceName } from '.';\nimport storeActions from '../actions';\nimport GeneralApi from '../api/general-api';\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS, TIMEOUTS, deploymentsApiUrl, deploymentsApiUrlV2, emptyFilter, headerNames } from '../constants';\nimport type { SortOptions } from '../constants';\nimport { formatReleases } from '../locationutils';\nimport { getSearchEndpoint } from '../selectors';\nimport type { AppDispatch } from '../store';\nimport { commonErrorFallback, commonErrorHandler, createAppAsyncThunk } from '../store';\nimport { convertDeviceListStateToFilters, progress } from '../utils';\nimport { ARTIFACT_GENERATION_TYPE } from './constants';\nimport { getReleasesById } from './selectors';\n\nconst { setSnackbar, initUpload, uploadProgress, cleanUpUpload } = storeActions;\nconst { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;\n\nconst sortingDefaults = { direction: SORTING_OPTIONS.desc, key: 'modified' };\n\nconst flattenRelease = (release: Release, stateRelease: Release) => {\n const updatedArtifacts = release.artifacts?.sort(customSort(true, 'modified')) || [];\n const { artifacts, deviceTypes, modified } = updatedArtifacts.reduce<{ artifacts: Artifact[]; deviceTypes: string[]; modified: undefined | string }>(\n (accu, item) => {\n accu.deviceTypes.push(...item.device_types_compatible);\n const stateArtifact = stateRelease.artifacts?.find(releaseArtifact => releaseArtifact.id === item.id) || {};\n accu.modified = accu.modified ? accu.modified : item.modified;\n accu.artifacts.push({\n ...stateArtifact,\n ...item\n });\n return accu;\n },\n { artifacts: [], deviceTypes: [], modified: undefined }\n );\n return { ...stateRelease, ...release, artifacts, device_types_compatible: deviceTypes.filter(duplicateFilter), modified };\n};\n\nconst reduceReceivedReleases = (releases: Release[], stateReleasesById: Record<string, Release>) =>\n releases.reduce((accu, release) => {\n const stateRelease = stateReleasesById[release.name] || {};\n accu[release.name] = flattenRelease(release, stateRelease);\n return accu;\n }, {});\n\nconst findArtifactIndexInRelease = (releases: Record<string, Release>, id: string) =>\n Object.values(releases).reduce<{ index: number; release: Release | null }>(\n (accu, item) => {\n const index = item.artifacts.findIndex(releaseArtifact => releaseArtifact.id === id);\n if (index > -1) {\n accu = { release: item, index };\n }\n return accu;\n },\n { release: null, index: -1 }\n );\n\n/* Artifacts */\nexport const getArtifactInstallCount = createAppAsyncThunk(`${sliceName}/getArtifactInstallCount`, (id: string, { dispatch, getState }) => {\n const { release, index } = findArtifactIndexInRelease(getReleasesById(getState()), id);\n if (!release || index === -1) {\n return;\n }\n const releaseArtifacts = [...release.artifacts];\n const artifact = releaseArtifacts[index];\n const { key, name, version } = extractSoftwareItem(artifact.artifact_provides) ?? {};\n const attribute = `${key}${name ? `.${name}` : ''}.version`;\n const { filterTerms } = convertDeviceListStateToFilters({\n filters: [{ ...emptyFilter, key: attribute, value: version!, scope: 'inventory' }]\n });\n return GeneralApi.post(getSearchEndpoint(getState()), {\n page: 1,\n per_page: 1,\n filters: filterTerms,\n attributes: [{ scope: 'identity', attribute: 'status' }]\n })\n .catch(err => commonErrorHandler(err, `Retrieving artifact installation count failed:`, dispatch, commonErrorFallback))\n .then(({ headers }) => {\n const foundRelease = findArtifactIndexInRelease(getReleasesById(getState()), id);\n const index = foundRelease.index;\n let release = foundRelease.release;\n if (!release || index === -1) {\n return;\n }\n const installCount = Number(headers[headerNames.total]);\n const releaseArtifacts = [...release.artifacts];\n releaseArtifacts[index] = { ...releaseArtifacts[index], installCount };\n release = {\n ...release,\n artifacts: releaseArtifacts\n };\n return dispatch(actions.receiveRelease(release));\n });\n});\n\nexport const getArtifactUrl = createAppAsyncThunk(`${sliceName}/getArtifactUrl`, (id: string, { dispatch, getState }) =>\n GeneralApi.get(`${deploymentsApiUrl}/artifacts/${id}/download`).then(response => {\n const foundRelease = findArtifactIndexInRelease(getReleasesById(getState()), id);\n const index = foundRelease.index;\n let release = foundRelease.release;\n if (!release || index === -1) {\n return dispatch(getReleases()) as ReturnType<AppDispatch>;\n }\n const releaseArtifacts = [...release.artifacts];\n releaseArtifacts[index] = {\n ...releaseArtifacts[index],\n url: response.data.uri\n };\n release = {\n ...release,\n artifacts: releaseArtifacts\n };\n return dispatch(actions.receiveRelease(release));\n })\n);\n\ntype ArtifactPayload = {\n file: File;\n meta: {\n args?: {\n dest_dir: string;\n filename: string;\n software_filesystem: string;\n software_name: string;\n software_version: string;\n };\n description: string;\n device_types_compatible?: string[];\n name?: string;\n };\n};\nexport const createArtifact = createAppAsyncThunk(`${sliceName}/createArtifact`, ({ file, meta }: ArtifactPayload, { dispatch }) => {\n const formData = Object.entries(meta).reduce((accu, [key, value]) => {\n if (Array.isArray(value)) {\n accu.append(key, value.join(','));\n } else if (value instanceof Object) {\n accu.append(key, JSON.stringify(value));\n } else {\n accu.append(key, value);\n }\n return accu;\n }, new FormData());\n formData.append('type', ARTIFACT_GENERATION_TYPE.SINGLE_FILE);\n formData.append('file', file);\n const uploadId = uuid();\n const cancelSource = new AbortController();\n return Promise.all([\n dispatch(setSnackbar('Generating artifact')),\n dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size, progress: 0, cancelSource } })),\n GeneralApi.upload(\n `${deploymentsApiUrl}/artifacts/generate`,\n formData,\n (e: { loaded: number; total: number }) => dispatch(uploadProgress({ id: uploadId, progress: progress(e) })),\n cancelSource.signal\n )\n ])\n .then(() => {\n setTimeout(() => {\n dispatch(getReleases());\n dispatch(selectRelease(file.name));\n }, TIMEOUTS.oneSecond);\n return Promise.resolve(dispatch(setSnackbar({ message: 'Upload successful', autoHideDuration: TIMEOUTS.fiveSeconds })));\n })\n .catch(err => {\n if (isCancel(err)) {\n return dispatch(setSnackbar({ message: 'The artifact generation has been cancelled', autoHideDuration: TIMEOUTS.fiveSeconds }));\n }\n return commonErrorHandler(err, `Artifact couldn't be generated.`, dispatch);\n })\n .finally(() => dispatch(cleanUpUpload(uploadId)));\n});\n\nexport const uploadArtifact = createAppAsyncThunk(`${sliceName}/uploadArtifact`, ({ file, meta }: ArtifactPayload, { dispatch }) => {\n const formData = new FormData();\n formData.append('size', file.size.toString());\n formData.append('description', meta.description);\n formData.append('artifact', file);\n const uploadId = uuid();\n const cancelSource = new AbortController();\n return Promise.all([\n dispatch(setSnackbar('Uploading artifact')),\n dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size, progress: 0, cancelSource } })),\n GeneralApi.upload(\n `${deploymentsApiUrl}/artifacts`,\n formData,\n (e: { loaded: number; total: number }) => dispatch(uploadProgress({ id: uploadId, progress: progress(e) })),\n cancelSource.signal\n )\n ])\n .then(() => {\n const tasks: ReturnType<AppDispatch>[] = [\n dispatch(setSnackbar({ message: 'Upload successful', autoHideDuration: TIMEOUTS.fiveSeconds })),\n dispatch(getReleases())\n ];\n if (meta.name) {\n tasks.push(dispatch(selectRelease(meta.name)));\n }\n return Promise.all(tasks);\n })\n .catch(err => {\n if (isCancel(err)) {\n return dispatch(setSnackbar({ message: 'The upload has been cancelled', autoHideDuration: TIMEOUTS.fiveSeconds }));\n }\n return commonErrorHandler(err, `Artifact couldn't be uploaded.`, dispatch);\n })\n .finally(() => dispatch(cleanUpUpload(uploadId)));\n});\n\nexport const cancelFileUpload = createAppAsyncThunk(`${sliceName}/cancelFileUpload`, (id: string, { dispatch, getState }) => {\n const { [id]: current } = getState().app.uploadsById;\n current.cancelSource.abort();\n return Promise.resolve(dispatch(cleanUpUpload(id)));\n});\n\nexport const editArtifact = createAppAsyncThunk(`${sliceName}/editArtifact`, ({ id, body }: { body: ArtifactUpdate; id: string }, { dispatch, getState }) =>\n GeneralApi.put(`${deploymentsApiUrl}/artifacts/${id}`, body)\n .catch(err => commonErrorHandler(err, `Artifact details couldn't be updated.`, dispatch))\n .then(() => {\n const state = getState();\n const { release, index } = findArtifactIndexInRelease(getReleasesById(state), id);\n if (!release || index === -1) {\n return dispatch(getReleases()) as ReturnType<AppDispatch>;\n }\n const updatedRelease = {\n ...release,\n artifacts: release.artifacts.map((artifact, i) => (i === index ? { ...artifact, description: body.description || '' } : artifact))\n };\n return Promise.all([\n dispatch(actions.receiveRelease(updatedRelease)),\n dispatch(setSnackbar({ message: 'Artifact details were updated successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' })),\n dispatch(getRelease(release.name)),\n dispatch(selectRelease(release.name))\n ]);\n })\n);\n\nexport const removeArtifact = createAppAsyncThunk(`${sliceName}/removeArtifact`, (id: string, { dispatch, getState }) =>\n GeneralApi.delete(`${deploymentsApiUrl}/artifacts/${id}`)\n .then(() => {\n const state = getState();\n const { release, index } = findArtifactIndexInRelease(getReleasesById(state), id);\n if (!release || index === -1) {\n return dispatch(getReleases()) as ReturnType<AppDispatch>;\n }\n const releaseArtifacts = [...release.artifacts];\n releaseArtifacts.splice(index, 1);\n if (!releaseArtifacts.length) {\n const { releasesList } = state.releases;\n const releaseIds = releasesList.releaseIds.filter(id => release.name !== id);\n return Promise.all([\n dispatch(actions.removeRelease(release.name)),\n dispatch(\n setReleasesListState({\n releaseIds,\n searchTotal: releasesList.searchTerm ? releasesList.searchTotal - 1 : releasesList.searchTotal,\n total: releasesList.total - 1\n })\n )\n ]) as ReturnType<AppDispatch>;\n }\n return Promise.all([\n dispatch(setSnackbar({ message: 'Artifact was removed', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' })),\n dispatch(actions.receiveRelease(release))\n ]) as ReturnType<AppDispatch>;\n })\n .catch(err => commonErrorHandler(err, `Error removing artifact:`, dispatch))\n);\n\nexport const removeRelease = createAppAsyncThunk(`${sliceName}/removeRelease`, (releaseId: string, { dispatch, getState }) =>\n Promise.all(getReleasesById(getState())[releaseId].artifacts.map(({ id }) => dispatch(removeArtifact(id)))).then(() => dispatch(selectRelease(null)))\n);\n\nexport const removeReleases = createAppAsyncThunk(`${sliceName}/removeReleases`, (releaseIds: string[], { dispatch, getState }) => {\n const deleteRequests = releaseIds.reduce<ReturnType<AppDispatch>>((accu, releaseId) => {\n const releaseArtifacts = getReleasesById(getState())[releaseId].artifacts;\n accu.push(releaseArtifacts.map(({ id }) => dispatch(removeArtifact(id))));\n return accu;\n }, []);\n return Promise.all(deleteRequests);\n});\n\nexport const selectRelease = createAppAsyncThunk(`${sliceName}/selectRelease`, (release: Release | string | null, { dispatch }) => {\n const name = (release && typeof release === 'object' ? release.name : release) || null;\n const tasks: ReturnType<AppDispatch> = [dispatch(actions.selectedRelease(name))];\n if (name) {\n tasks.push(dispatch(getRelease(name)));\n }\n return Promise.all(tasks);\n});\n\nexport const setReleasesListState = createAppAsyncThunk(\n `${sliceName}/setReleasesListState`,\n (selectionState: Partial<ReleasesList>, { dispatch, getState }) => {\n const currentState = getState().releases.releasesList;\n const nextState = {\n ...currentState,\n ...selectionState,\n sort: { ...currentState.sort, ...selectionState.sort } as SortOptions\n };\n const tasks: ReturnType<AppDispatch> = [];\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { isLoading: currentLoading, ...currentRequestState } = currentState;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { isLoading: selectionLoading, ...selectionRequestState } = nextState;\n if (!deepCompare(currentRequestState, selectionRequestState)) {\n nextState.isLoading = true;\n tasks.push(dispatch(getReleases(nextState)).finally(() => dispatch(setReleasesListState({ isLoading: false }))));\n }\n tasks.push(dispatch(actions.setReleaseListState(nextState)));\n return Promise.all(tasks);\n }\n);\n\n/* Releases */\n\nconst releaseListRetrieval = (config: Partial<ReleasesList>) => {\n const { searchTerm = '', page = defaultPage, perPage = defaultPerPage, sort = sortingDefaults, selectedTags = [], type = '' } = config;\n const { key: attribute, direction } = sort;\n const filterQuery = formatReleases({ pageState: { searchTerm, selectedTags } });\n const updateType = type ? `update_type=${type}` : '';\n const sorting = attribute ? `sort=${attribute}:${direction}`.toLowerCase() : '';\n return GeneralApi.get<Array<Release>>(\n `${deploymentsApiUrlV2}/deployments/releases?${[`page=${page}`, `per_page=${perPage}`, filterQuery, updateType, sorting].filter(i => i).join('&')}`\n );\n};\n\nconst deductSearchState = (receivedReleases: Release[], config, total: number, state: ReleaseSliceType) => {\n let releaseListState = { ...state.releasesList };\n const { searchTerm, searchOnly, sort = {}, selectedTags = [], type } = config;\n const flattenedReleases = Object.values(receivedReleases).sort(customSort(sort.direction === SORTING_OPTIONS.desc, sort.key));\n const releaseIds = flattenedReleases.map(item => item.name);\n const isFiltering = !!(selectedTags.length || type || searchTerm);\n if (searchOnly) {\n releaseListState = { ...releaseListState, searchedIds: releaseIds };\n } else {\n releaseListState = {\n ...releaseListState,\n releaseIds,\n searchTotal: isFiltering ? total : state.releasesList.searchTotal,\n total: !isFiltering ? total : state.releasesList.total\n };\n }\n return releaseListState;\n};\n\nexport const getReleases = createAppAsyncThunk(`${sliceName}/getReleases`, (passedConfig: Partial<ReleasesList> | undefined = {}, { dispatch, getState }) => {\n const config = { ...getState().releases.releasesList, ...passedConfig };\n return releaseListRetrieval(config)\n .then(({ data: receivedReleases = [], headers = {} }) => {\n const total = headers[headerNames.total] ? Number(headers[headerNames.total]) : 0;\n const state = getState().releases;\n const flatReleases = reduceReceivedReleases(receivedReleases, state.byId);\n const combinedReleases = { ...state.byId, ...flatReleases };\n const tasks: ReturnType<AppDispatch> = [dispatch(actions.receiveReleases(combinedReleases))];\n const releaseListState = deductSearchState(receivedReleases, config, total, state);\n tasks.push(dispatch(actions.setReleaseListState(releaseListState)));\n return Promise.all(tasks);\n })\n .catch(err => commonErrorHandler(err, `Please check your connection`, dispatch));\n});\n\nexport const getRelease = createAppAsyncThunk(`${sliceName}/getReleases`, async (name: string, { dispatch, getState }) => {\n const releaseResponse = await GeneralApi.get(`${deploymentsApiUrlV2}/deployments/releases/${name}`);\n const { data: release } = releaseResponse;\n if (release) {\n const stateRelease = getReleasesById(getState())[release.name] || {};\n await dispatch(actions.receiveRelease(flattenRelease(release, stateRelease)));\n }\n return Promise.resolve(null);\n});\n\nexport const updateReleaseInfo = createAppAsyncThunk(\n `${sliceName}/updateReleaseInfo`,\n ({ name, info }: { info: ReleaseUpdate; name: string }, { dispatch, getState }) =>\n GeneralApi.patch(`${deploymentsApiUrlV2}/deployments/releases/${name}`, info)\n .catch(err => commonErrorHandler(err, `Release details couldn't be updated.`, dispatch))\n .then(() =>\n Promise.all([\n dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], ...info, name })),\n dispatch(setSnackbar({ message: 'Release details were updated successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' }))\n ])\n )\n);\n\nexport const setSingleReleaseTags = createAppAsyncThunk(\n `${sliceName}/setSingleReleaseTags`,\n ({ name, tags }: { name: string; tags: Tags }, { dispatch, getState }) =>\n GeneralApi.put(`${deploymentsApiUrlV2}/deployments/releases/${name}/tags`, tags).then(() =>\n Promise.resolve(dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], name, tags })))\n )\n);\n\nexport const setReleaseTags = createAppAsyncThunk(`${sliceName}/setReleaseTags`, ({ name, tags = [] }: { name: string; tags: Tags }, { dispatch }) =>\n dispatch(setSingleReleaseTags({ name, tags }))\n .catch(err => commonErrorHandler(err, `Release tags couldn't be set.`, dispatch))\n .then(() => Promise.resolve(dispatch(setSnackbar({ message: 'Release tags were set successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' }))))\n);\n\nexport const setReleasesTags = createAppAsyncThunk(\n `${sliceName}/setReleasesTags`,\n ({ releases, tags = [] }: { releases: Release[]; tags: Tags }, { dispatch }) => {\n const addRequests = releases.reduce<ReturnType<AppDispatch>>((accu, release) => {\n accu.push(dispatch(setSingleReleaseTags({ name: release.name, tags: [...new Set([...(release.tags ? release.tags : []), ...tags])] })));\n return accu;\n }, []);\n return Promise.all(addRequests)\n .catch(err => commonErrorHandler(err, `Releases couldn't be tagged.`, dispatch))\n .then(() =>\n Promise.resolve(dispatch(setSnackbar({ message: 'Releases were tagged successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' })))\n );\n }\n);\n\nexport const getExistingReleaseTags = createAppAsyncThunk(`${sliceName}/getReleaseTags`, (_, { dispatch }) =>\n GeneralApi.get(`${deploymentsApiUrlV2}/releases/all/tags`)\n .catch(err => commonErrorHandler(err, `Existing release tags couldn't be retrieved.`, dispatch))\n .then(({ data: tags }) => Promise.resolve(dispatch(actions.receiveReleaseTags(tags))))\n);\n\nexport const getUpdateTypes = createAppAsyncThunk(`${sliceName}/getReleaseTypes`, (_, { dispatch }) =>\n GeneralApi.get(`${deploymentsApiUrlV2}/releases/all/types`)\n .catch(err => commonErrorHandler(err, `Existing update types couldn't be retrieved.`, dispatch))\n .then(({ data: types }) => Promise.resolve(dispatch(actions.receiveReleaseTypes(types))))\n);\n"],"mappings":"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","names":["index","release","releaseArtifacts","id"]}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EXTERNAL_PROVIDER
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7C4SQBEE.js";
|
|
4
4
|
|
|
5
5
|
// src/organizationSlice/selectors.ts
|
|
6
6
|
import { createSelector } from "@reduxjs/toolkit";
|
|
7
|
+
import dayjs from "dayjs";
|
|
8
|
+
import relativeTime from "dayjs/plugin/relativeTime.js";
|
|
7
9
|
var getOrganization = (state) => state.organization.organization;
|
|
8
10
|
var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
|
|
9
11
|
var getAuditlogState = (state) => state.organization.auditlog.selectionState;
|
|
10
12
|
var getAuditLog = (state) => state.organization.auditlog.events;
|
|
11
13
|
var getAuditLogSelectionState = (state) => state.organization.auditlog.selectionState;
|
|
14
|
+
var getBillingProfile = (state) => state.organization.organization.billing_profile;
|
|
15
|
+
var getSubscription = (state) => state.organization.organization.subscription;
|
|
16
|
+
var getCard = (state) => state.organization.card;
|
|
12
17
|
var getSsoConfig = ({ organization: { ssoConfigs = [] } }) => ssoConfigs[0];
|
|
13
18
|
var getTenantsList = (state) => state.organization.tenantList;
|
|
14
19
|
var getWebhookEvents = (state) => state.organization.webhooks.events;
|
|
15
|
-
var getWebhookEventTotal = (state) => state.organization.webhooks.
|
|
20
|
+
var getWebhookEventTotal = (state) => state.organization.webhooks.eventsTotal;
|
|
16
21
|
var getDeviceTwinIntegrations = createSelector(
|
|
17
22
|
[getExternalIntegrations],
|
|
18
23
|
(integrations) => integrations.filter((integration) => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)
|
|
@@ -33,6 +38,12 @@ var getAuditLogEntry = createSelector([getAuditLog, getAuditLogSelectionState],
|
|
|
33
38
|
const [eventAction, eventTime] = atob(selectedId).split("|");
|
|
34
39
|
return events.find((item) => item.action === eventAction && item.time === eventTime);
|
|
35
40
|
});
|
|
41
|
+
dayjs.extend(relativeTime);
|
|
42
|
+
var newPricingIntroduction = dayjs("2025-06-03T00:00");
|
|
43
|
+
var getHasCurrentPricing = createSelector(
|
|
44
|
+
[getOrganization],
|
|
45
|
+
({ id }) => !!id && dayjs(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
|
|
46
|
+
);
|
|
36
47
|
|
|
37
48
|
export {
|
|
38
49
|
getOrganization,
|
|
@@ -40,6 +51,9 @@ export {
|
|
|
40
51
|
getAuditlogState,
|
|
41
52
|
getAuditLog,
|
|
42
53
|
getAuditLogSelectionState,
|
|
54
|
+
getBillingProfile,
|
|
55
|
+
getSubscription,
|
|
56
|
+
getCard,
|
|
43
57
|
getSsoConfig,
|
|
44
58
|
getTenantsList,
|
|
45
59
|
getWebhookEvents,
|
|
@@ -48,6 +62,7 @@ export {
|
|
|
48
62
|
getIsServiceProvider,
|
|
49
63
|
getWebhooks,
|
|
50
64
|
getWebhookEventInfo,
|
|
51
|
-
getAuditLogEntry
|
|
65
|
+
getAuditLogEntry,
|
|
66
|
+
getHasCurrentPricing
|
|
52
67
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
68
|
+
//# sourceMappingURL=chunk-YY6SKZDF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/organizationSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime.js';\n\nimport { EXTERNAL_PROVIDER } from '../constants';\nimport type { RootState } from '../store';\n\nexport const getOrganization = (state: RootState) => state.organization.organization;\nexport const getExternalIntegrations = (state: RootState) => state.organization.externalDeviceIntegrations;\nexport const getAuditlogState = (state: RootState) => state.organization.auditlog.selectionState;\nexport const getAuditLog = (state: RootState) => state.organization.auditlog.events;\nexport const getAuditLogSelectionState = (state: RootState) => state.organization.auditlog.selectionState;\nexport const getBillingProfile = (state: RootState) => state.organization.organization.billing_profile;\nexport const getSubscription = (state: RootState) => state.organization.organization.subscription;\nexport const getCard = (state: RootState) => state.organization.card;\nexport const getSsoConfig = ({ organization: { ssoConfigs = [] } }: RootState) => ssoConfigs[0];\nexport const getTenantsList = (state: RootState) => state.organization.tenantList;\nexport const getWebhookEvents = (state: RootState) => state.organization.webhooks.events;\nexport const getWebhookEventTotal = (state: RootState) => state.organization.webhooks.eventsTotal;\n\nexport const getDeviceTwinIntegrations = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)\n);\nexport const getIsServiceProvider = (state: RootState) => state.organization.organization.service_provider;\n\nexport const getWebhooks = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && integration.provider === EXTERNAL_PROVIDER.webhook.provider)\n);\nexport const getWebhookEventInfo = createSelector([getWebhooks, getWebhookEvents, getWebhookEventTotal], (webhooks, events, eventTotal) =>\n webhooks.length ? { events, eventTotal } : { events: [], eventTotal: 0 }\n);\n\nexport const getAuditLogEntry = createSelector([getAuditLog, getAuditLogSelectionState], (events, { selectedId }) => {\n if (!selectedId) {\n return;\n }\n const [eventAction, eventTime] = atob(selectedId).split('|');\n return events.find(item => item.action === eventAction && item.time === eventTime);\n});\n\ndayjs.extend(relativeTime);\nconst newPricingIntroduction = dayjs('2025-06-03T00:00');\n\nexport const getHasCurrentPricing = createSelector(\n [getOrganization],\n ({ id }) => !!id && dayjs(parseInt(id.substring(0, 8), 16) * 1000) >= newPricingIntroduction\n);\n"],"mappings":";;;;;AAaA,SAAS,sBAAsB;AAC/B,OAAO,WAAW;AAClB,OAAO,kBAAkB;AAKlB,IAAM,kBAAkB,CAAC,UAAqB,MAAM,aAAa;AACjE,IAAM,0BAA0B,CAAC,UAAqB,MAAM,aAAa;AACzE,IAAM,mBAAmB,CAAC,UAAqB,MAAM,aAAa,SAAS;AAC3E,IAAM,cAAc,CAAC,UAAqB,MAAM,aAAa,SAAS;AACtE,IAAM,4BAA4B,CAAC,UAAqB,MAAM,aAAa,SAAS;AACpF,IAAM,oBAAoB,CAAC,UAAqB,MAAM,aAAa,aAAa;AAChF,IAAM,kBAAkB,CAAC,UAAqB,MAAM,aAAa,aAAa;AAC9E,IAAM,UAAU,CAAC,UAAqB,MAAM,aAAa;AACzD,IAAM,eAAe,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,EAAE,MAAiB,WAAW,CAAC;AACvF,IAAM,iBAAiB,CAAC,UAAqB,MAAM,aAAa;AAChE,IAAM,mBAAmB,CAAC,UAAqB,MAAM,aAAa,SAAS;AAC3E,IAAM,uBAAuB,CAAC,UAAqB,MAAM,aAAa,SAAS;AAE/E,IAAM,4BAA4B;AAAA,EAAe,CAAC,uBAAuB;AAAA,EAAG,kBACjF,aAAa,OAAO,iBAAe,YAAY,MAAM,kBAAkB,YAAY,QAAQ,GAAG,UAAU;AAC1G;AACO,IAAM,uBAAuB,CAAC,UAAqB,MAAM,aAAa,aAAa;AAEnF,IAAM,cAAc;AAAA,EAAe,CAAC,uBAAuB;AAAA,EAAG,kBACnE,aAAa,OAAO,iBAAe,YAAY,MAAM,YAAY,aAAa,kBAAkB,QAAQ,QAAQ;AAClH;AACO,IAAM,sBAAsB;AAAA,EAAe,CAAC,aAAa,kBAAkB,oBAAoB;AAAA,EAAG,CAAC,UAAU,QAAQ,eAC1H,SAAS,SAAS,EAAE,QAAQ,WAAW,IAAI,EAAE,QAAQ,CAAC,GAAG,YAAY,EAAE;AACzE;AAEO,IAAM,mBAAmB,eAAe,CAAC,aAAa,yBAAyB,GAAG,CAAC,QAAQ,EAAE,WAAW,MAAM;AACnH,MAAI,CAAC,YAAY;AACf;AAAA,EACF;AACA,QAAM,CAAC,aAAa,SAAS,IAAI,KAAK,UAAU,EAAE,MAAM,GAAG;AAC3D,SAAO,OAAO,KAAK,UAAQ,KAAK,WAAW,eAAe,KAAK,SAAS,SAAS;AACnF,CAAC;AAED,MAAM,OAAO,YAAY;AACzB,IAAM,yBAAyB,MAAM,kBAAkB;AAEhD,IAAM,uBAAuB;AAAA,EAClC,CAAC,eAAe;AAAA,EAChB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,GAAI,KAAK;AACxE;","names":[]}
|