@northern.tech/store 0.1.1 → 0.1.3
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.d.mts +95 -0
- package/dist/actions.d.ts +95 -0
- package/dist/actions.js +1746 -0
- package/dist/actions.js.map +1 -0
- package/dist/actions.mjs +21 -0
- package/dist/actions.mjs.map +1 -0
- package/dist/api/general-api.d.mts +21 -0
- package/dist/api/general-api.d.ts +21 -0
- package/dist/api/general-api.js +1002 -0
- package/dist/api/general-api.js.map +1 -0
- package/dist/api/general-api.mjs +18 -0
- package/dist/api/general-api.mjs.map +1 -0
- package/dist/api/types/Address.ts +6 -0
- package/dist/api/types/AddressUpdate.ts +12 -0
- package/dist/api/types/AuthSet.ts +37 -0
- package/{api/types/AuthSet.ts → dist/api/types/AuthSetIot_manager.ts} +2 -2
- package/dist/api/types/BillingProfile.ts +37 -0
- package/dist/api/types/BillingProfileUpdate.ts +37 -0
- package/{api → dist/api}/types/BinaryDeltaLimits.ts +6 -0
- package/{api → dist/api}/types/BoundingBox.ts +1 -3
- package/dist/api/types/Deployment.ts +45 -0
- package/{api → dist/api}/types/DeploymentAggregation.ts +1 -3
- package/{api → dist/api}/types/DeploymentAggregationItem.ts +1 -3
- package/{api → dist/api}/types/DeploymentAggregationTerm.ts +1 -2
- package/{api → dist/api}/types/DeploymentAggregationTerms.ts +1 -3
- package/{api → dist/api}/types/DeploymentAttributeProjection.ts +1 -2
- package/{api → dist/api}/types/DeploymentDeployments.ts +4 -5
- package/{api → dist/api}/types/DeploymentFilterTerm.ts +1 -3
- package/dist/api/types/DeploymentPhaseDeployments.ts +23 -0
- package/{api → dist/api}/types/DeploymentSearchTerms.ts +1 -3
- package/{api → dist/api}/types/DeploymentSortTerm.ts +1 -3
- package/dist/api/types/DeploymentStatisticsDeployments.ts +15 -0
- package/dist/api/types/DeploymentStatusStatisticsDeployments.ts +54 -0
- package/dist/api/types/Device.ts +20 -0
- package/{api → dist/api}/types/DeviceAggregation.ts +1 -3
- package/{api → dist/api}/types/DeviceAggregationItem.ts +1 -3
- package/{api → dist/api}/types/DeviceAggregationTerm.ts +1 -2
- package/{api → dist/api}/types/DeviceAggregationTerms.ts +1 -3
- package/{api → dist/api}/types/DeviceAttribute.ts +1 -2
- package/{api → dist/api}/types/DeviceAttributeProjection.ts +1 -2
- package/{api/types/Device.ts → dist/api/types/DeviceDeployments.ts} +1 -1
- package/{api → dist/api}/types/DeviceFilterAttribute.ts +1 -2
- package/{api → dist/api}/types/DeviceFilterTerm.ts +1 -3
- package/{api → dist/api}/types/DeviceSearchTerms.ts +1 -3
- package/{api → dist/api}/types/DeviceSortTerm.ts +1 -3
- package/{api → dist/api}/types/Error.ts +1 -1
- package/{api/types/FilterInventory.ts → dist/api/types/Filter.ts} +3 -4
- package/{api/types/Filter.ts → dist/api/types/FilterInventory.ts} +1 -1
- package/dist/api/types/FilterPredicate.ts +48 -0
- package/{api/types/FilterPredicate.ts → dist/api/types/FilterPredicateInventory.ts} +3 -3
- package/{api → dist/api}/types/GeoBoundingBox.ts +1 -3
- package/{api → dist/api}/types/GeoBoundingBoxFilter.ts +1 -2
- package/{api → dist/api}/types/GeoDistance.ts +1 -3
- package/{api → dist/api}/types/GeoDistanceFilter.ts +1 -3
- package/{api → dist/api}/types/GeoPoint.ts +1 -2
- package/{api → dist/api}/types/Integration.ts +6 -0
- package/{api → dist/api}/types/MenderTypes.ts +41 -11
- package/{api → dist/api}/types/NewDeploymentV2.ts +3 -0
- package/{api → dist/api}/types/NewTenant.ts +16 -8
- package/{api → dist/api}/types/Object.ts +3 -0
- package/{api → dist/api}/types/PreAuthSet.ts +1 -1
- package/{api → dist/api}/types/Settings.ts +3 -3
- package/{api → dist/api}/types/Status.ts +5 -4
- package/{api → dist/api}/types/StatusTenantadm.ts +1 -3
- package/dist/api/types/Tenant.ts +21 -0
- package/{api → dist/api}/types/TenantTenantadm.ts +16 -0
- package/dist/api/types/UpdateChildTenant.ts +17 -0
- package/{api → dist/api}/types/UpdateDeployments.ts +1 -1
- package/{api → dist/api}/types/UpgradeCompleteRequest.ts +2 -0
- package/{api → dist/api}/types/UserWithTenantInfo.ts +7 -3
- package/dist/api/users-api.d.mts +16 -0
- package/dist/api/users-api.d.ts +16 -0
- package/dist/api/users-api.js +1026 -0
- package/dist/api/users-api.js.map +1 -0
- package/dist/api/users-api.mjs +15 -0
- package/dist/api/users-api.mjs.map +1 -0
- package/dist/appSlice/constants.d.mts +210 -0
- package/dist/appSlice/constants.d.ts +210 -0
- package/dist/appSlice/constants.js +221 -0
- package/dist/appSlice/constants.js.map +1 -0
- package/dist/appSlice/constants.mjs +42 -0
- package/dist/appSlice/constants.mjs.map +1 -0
- package/dist/appSlice/index.d.mts +1557 -0
- package/dist/appSlice/index.d.ts +1557 -0
- package/dist/appSlice/index.js +1067 -0
- package/dist/appSlice/index.js.map +1 -0
- package/dist/appSlice/index.mjs +21 -0
- package/dist/appSlice/index.mjs.map +1 -0
- package/dist/appSlice/selectors.d.mts +91 -0
- package/dist/appSlice/selectors.d.ts +91 -0
- package/dist/appSlice/selectors.js +90 -0
- package/dist/appSlice/selectors.js.map +1 -0
- package/dist/appSlice/selectors.mjs +20 -0
- package/dist/appSlice/selectors.mjs.map +1 -0
- package/dist/appSlice/thunks.d.mts +46 -0
- package/dist/appSlice/thunks.d.ts +46 -0
- package/dist/appSlice/thunks.js +5655 -0
- package/dist/appSlice/thunks.js.map +1 -0
- package/dist/appSlice/thunks.mjs +45 -0
- package/dist/appSlice/thunks.mjs.map +1 -0
- package/dist/auth.d.mts +17 -0
- package/dist/auth.d.ts +17 -0
- package/dist/auth.js +985 -0
- package/dist/auth.js.map +1 -0
- package/dist/auth.mjs +23 -0
- package/dist/auth.mjs.map +1 -0
- package/dist/chunk-6667TCAJ.mjs +135 -0
- package/dist/chunk-6667TCAJ.mjs.map +1 -0
- package/{releasesSlice/index.ts → dist/chunk-7E7KJHY3.mjs} +33 -32
- package/dist/chunk-7E7KJHY3.mjs.map +1 -0
- package/{usersSlice/index.ts → dist/chunk-BJSH2G7W.mjs} +39 -58
- package/dist/chunk-BJSH2G7W.mjs.map +1 -0
- package/dist/chunk-BOSBROA3.mjs +168 -0
- package/dist/chunk-BOSBROA3.mjs.map +1 -0
- package/dist/chunk-BRHSKNFC.mjs +70 -0
- package/dist/chunk-BRHSKNFC.mjs.map +1 -0
- package/dist/chunk-C2YZYTJ6.mjs +37 -0
- package/dist/chunk-C2YZYTJ6.mjs.map +1 -0
- package/dist/chunk-DZBVTSIX.mjs +55 -0
- package/dist/chunk-DZBVTSIX.mjs.map +1 -0
- package/{appSlice/index.ts → dist/chunk-F37LUTBX.mjs} +58 -68
- package/dist/chunk-F37LUTBX.mjs.map +1 -0
- package/dist/chunk-G32LAKW4.mjs +239 -0
- package/dist/chunk-G32LAKW4.mjs.map +1 -0
- package/dist/chunk-G3I53JGW.mjs +243 -0
- package/dist/chunk-G3I53JGW.mjs.map +1 -0
- package/dist/chunk-G4FGNSV3.mjs +13 -0
- package/dist/chunk-G4FGNSV3.mjs.map +1 -0
- package/dist/chunk-G7LATUT6.mjs +110 -0
- package/dist/chunk-G7LATUT6.mjs.map +1 -0
- package/dist/chunk-H2PQQMRY.mjs +7 -0
- package/dist/chunk-H2PQQMRY.mjs.map +1 -0
- package/{devicesSlice/index.ts → dist/chunk-HRWZJQMH.mjs} +57 -77
- package/dist/chunk-HRWZJQMH.mjs.map +1 -0
- package/dist/chunk-HVHZG2H4.mjs +56 -0
- package/dist/chunk-HVHZG2H4.mjs.map +1 -0
- package/dist/chunk-HXPYJ6QN.mjs +75 -0
- package/dist/chunk-HXPYJ6QN.mjs.map +1 -0
- package/dist/chunk-IPPIKGIB.mjs +35 -0
- package/dist/chunk-IPPIKGIB.mjs.map +1 -0
- package/dist/chunk-IU4OXOPA.mjs +46 -0
- package/dist/chunk-IU4OXOPA.mjs.map +1 -0
- package/dist/chunk-IVSYYXTC.mjs +36 -0
- package/dist/chunk-IVSYYXTC.mjs.map +1 -0
- package/{onboardingSlice/index.ts → dist/chunk-M4U5R7A4.mjs} +19 -22
- package/dist/chunk-M4U5R7A4.mjs.map +1 -0
- package/dist/chunk-N7G6QK2E.mjs +414 -0
- package/dist/chunk-N7G6QK2E.mjs.map +1 -0
- package/dist/chunk-O6O3D52B.mjs +39 -0
- package/dist/chunk-O6O3D52B.mjs.map +1 -0
- package/dist/chunk-QBKCUIWO.mjs +7 -0
- package/dist/chunk-QBKCUIWO.mjs.map +1 -0
- package/dist/chunk-R2GBNXLV.mjs +57 -0
- package/dist/chunk-R2GBNXLV.mjs.map +1 -0
- package/dist/chunk-RH6ONMG7.mjs +65 -0
- package/dist/chunk-RH6ONMG7.mjs.map +1 -0
- package/dist/chunk-RQOE5OOT.mjs +284 -0
- package/dist/chunk-RQOE5OOT.mjs.map +1 -0
- package/dist/chunk-TD45YTYK.mjs +108 -0
- package/dist/chunk-TD45YTYK.mjs.map +1 -0
- package/dist/chunk-V32GTKOS.mjs +1 -0
- package/dist/chunk-V32GTKOS.mjs.map +1 -0
- package/dist/chunk-XWBD7VOK.mjs +93 -0
- package/dist/chunk-XWBD7VOK.mjs.map +1 -0
- package/dist/chunk-XYVPYFSM.mjs +106 -0
- package/dist/chunk-XYVPYFSM.mjs.map +1 -0
- package/dist/chunk-YNVSU3AA.mjs +2977 -0
- package/dist/chunk-YNVSU3AA.mjs.map +1 -0
- package/dist/chunk-ZIYGEXSJ.mjs +145 -0
- package/dist/chunk-ZIYGEXSJ.mjs.map +1 -0
- package/dist/chunk-ZNST5R6O.mjs +658 -0
- package/dist/chunk-ZNST5R6O.mjs.map +1 -0
- package/dist/commonConstants.d.mts +248 -0
- package/dist/commonConstants.d.ts +248 -0
- package/dist/commonConstants.js +303 -0
- package/dist/commonConstants.js.map +1 -0
- package/dist/commonConstants.mjs +40 -0
- package/dist/commonConstants.mjs.map +1 -0
- package/dist/commonSelectors.d.mts +896 -0
- package/dist/commonSelectors.d.ts +896 -0
- package/dist/commonSelectors.js +1482 -0
- package/dist/commonSelectors.js.map +1 -0
- package/dist/commonSelectors.mjs +54 -0
- package/dist/commonSelectors.mjs.map +1 -0
- package/dist/constants.d.mts +12 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.js +1246 -0
- package/dist/constants.js.map +1 -0
- package/dist/constants.mjs +219 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/deploymentsSlice/constants.d.mts +142 -0
- package/dist/deploymentsSlice/constants.d.ts +142 -0
- package/dist/deploymentsSlice/constants.js +969 -0
- package/dist/deploymentsSlice/constants.js.map +1 -0
- package/dist/deploymentsSlice/constants.mjs +42 -0
- package/dist/deploymentsSlice/constants.mjs.map +1 -0
- package/dist/deploymentsSlice/index.d.mts +2373 -0
- package/dist/deploymentsSlice/index.d.ts +2373 -0
- package/dist/deploymentsSlice/index.js +1053 -0
- package/dist/deploymentsSlice/index.js.map +1 -0
- package/dist/deploymentsSlice/index.mjs +21 -0
- package/dist/deploymentsSlice/index.mjs.map +1 -0
- package/dist/deploymentsSlice/selectors.d.mts +59 -0
- package/dist/deploymentsSlice/selectors.d.ts +59 -0
- package/dist/deploymentsSlice/selectors.js +969 -0
- package/dist/deploymentsSlice/selectors.js.map +1 -0
- package/dist/deploymentsSlice/selectors.mjs +25 -0
- package/dist/deploymentsSlice/selectors.mjs.map +1 -0
- package/dist/deploymentsSlice/thunks.d.mts +202 -0
- package/dist/deploymentsSlice/thunks.d.ts +202 -0
- package/dist/deploymentsSlice/thunks.js +5671 -0
- package/dist/deploymentsSlice/thunks.js.map +1 -0
- package/dist/deploymentsSlice/thunks.mjs +63 -0
- package/dist/deploymentsSlice/thunks.mjs.map +1 -0
- package/dist/devicesSlice/constants.d.mts +44 -0
- package/dist/devicesSlice/constants.d.ts +44 -0
- package/dist/devicesSlice/constants.js +969 -0
- package/dist/devicesSlice/constants.js.map +1 -0
- package/dist/devicesSlice/constants.mjs +40 -0
- package/dist/devicesSlice/constants.mjs.map +1 -0
- package/dist/devicesSlice/index.d.mts +2223 -0
- package/dist/devicesSlice/index.d.ts +2223 -0
- package/dist/devicesSlice/index.js +1109 -0
- package/dist/devicesSlice/index.js.map +1 -0
- package/dist/devicesSlice/index.mjs +21 -0
- package/dist/devicesSlice/index.mjs.map +1 -0
- package/dist/devicesSlice/selectors.d.mts +261 -0
- package/dist/devicesSlice/selectors.d.ts +261 -0
- package/dist/devicesSlice/selectors.js +1084 -0
- package/dist/devicesSlice/selectors.js.map +1 -0
- package/dist/devicesSlice/selectors.mjs +53 -0
- package/dist/devicesSlice/selectors.mjs.map +1 -0
- package/dist/devicesSlice/thunks.d.mts +742 -0
- package/dist/devicesSlice/thunks.d.ts +742 -0
- package/dist/devicesSlice/thunks.js +5743 -0
- package/dist/devicesSlice/thunks.js.map +1 -0
- package/dist/devicesSlice/thunks.mjs +135 -0
- package/dist/devicesSlice/thunks.mjs.map +1 -0
- package/dist/monitorSlice/constants.d.mts +6 -0
- package/dist/monitorSlice/constants.d.ts +6 -0
- package/dist/monitorSlice/constants.js +919 -0
- package/dist/monitorSlice/constants.js.map +1 -0
- package/dist/monitorSlice/constants.mjs +14 -0
- package/dist/monitorSlice/constants.mjs.map +1 -0
- package/dist/monitorSlice/index.d.mts +291 -0
- package/dist/monitorSlice/index.d.ts +291 -0
- package/dist/monitorSlice/index.js +971 -0
- package/dist/monitorSlice/index.js.map +1 -0
- package/dist/monitorSlice/index.mjs +21 -0
- package/dist/monitorSlice/index.mjs.map +1 -0
- package/dist/monitorSlice/selectors.d.mts +3 -0
- package/dist/monitorSlice/selectors.d.ts +3 -0
- package/dist/monitorSlice/selectors.js +31 -0
- package/dist/monitorSlice/selectors.js.map +1 -0
- package/dist/monitorSlice/selectors.mjs +8 -0
- package/dist/monitorSlice/selectors.mjs.map +1 -0
- package/dist/monitorSlice/thunks.d.mts +71 -0
- package/dist/monitorSlice/thunks.d.ts +71 -0
- package/dist/monitorSlice/thunks.js +2531 -0
- package/dist/monitorSlice/thunks.js.map +1 -0
- package/dist/monitorSlice/thunks.mjs +44 -0
- package/dist/monitorSlice/thunks.mjs.map +1 -0
- package/dist/onboardingSlice/constants.d.mts +23 -0
- package/dist/onboardingSlice/constants.d.ts +23 -0
- package/dist/onboardingSlice/constants.js +71 -0
- package/dist/onboardingSlice/constants.js.map +1 -0
- package/dist/onboardingSlice/constants.mjs +10 -0
- package/dist/onboardingSlice/constants.mjs.map +1 -0
- package/dist/onboardingSlice/index.d.mts +237 -0
- package/dist/onboardingSlice/index.d.ts +237 -0
- package/dist/onboardingSlice/index.js +94 -0
- package/dist/onboardingSlice/index.js.map +1 -0
- package/dist/onboardingSlice/index.mjs +16 -0
- package/dist/onboardingSlice/index.mjs.map +1 -0
- package/dist/onboardingSlice/selectors.d.mts +3 -0
- package/dist/onboardingSlice/selectors.d.ts +3 -0
- package/dist/onboardingSlice/selectors.js +31 -0
- package/dist/onboardingSlice/selectors.js.map +1 -0
- package/dist/onboardingSlice/selectors.mjs +8 -0
- package/dist/onboardingSlice/selectors.mjs.map +1 -0
- package/dist/onboardingSlice/thunks.d.mts +172 -0
- package/dist/onboardingSlice/thunks.d.ts +172 -0
- package/dist/onboardingSlice/thunks.js +5661 -0
- package/dist/onboardingSlice/thunks.js.map +1 -0
- package/dist/onboardingSlice/thunks.mjs +51 -0
- package/dist/onboardingSlice/thunks.mjs.map +1 -0
- package/dist/organizationSlice/constants.d.mts +134 -0
- package/dist/organizationSlice/constants.d.ts +134 -0
- package/dist/organizationSlice/constants.js +978 -0
- package/dist/organizationSlice/constants.js.map +1 -0
- package/dist/organizationSlice/constants.mjs +34 -0
- package/dist/organizationSlice/constants.mjs.map +1 -0
- package/dist/organizationSlice/index.d.mts +1097 -0
- package/dist/organizationSlice/index.d.ts +1097 -0
- package/dist/organizationSlice/index.js +1015 -0
- package/dist/organizationSlice/index.js.map +1 -0
- package/dist/organizationSlice/index.mjs +21 -0
- package/dist/organizationSlice/index.mjs.map +1 -0
- package/dist/organizationSlice/selectors.d.mts +134 -0
- package/dist/organizationSlice/selectors.d.ts +134 -0
- package/dist/organizationSlice/selectors.js +977 -0
- package/dist/organizationSlice/selectors.js.map +1 -0
- package/dist/organizationSlice/selectors.mjs +39 -0
- package/dist/organizationSlice/selectors.mjs.map +1 -0
- package/dist/organizationSlice/thunks.d.mts +502 -0
- package/dist/organizationSlice/thunks.d.ts +502 -0
- package/dist/organizationSlice/thunks.js +5709 -0
- package/dist/organizationSlice/thunks.js.map +1 -0
- package/dist/organizationSlice/thunks.mjs +101 -0
- package/dist/organizationSlice/thunks.mjs.map +1 -0
- package/dist/releasesSlice/constants.d.mts +14 -0
- package/dist/releasesSlice/constants.d.ts +14 -0
- package/dist/releasesSlice/constants.js +40 -0
- package/dist/releasesSlice/constants.js.map +1 -0
- package/dist/releasesSlice/constants.mjs +14 -0
- package/dist/releasesSlice/constants.mjs.map +1 -0
- package/dist/releasesSlice/index.d.mts +483 -0
- package/dist/releasesSlice/index.d.ts +483 -0
- package/dist/releasesSlice/index.js +1034 -0
- package/dist/releasesSlice/index.js.map +1 -0
- package/dist/releasesSlice/index.mjs +21 -0
- package/dist/releasesSlice/index.mjs.map +1 -0
- package/dist/releasesSlice/selectors.d.mts +92 -0
- package/dist/releasesSlice/selectors.d.ts +92 -0
- package/dist/releasesSlice/selectors.js +967 -0
- package/dist/releasesSlice/selectors.js.map +1 -0
- package/dist/releasesSlice/selectors.mjs +28 -0
- package/dist/releasesSlice/selectors.mjs.map +1 -0
- package/dist/releasesSlice/thunks.d.mts +276 -0
- package/dist/releasesSlice/thunks.d.ts +276 -0
- package/dist/releasesSlice/thunks.js +2843 -0
- package/dist/releasesSlice/thunks.js.map +1 -0
- package/dist/releasesSlice/thunks.mjs +66 -0
- package/dist/releasesSlice/thunks.mjs.map +1 -0
- package/dist/selectors.d.mts +10 -0
- package/dist/selectors.d.ts +10 -0
- package/dist/selectors.js +1636 -0
- package/dist/selectors.js.map +1 -0
- package/dist/selectors.mjs +207 -0
- package/dist/selectors.mjs.map +1 -0
- package/dist/store.d.mts +2306 -0
- package/dist/store.d.ts +2306 -0
- package/dist/store.js +1877 -0
- package/dist/store.js.map +1 -0
- package/dist/store.mjs +32 -0
- package/dist/store.mjs.map +1 -0
- package/dist/storehooks.d.mts +4 -0
- package/dist/storehooks.d.ts +4 -0
- package/dist/storehooks.js +5844 -0
- package/dist/storehooks.js.map +1 -0
- package/dist/storehooks.mjs +265 -0
- package/dist/storehooks.mjs.map +1 -0
- package/dist/thunks.d.mts +12 -0
- package/dist/thunks.d.ts +12 -0
- package/dist/thunks.js +5973 -0
- package/dist/thunks.js.map +1 -0
- package/dist/thunks.mjs +363 -0
- package/dist/thunks.mjs.map +1 -0
- package/dist/usersSlice/constants.d.mts +635 -0
- package/dist/usersSlice/constants.d.ts +635 -0
- package/dist/usersSlice/constants.js +967 -0
- package/dist/usersSlice/constants.js.map +1 -0
- package/dist/usersSlice/constants.mjs +43 -0
- package/dist/usersSlice/constants.mjs.map +1 -0
- package/dist/usersSlice/index.d.mts +6993 -0
- package/dist/usersSlice/index.d.ts +6993 -0
- package/dist/usersSlice/index.js +1054 -0
- package/dist/usersSlice/index.js.map +1 -0
- package/dist/usersSlice/index.mjs +21 -0
- package/dist/usersSlice/index.mjs.map +1 -0
- package/dist/usersSlice/selectors.d.mts +209 -0
- package/dist/usersSlice/selectors.d.ts +209 -0
- package/dist/usersSlice/selectors.js +997 -0
- package/dist/usersSlice/selectors.js.map +1 -0
- package/dist/usersSlice/selectors.mjs +38 -0
- package/dist/usersSlice/selectors.mjs.map +1 -0
- package/dist/usersSlice/thunks.d.mts +881 -0
- package/dist/usersSlice/thunks.d.ts +881 -0
- package/dist/usersSlice/thunks.js +5717 -0
- package/dist/usersSlice/thunks.js.map +1 -0
- package/dist/usersSlice/thunks.mjs +109 -0
- package/dist/usersSlice/thunks.mjs.map +1 -0
- package/dist/utils.d.mts +60 -0
- package/dist/utils.d.ts +60 -0
- package/dist/utils.js +1160 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +49 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +22 -5
- package/.eslintrc.cjs +0 -9
- package/.prettierignore +0 -1
- package/CHANGELOG.md +0 -19
- package/actions.ts +0 -32
- package/api/general-api.test.ts +0 -51
- package/api/general-api.ts +0 -60
- package/api/types/Deployment.ts +0 -95
- package/api/types/DeviceDeployments.ts +0 -31
- package/api/types/FilterPredicateInventory.ts +0 -76
- package/api/types/Tenant.ts +0 -38
- package/api/users-api.ts +0 -34
- package/appSlice/constants.ts +0 -166
- package/appSlice/reducer.test.ts +0 -97
- package/appSlice/selectors.ts +0 -33
- package/appSlice/thunks.test.ts +0 -118
- package/appSlice/thunks.ts +0 -148
- package/auth.test.ts +0 -36
- package/auth.ts +0 -82
- package/commonConstants.tsx +0 -252
- package/commonSelectors.ts +0 -255
- package/constants.ts +0 -22
- package/deploymentsSlice/constants.ts +0 -175
- package/deploymentsSlice/index.ts +0 -145
- package/deploymentsSlice/reducer.test.ts +0 -108
- package/deploymentsSlice/selectors.ts +0 -58
- package/deploymentsSlice/thunks.test.ts +0 -425
- package/deploymentsSlice/thunks.ts +0 -382
- package/devicesSlice/constants.ts +0 -56
- package/devicesSlice/reducer.test.ts +0 -194
- package/devicesSlice/selectors.ts +0 -127
- package/devicesSlice/thunks.test.tsx +0 -1245
- package/devicesSlice/thunks.tsx +0 -1098
- package/monitorSlice/constants.ts +0 -17
- package/monitorSlice/index.ts +0 -65
- package/monitorSlice/reducer.test.ts +0 -79
- package/monitorSlice/selectors.ts +0 -15
- package/monitorSlice/thunks.test.ts +0 -112
- package/monitorSlice/thunks.ts +0 -101
- package/onboardingSlice/constants.ts +0 -53
- package/onboardingSlice/reducer.test.ts +0 -45
- package/onboardingSlice/selectors.ts +0 -15
- package/onboardingSlice/thunks.test.ts +0 -235
- package/onboardingSlice/thunks.ts +0 -142
- package/organizationSlice/constants.ts +0 -82
- package/organizationSlice/index.ts +0 -111
- package/organizationSlice/reducer.test.ts +0 -78
- package/organizationSlice/selectors.ts +0 -45
- package/organizationSlice/thunks.test.ts +0 -619
- package/organizationSlice/thunks.ts +0 -383
- package/releasesSlice/constants.ts +0 -18
- package/releasesSlice/reducer.test.ts +0 -78
- package/releasesSlice/selectors.ts +0 -33
- package/releasesSlice/thunks.test.ts +0 -389
- package/releasesSlice/thunks.ts +0 -379
- package/selectors.ts +0 -22
- package/store.ts +0 -89
- package/storehooks.test.tsx +0 -386
- package/storehooks.ts +0 -250
- package/thunks.ts +0 -21
- package/tsconfig.json +0 -11
- package/tsup.config.ts +0 -11
- package/usersSlice/constants.ts +0 -374
- package/usersSlice/reducer.test.ts +0 -141
- package/usersSlice/selectors.ts +0 -60
- package/usersSlice/thunks.test.ts +0 -660
- package/usersSlice/thunks.ts +0 -773
- package/utils.test.ts +0 -187
- package/utils.ts +0 -249
- /package/{api → dist/api}/types/AWSCredentials.ts +0 -0
- /package/{api → dist/api}/types/Actor.ts +0 -0
- /package/{api → dist/api}/types/Addon.ts +0 -0
- /package/{api → dist/api}/types/AddonTenantadm.ts +0 -0
- /package/{api → dist/api}/types/Alert.ts +0 -0
- /package/{api → dist/api}/types/AlertDetails.ts +0 -0
- /package/{api → dist/api}/types/AlertSubject.ts +0 -0
- /package/{api → dist/api}/types/ApiBurst.ts +0 -0
- /package/{api → dist/api}/types/ApiBurstTenantadm.ts +0 -0
- /package/{api → dist/api}/types/ApiLimits.ts +0 -0
- /package/{api → dist/api}/types/ApiLimitsTenantadm.ts +0 -0
- /package/{api → dist/api}/types/ApiQuota.ts +0 -0
- /package/{api → dist/api}/types/ApiQuotaTenantadm.ts +0 -0
- /package/{api → dist/api}/types/Artifact.ts +0 -0
- /package/{api → dist/api}/types/ArtifactDeployments.ts +0 -0
- /package/{api → dist/api}/types/ArtifactInfo.ts +0 -0
- /package/{api → dist/api}/types/ArtifactInfoDeployments.ts +0 -0
- /package/{api → dist/api}/types/ArtifactLink.ts +0 -0
- /package/{api → dist/api}/types/ArtifactTypeInfo.ts +0 -0
- /package/{api → dist/api}/types/ArtifactTypeInfoDeployments.ts +0 -0
- /package/{api → dist/api}/types/ArtifactUpdate.ts +0 -0
- /package/{api → dist/api}/types/ArtifactUploadLink.ts +0 -0
- /package/{api → dist/api}/types/Attribute.ts +0 -0
- /package/{api → dist/api}/types/AttributeInventory.ts +0 -0
- /package/{api → dist/api}/types/AuditLog.ts +0 -0
- /package/{api → dist/api}/types/AuthSetDeviceauth.ts +0 -0
- /package/{api → dist/api}/types/AutoAuthRequest.ts +0 -0
- /package/{api → dist/api}/types/AzureSharedAccessSecret.ts +0 -0
- /package/{api → dist/api}/types/BillingInfo.ts +0 -0
- /package/{api → dist/api}/types/BinaryDeltaConfiguration.ts +0 -0
- /package/{api → dist/api}/types/BinaryDeltaConfigurationDeployments.ts +0 -0
- /package/{api → dist/api}/types/BinaryDeltaLimitsDeployments.ts +0 -0
- /package/{api → dist/api}/types/CancelRequest.ts +0 -0
- /package/{api → dist/api}/types/CardData.ts +0 -0
- /package/{api → dist/api}/types/CardSetupData.ts +0 -0
- /package/{api → dist/api}/types/CheckoutData.ts +0 -0
- /package/{api → dist/api}/types/Configuration.ts +0 -0
- /package/{api → dist/api}/types/Count.ts +0 -0
- /package/{api → dist/api}/types/Credentials.ts +0 -0
- /package/{api → dist/api}/types/DBusSubsystem.ts +0 -0
- /package/{api → dist/api}/types/DeltaConfiguration.ts +0 -0
- /package/{api → dist/api}/types/DeltaConfigurationDeployments.ts +0 -0
- /package/{api → dist/api}/types/DeploymentAuditlogs.ts +0 -0
- /package/{api → dist/api}/types/DeploymentIdentifier.ts +0 -0
- /package/{api → dist/api}/types/DeploymentPhase.ts +0 -0
- /package/{api → dist/api}/types/DeploymentReporting.ts +0 -0
- /package/{api → dist/api}/types/DeploymentStatistics.ts +0 -0
- /package/{api → dist/api}/types/DeploymentStatusStatistics.ts +0 -0
- /package/{api → dist/api}/types/DeviceAuditlogs.ts +0 -0
- /package/{api → dist/api}/types/DeviceAuthEvent.ts +0 -0
- /package/{api → dist/api}/types/DeviceConfiguration.ts +0 -0
- /package/{api → dist/api}/types/DeviceDeployment.ts +0 -0
- /package/{api → dist/api}/types/DeviceDeviceauth.ts +0 -0
- /package/{api → dist/api}/types/DeviceInventory.ts +0 -0
- /package/{api → dist/api}/types/DeviceInventoryInventory.ts +0 -0
- /package/{api → dist/api}/types/DeviceReporting.ts +0 -0
- /package/{api → dist/api}/types/DeviceState.ts +0 -0
- /package/{api → dist/api}/types/DeviceStateDeviceconnect.ts +0 -0
- /package/{api → dist/api}/types/DeviceStateIot_manager.ts +0 -0
- /package/{api → dist/api}/types/DeviceStatus.ts +0 -0
- /package/{api → dist/api}/types/DeviceWithImage.ts +0 -0
- /package/{api → dist/api}/types/DirectUploadMetadata.ts +0 -0
- /package/{api → dist/api}/types/EmailVerificationCompletion.ts +0 -0
- /package/{api → dist/api}/types/EmailVerificationRequest.ts +0 -0
- /package/{api → dist/api}/types/ErrorAuditlogs.ts +0 -0
- /package/{api → dist/api}/types/ErrorDeployments.ts +0 -0
- /package/{api → dist/api}/types/ErrorDeviceauth.ts +0 -0
- /package/{api → dist/api}/types/ErrorDeviceconfig.ts +0 -0
- /package/{api → dist/api}/types/ErrorDeviceconnect.ts +0 -0
- /package/{api → dist/api}/types/ErrorDevicemonitor.ts +0 -0
- /package/{api → dist/api}/types/ErrorExt.ts +0 -0
- /package/{api → dist/api}/types/ErrorInventory.ts +0 -0
- /package/{api → dist/api}/types/ErrorIot_manager.ts +0 -0
- /package/{api → dist/api}/types/ErrorNotFound.ts +0 -0
- /package/{api → dist/api}/types/ErrorReporting.ts +0 -0
- /package/{api → dist/api}/types/ErrorTenantadm.ts +0 -0
- /package/{api → dist/api}/types/ErrorUseradm.ts +0 -0
- /package/{api → dist/api}/types/Event.ts +0 -0
- /package/{api → dist/api}/types/ExternalIdentity.ts +0 -0
- /package/{api → dist/api}/types/Features.ts +0 -0
- /package/{api → dist/api}/types/FileUpload.ts +0 -0
- /package/{api → dist/api}/types/FilterAttribute.ts +0 -0
- /package/{api → dist/api}/types/FilterDefinition.ts +0 -0
- /package/{api → dist/api}/types/FilterDeployments.ts +0 -0
- /package/{api → dist/api}/types/FilterPredicateDeployments.ts +0 -0
- /package/{api → dist/api}/types/Group.ts +0 -0
- /package/{api → dist/api}/types/HTTP.ts +0 -0
- /package/{api → dist/api}/types/IdentityData.ts +0 -0
- /package/{api → dist/api}/types/InputParameter.ts +0 -0
- /package/{api → dist/api}/types/JobStatus.ts +0 -0
- /package/{api → dist/api}/types/Limit.ts +0 -0
- /package/{api → dist/api}/types/LimitDeployments.ts +0 -0
- /package/{api → dist/api}/types/LimitDeviceauth.ts +0 -0
- /package/{api → dist/api}/types/LimitUseradm.ts +0 -0
- /package/{api → dist/api}/types/Limits.ts +0 -0
- /package/{api → dist/api}/types/LineDescriptor.ts +0 -0
- /package/{api → dist/api}/types/LogSubsystem.ts +0 -0
- /package/{api → dist/api}/types/LoginOptions.ts +0 -0
- /package/{api → dist/api}/types/ManagementAPIConfiguration.ts +0 -0
- /package/{api → dist/api}/types/MonitorConfiguration.ts +0 -0
- /package/{api → dist/api}/types/NewConfigurationDeployment.ts +0 -0
- /package/{api → dist/api}/types/NewConfigurationDeploymentResponse.ts +0 -0
- /package/{api → dist/api}/types/NewDeployment.ts +0 -0
- /package/{api → dist/api}/types/NewDeploymentForGroup.ts +0 -0
- /package/{api → dist/api}/types/NewDeploymentPhase.ts +0 -0
- /package/{api → dist/api}/types/NewDeploymentPhaseDeployments.ts +0 -0
- /package/{api → dist/api}/types/OwnUserUpdate.ts +0 -0
- /package/{api → dist/api}/types/PasswordResetCompletion.ts +0 -0
- /package/{api → dist/api}/types/PasswordResetRequest.ts +0 -0
- /package/{api → dist/api}/types/Permission.ts +0 -0
- /package/{api → dist/api}/types/PermissionObject.ts +0 -0
- /package/{api → dist/api}/types/PermissionSet.ts +0 -0
- /package/{api → dist/api}/types/PermissionSetWithScope.ts +0 -0
- /package/{api → dist/api}/types/PersonalAccessToken.ts +0 -0
- /package/{api → dist/api}/types/PersonalAccessTokenRequest.ts +0 -0
- /package/{api → dist/api}/types/Plan.ts +0 -0
- /package/{api → dist/api}/types/PlanBindingDetails.ts +0 -0
- /package/{api → dist/api}/types/PlanChangeRequest.ts +0 -0
- /package/{api → dist/api}/types/PlanLimits.ts +0 -0
- /package/{api → dist/api}/types/Release.ts +0 -0
- /package/{api → dist/api}/types/ReleaseDeployments.ts +0 -0
- /package/{api → dist/api}/types/ReleaseUpdate.ts +0 -0
- /package/{api → dist/api}/types/Releases.ts +0 -0
- /package/{api → dist/api}/types/ReleasesDeleteError.ts +0 -0
- /package/{api → dist/api}/types/ReleasesDeployments.ts +0 -0
- /package/{api → dist/api}/types/Role.ts +0 -0
- /package/{api → dist/api}/types/RolePermission.ts +0 -0
- /package/{api → dist/api}/types/RolePermissionObject.ts +0 -0
- /package/{api → dist/api}/types/RoleUseradm.ts +0 -0
- /package/{api → dist/api}/types/SAMLMetadata.ts +0 -0
- /package/{api → dist/api}/types/Scope.ts +0 -0
- /package/{api → dist/api}/types/SelectAttribute.ts +0 -0
- /package/{api → dist/api}/types/ServiceSubsystem.ts +0 -0
- /package/{api → dist/api}/types/SortCriteria.ts +0 -0
- /package/{api → dist/api}/types/SsoObject.ts +0 -0
- /package/{api → dist/api}/types/StatusDeviceauth.ts +0 -0
- /package/{api → dist/api}/types/StorageLimit.ts +0 -0
- /package/{api → dist/api}/types/SubscriptionData.ts +0 -0
- /package/{api → dist/api}/types/SupportRequest.ts +0 -0
- /package/{api → dist/api}/types/Tag.ts +0 -0
- /package/{api → dist/api}/types/Tags.ts +0 -0
- /package/{api → dist/api}/types/TaskResult.ts +0 -0
- /package/{api → dist/api}/types/TaskResultCLI.ts +0 -0
- /package/{api → dist/api}/types/TaskResultHTTPRequest.ts +0 -0
- /package/{api → dist/api}/types/TaskResultHTTPResponse.ts +0 -0
- /package/{api → dist/api}/types/TenantApiLimits.ts +0 -0
- /package/{api → dist/api}/types/TenantApiLimitsTenantadm.ts +0 -0
- /package/{api → dist/api}/types/TenantIdName.ts +0 -0
- /package/{api → dist/api}/types/TenantIdsData.ts +0 -0
- /package/{api → dist/api}/types/TenantInfo.ts +0 -0
- /package/{api → dist/api}/types/TenantShortInfo.ts +0 -0
- /package/{api → dist/api}/types/TenantsIdName.ts +0 -0
- /package/{api → dist/api}/types/Update.ts +0 -0
- /package/{api → dist/api}/types/UpdateFile.ts +0 -0
- /package/{api → dist/api}/types/UpdateFileDeployments.ts +0 -0
- /package/{api → dist/api}/types/UpdateTypes.ts +0 -0
- /package/{api → dist/api}/types/User.ts +0 -0
- /package/{api → dist/api}/types/UserAuditlogs.ts +0 -0
- /package/{api → dist/api}/types/UserNew.ts +0 -0
- /package/{api → dist/api}/types/UserUpdate.ts +0 -0
- /package/{api → dist/api}/types/UserUseradm.ts +0 -0
- /package/{api → dist/api}/types/XDeltaArgs.ts +0 -0
- /package/{api → dist/api}/types/XDeltaArgsDeployments.ts +0 -0
- /package/{api → dist/api}/types/XDeltaArgsLimits.ts +0 -0
- /package/{api → dist/api}/types/XDeltaArgsLimitsDeployments.ts +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import {
|
|
2
|
+
general_api_default
|
|
3
|
+
} from "./chunk-R2GBNXLV.mjs";
|
|
4
|
+
import {
|
|
5
|
+
getSearchEndpoint
|
|
6
|
+
} from "./chunk-RQOE5OOT.mjs";
|
|
7
|
+
import {
|
|
8
|
+
getDeviceFilters
|
|
9
|
+
} from "./chunk-ZIYGEXSJ.mjs";
|
|
10
|
+
import {
|
|
11
|
+
commonErrorFallback,
|
|
12
|
+
commonErrorHandler
|
|
13
|
+
} from "./chunk-XYVPYFSM.mjs";
|
|
14
|
+
import {
|
|
15
|
+
actions_default
|
|
16
|
+
} from "./chunk-IPPIKGIB.mjs";
|
|
17
|
+
import {
|
|
18
|
+
actions,
|
|
19
|
+
sliceName
|
|
20
|
+
} from "./chunk-RH6ONMG7.mjs";
|
|
21
|
+
import {
|
|
22
|
+
convertDeviceListStateToFilters
|
|
23
|
+
} from "./chunk-G32LAKW4.mjs";
|
|
24
|
+
import {
|
|
25
|
+
alertChannels,
|
|
26
|
+
monitorApiUrlv1
|
|
27
|
+
} from "./chunk-ZNST5R6O.mjs";
|
|
28
|
+
import {
|
|
29
|
+
headerNames
|
|
30
|
+
} from "./chunk-BOSBROA3.mjs";
|
|
31
|
+
import {
|
|
32
|
+
DEVICE_LIST_DEFAULTS,
|
|
33
|
+
TIMEOUTS
|
|
34
|
+
} from "./chunk-G3I53JGW.mjs";
|
|
35
|
+
import {
|
|
36
|
+
__objRest,
|
|
37
|
+
__spreadProps,
|
|
38
|
+
__spreadValues
|
|
39
|
+
} from "./chunk-XWBD7VOK.mjs";
|
|
40
|
+
|
|
41
|
+
// src/monitorSlice/thunks.ts
|
|
42
|
+
import { createAsyncThunk } from "@reduxjs/toolkit";
|
|
43
|
+
var { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;
|
|
44
|
+
var cutoffLength = 75;
|
|
45
|
+
var ellipsis = "...";
|
|
46
|
+
var longTextTrimmer = (text) => text.length >= cutoffLength + ellipsis.length ? `${text.substring(0, cutoffLength + ellipsis.length)}${ellipsis}` : text;
|
|
47
|
+
var sanitizeDeviceAlerts = (alerts) => alerts.map((alert) => __spreadProps(__spreadValues({}, alert), { fullName: alert.name, name: longTextTrimmer(alert.name) }));
|
|
48
|
+
var getDeviceAlerts = createAsyncThunk(`${sliceName}/getDeviceAlerts`, ({ id, config = {} }, { dispatch }) => {
|
|
49
|
+
const { page = defaultPage, perPage = defaultPerPage, issuedBefore, issuedAfter, sortAscending = false } = config;
|
|
50
|
+
const issued_after = issuedAfter ? `&issued_after=${issuedAfter}` : "";
|
|
51
|
+
const issued_before = issuedBefore ? `&issued_before=${issuedBefore}` : "";
|
|
52
|
+
return general_api_default.get(`${monitorApiUrlv1}/devices/${id}/alerts?page=${page}&per_page=${perPage}${issued_after}${issued_before}&sort_ascending=${sortAscending}`).catch((err) => commonErrorHandler(err, `Retrieving device alerts for device ${id} failed:`, dispatch)).then(
|
|
53
|
+
(res) => Promise.all([
|
|
54
|
+
dispatch(actions.receiveDeviceAlerts({ deviceId: id, alerts: sanitizeDeviceAlerts(res.data) })),
|
|
55
|
+
dispatch(actions.setAlertListState({ total: Number(res.headers[headerNames.total]) }))
|
|
56
|
+
])
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
var getLatestDeviceAlerts = createAsyncThunk(`${sliceName}/getLatestDeviceAlerts`, ({ id, config = {} }, { dispatch }) => {
|
|
60
|
+
const { page = defaultPage, perPage = 10 } = config;
|
|
61
|
+
return general_api_default.get(`${monitorApiUrlv1}/devices/${id}/alerts/latest?page=${page}&per_page=${perPage}`).catch((err) => commonErrorHandler(err, `Retrieving device alerts for device ${id} failed:`, dispatch)).then((res) => Promise.resolve(dispatch(actions.receiveLatestDeviceAlerts({ deviceId: id, alerts: sanitizeDeviceAlerts(res.data) }))));
|
|
62
|
+
});
|
|
63
|
+
var getIssueCountsByType = createAsyncThunk(`${sliceName}/getIssueCountsByType`, ({ type, options = {} }, { dispatch, getState }) => {
|
|
64
|
+
const state = getState();
|
|
65
|
+
const _a = options, { filters = getDeviceFilters(state), group, status } = _a, remainder = __objRest(_a, ["filters", "group", "status"]);
|
|
66
|
+
const { applicableFilters: nonMonitorFilters, filterTerms } = convertDeviceListStateToFilters(__spreadProps(__spreadValues({}, remainder), {
|
|
67
|
+
filters,
|
|
68
|
+
group,
|
|
69
|
+
offlineThreshold: state.app.offlineThreshold,
|
|
70
|
+
selectedIssues: [type],
|
|
71
|
+
status
|
|
72
|
+
}));
|
|
73
|
+
return general_api_default.post(getSearchEndpoint(getState()), {
|
|
74
|
+
page: 1,
|
|
75
|
+
per_page: 1,
|
|
76
|
+
filters: filterTerms,
|
|
77
|
+
attributes: [{ scope: "identity", attribute: "status" }]
|
|
78
|
+
}).catch((err) => commonErrorHandler(err, `Retrieving issue counts failed:`, dispatch, commonErrorFallback)).then((res) => {
|
|
79
|
+
const total = nonMonitorFilters.length ? state.monitor.issueCounts.byType[type].total : Number(res.headers[headerNames.total]);
|
|
80
|
+
const filtered = nonMonitorFilters.length ? Number(res.headers[headerNames.total]) : total;
|
|
81
|
+
if (total === state.monitor.issueCounts.byType[type].total && filtered === state.monitor.issueCounts.byType[type].filtered) {
|
|
82
|
+
return Promise.resolve();
|
|
83
|
+
}
|
|
84
|
+
return Promise.resolve(dispatch(actions.receiveDeviceIssueCounts({ counts: { filtered, total }, issueType: type })));
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
var getDeviceMonitorConfig = createAsyncThunk(
|
|
88
|
+
`${sliceName}/getDeviceMonitorConfig`,
|
|
89
|
+
(id, { dispatch }) => general_api_default.get(`${monitorApiUrlv1}/devices/${id}/config`).catch((err) => commonErrorHandler(err, `Retrieving device monitor config for device ${id} failed:`, dispatch)).then(({ data }) => Promise.all([dispatch(actions_default.receivedDevice({ id, monitors: data }), Promise.resolve(data))]))
|
|
90
|
+
);
|
|
91
|
+
var changeNotificationSetting = createAsyncThunk(
|
|
92
|
+
`${sliceName}/changeNotificationSetting`,
|
|
93
|
+
({ enabled, channel = alertChannels.email }, { dispatch }) => {
|
|
94
|
+
return general_api_default.put(`${monitorApiUrlv1}/settings/global/channel/alerts/${channel}/status`, { enabled }).catch((err) => commonErrorHandler(err, `${enabled ? "En" : "Dis"}abling ${channel} alerts failed:`, dispatch)).then(
|
|
95
|
+
() => Promise.all([
|
|
96
|
+
dispatch(actions.changeAlertChannel({ channel, enabled })),
|
|
97
|
+
dispatch(actions_default.setSnackbar(`Successfully ${enabled ? "en" : "dis"}abled ${channel} alerts`, TIMEOUTS.fiveSeconds))
|
|
98
|
+
])
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
export {
|
|
104
|
+
getDeviceAlerts,
|
|
105
|
+
getLatestDeviceAlerts,
|
|
106
|
+
getIssueCountsByType,
|
|
107
|
+
getDeviceMonitorConfig,
|
|
108
|
+
changeNotificationSetting
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=chunk-G7LATUT6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/monitorSlice/thunks.ts"],"sourcesContent":["// Copyright 2021 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.\n// @ts-nocheck\nimport storeActions from '@northern.tech/store/actions';\nimport Api from '@northern.tech/store/api/general-api';\nimport { DEVICE_LIST_DEFAULTS, TIMEOUTS, alertChannels, headerNames } from '@northern.tech/store/constants';\nimport { getDeviceFilters, getSearchEndpoint } from '@northern.tech/store/selectors';\nimport { commonErrorFallback, commonErrorHandler } from '@northern.tech/store/store';\nimport { convertDeviceListStateToFilters } from '@northern.tech/store/utils';\nimport { createAsyncThunk } from '@reduxjs/toolkit';\n\nimport { actions, sliceName } from '.';\nimport { monitorApiUrlv1 } from './constants';\n\nconst { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;\n\nconst cutoffLength = 75;\nconst ellipsis = '...';\nconst longTextTrimmer = text => (text.length >= cutoffLength + ellipsis.length ? `${text.substring(0, cutoffLength + ellipsis.length)}${ellipsis}` : text);\n\nconst sanitizeDeviceAlerts = alerts => alerts.map(alert => ({ ...alert, fullName: alert.name, name: longTextTrimmer(alert.name) }));\n\nexport const getDeviceAlerts = createAsyncThunk(`${sliceName}/getDeviceAlerts`, ({ id, config = {} }, { dispatch }) => {\n const { page = defaultPage, perPage = defaultPerPage, issuedBefore, issuedAfter, sortAscending = false } = config;\n const issued_after = issuedAfter ? `&issued_after=${issuedAfter}` : '';\n const issued_before = issuedBefore ? `&issued_before=${issuedBefore}` : '';\n return Api.get(`${monitorApiUrlv1}/devices/${id}/alerts?page=${page}&per_page=${perPage}${issued_after}${issued_before}&sort_ascending=${sortAscending}`)\n .catch(err => commonErrorHandler(err, `Retrieving device alerts for device ${id} failed:`, dispatch))\n .then(res =>\n Promise.all([\n dispatch(actions.receiveDeviceAlerts({ deviceId: id, alerts: sanitizeDeviceAlerts(res.data) })),\n dispatch(actions.setAlertListState({ total: Number(res.headers[headerNames.total]) }))\n ])\n );\n});\n\nexport const getLatestDeviceAlerts = createAsyncThunk(`${sliceName}/getLatestDeviceAlerts`, ({ id, config = {} }, { dispatch }) => {\n const { page = defaultPage, perPage = 10 } = config;\n return Api.get(`${monitorApiUrlv1}/devices/${id}/alerts/latest?page=${page}&per_page=${perPage}`)\n .catch(err => commonErrorHandler(err, `Retrieving device alerts for device ${id} failed:`, dispatch))\n .then(res => Promise.resolve(dispatch(actions.receiveLatestDeviceAlerts({ deviceId: id, alerts: sanitizeDeviceAlerts(res.data) }))));\n});\n\nexport const getIssueCountsByType = createAsyncThunk(`${sliceName}/getIssueCountsByType`, ({ type, options = {} }, { dispatch, getState }) => {\n const state = getState();\n const { filters = getDeviceFilters(state), group, status, ...remainder } = options;\n const { applicableFilters: nonMonitorFilters, filterTerms } = convertDeviceListStateToFilters({\n ...remainder,\n filters,\n group,\n offlineThreshold: state.app.offlineThreshold,\n selectedIssues: [type],\n status\n });\n return Api.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 issue counts failed:`, dispatch, commonErrorFallback))\n .then(res => {\n const total = nonMonitorFilters.length ? state.monitor.issueCounts.byType[type].total : Number(res.headers[headerNames.total]);\n const filtered = nonMonitorFilters.length ? Number(res.headers[headerNames.total]) : total;\n if (total === state.monitor.issueCounts.byType[type].total && filtered === state.monitor.issueCounts.byType[type].filtered) {\n return Promise.resolve();\n }\n return Promise.resolve(dispatch(actions.receiveDeviceIssueCounts({ counts: { filtered, total }, issueType: type })));\n });\n});\n\nexport const getDeviceMonitorConfig = createAsyncThunk(`${sliceName}/getDeviceMonitorConfig`, (id, { dispatch }) =>\n Api.get(`${monitorApiUrlv1}/devices/${id}/config`)\n .catch(err => commonErrorHandler(err, `Retrieving device monitor config for device ${id} failed:`, dispatch))\n .then(({ data }) => Promise.all([dispatch(storeActions.receivedDevice({ id, monitors: data }), Promise.resolve(data))]))\n);\n\nexport const changeNotificationSetting = createAsyncThunk(\n `${sliceName}/changeNotificationSetting`,\n ({ enabled, channel = alertChannels.email }, { dispatch }) => {\n return Api.put(`${monitorApiUrlv1}/settings/global/channel/alerts/${channel}/status`, { enabled })\n .catch(err => commonErrorHandler(err, `${enabled ? 'En' : 'Dis'}abling ${channel} alerts failed:`, dispatch))\n .then(() =>\n Promise.all([\n dispatch(actions.changeAlertChannel({ channel, enabled })),\n dispatch(storeActions.setSnackbar(`Successfully ${enabled ? 'en' : 'dis'}abled ${channel} alerts`, TIMEOUTS.fiveSeconds))\n ])\n );\n }\n);\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/monitorSlice/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.\n\nexport const getIssueCountsByType = state => state.monitor.issueCounts.byType;\n"],"mappings":";AAcO,IAAM,uBAAuB,WAAS,MAAM,QAAQ,YAAY;","names":[]}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// @ts-nocheck
|
|
15
|
-
import { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '@northern.tech/store/commonConstants';
|
|
16
|
-
import { deepCompare, duplicateFilter } from '@northern.tech/utils/helpers';
|
|
17
|
-
import { createSlice } from '@reduxjs/toolkit';
|
|
1
|
+
import {
|
|
2
|
+
DEVICE_STATES
|
|
3
|
+
} from "./chunk-ZNST5R6O.mjs";
|
|
4
|
+
import {
|
|
5
|
+
DEVICE_LIST_DEFAULTS,
|
|
6
|
+
SORTING_OPTIONS
|
|
7
|
+
} from "./chunk-G3I53JGW.mjs";
|
|
8
|
+
import {
|
|
9
|
+
__objRest,
|
|
10
|
+
__restKey,
|
|
11
|
+
__spreadProps,
|
|
12
|
+
__spreadValues
|
|
13
|
+
} from "./chunk-XWBD7VOK.mjs";
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
// src/devicesSlice/index.ts
|
|
16
|
+
import { deepCompare, duplicateFilter } from "@northern.tech/utils/helpers";
|
|
17
|
+
import { createSlice } from "@reduxjs/toolkit";
|
|
18
|
+
var sliceName = "devices";
|
|
19
|
+
var initialState = {
|
|
24
20
|
byId: {
|
|
25
21
|
// [deviceId]: {
|
|
26
22
|
// ...,
|
|
@@ -35,9 +31,9 @@ export const initialState = {
|
|
|
35
31
|
[DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
|
|
36
32
|
[DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }
|
|
37
33
|
},
|
|
38
|
-
deviceList: {
|
|
39
|
-
deviceIds: []
|
|
40
|
-
|
|
34
|
+
deviceList: __spreadProps(__spreadValues({
|
|
35
|
+
deviceIds: []
|
|
36
|
+
}, DEVICE_LIST_DEFAULTS), {
|
|
41
37
|
selectedAttributes: [],
|
|
42
38
|
selectedIssues: [],
|
|
43
39
|
selection: [],
|
|
@@ -48,7 +44,7 @@ export const initialState = {
|
|
|
48
44
|
},
|
|
49
45
|
state: DEVICE_STATES.accepted,
|
|
50
46
|
total: 0
|
|
51
|
-
},
|
|
47
|
+
}),
|
|
52
48
|
filters: [
|
|
53
49
|
// { key: 'device_type', value: 'raspberry', operator: '$eq', scope: 'inventory' }
|
|
54
50
|
],
|
|
@@ -71,11 +67,10 @@ export const initialState = {
|
|
|
71
67
|
// groupName: { deviceIds: [], total: 0, filters: [] },
|
|
72
68
|
// dynamo: { deviceIds: [], total: 3, filters: [{ a: 1 }] }
|
|
73
69
|
},
|
|
74
|
-
selectedGroup:
|
|
70
|
+
selectedGroup: void 0
|
|
75
71
|
}
|
|
76
72
|
};
|
|
77
|
-
|
|
78
|
-
export const devicesSlice = createSlice({
|
|
73
|
+
var devicesSlice = createSlice({
|
|
79
74
|
name: sliceName,
|
|
80
75
|
initialState,
|
|
81
76
|
reducers: {
|
|
@@ -84,61 +79,49 @@ export const devicesSlice = createSlice({
|
|
|
84
79
|
},
|
|
85
80
|
addToGroup: (state, action) => {
|
|
86
81
|
const { group, deviceIds } = action.payload;
|
|
87
|
-
const maybeExistingGroup = {
|
|
82
|
+
const maybeExistingGroup = __spreadValues({
|
|
88
83
|
filters: [],
|
|
89
|
-
deviceIds: []
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
state.groups.byId[group] = {
|
|
93
|
-
...maybeExistingGroup,
|
|
84
|
+
deviceIds: []
|
|
85
|
+
}, state.groups.byId[group]);
|
|
86
|
+
state.groups.byId[group] = __spreadProps(__spreadValues({}, maybeExistingGroup), {
|
|
94
87
|
deviceIds: [...maybeExistingGroup.deviceIds, ...deviceIds].filter(duplicateFilter),
|
|
95
88
|
total: (maybeExistingGroup.total || 0) + 1
|
|
96
|
-
};
|
|
89
|
+
});
|
|
97
90
|
},
|
|
98
91
|
removeFromGroup: (state, action) => {
|
|
99
92
|
const { group, deviceIds: removedIds } = action.payload;
|
|
100
|
-
const { deviceIds = [], total = 0,
|
|
101
|
-
const changedGroup = {
|
|
102
|
-
|
|
103
|
-
deviceIds: deviceIds.filter(id => !removedIds.includes(id)),
|
|
93
|
+
const _a = state.groups.byId[group] || {}, { deviceIds = [], total = 0 } = _a, maybeExistingGroup = __objRest(_a, ["deviceIds", "total"]);
|
|
94
|
+
const changedGroup = __spreadProps(__spreadValues({}, maybeExistingGroup), {
|
|
95
|
+
deviceIds: deviceIds.filter((id) => !removedIds.includes(id)),
|
|
104
96
|
total: Math.max(total - removedIds.length, 0)
|
|
105
|
-
};
|
|
97
|
+
});
|
|
106
98
|
if (changedGroup.total || changedGroup.deviceIds.length) {
|
|
107
99
|
state.groups.byId[group] = changedGroup;
|
|
108
100
|
return;
|
|
109
101
|
} else if (state.groups.selectedGroup === group) {
|
|
110
|
-
state.groups.selectedGroup =
|
|
102
|
+
state.groups.selectedGroup = void 0;
|
|
111
103
|
}
|
|
112
|
-
|
|
113
|
-
const { [group]: removal, ...remainingById } = state.groups.byId;
|
|
104
|
+
const _b = state.groups.byId, { [group]: removal } = _b, remainingById = __objRest(_b, [__restKey(group)]);
|
|
114
105
|
state.groups.byId = remainingById;
|
|
115
106
|
},
|
|
116
107
|
addGroup: (state, action) => {
|
|
117
108
|
const { groupName, group } = action.payload;
|
|
118
|
-
state.groups.byId[groupName] = {
|
|
119
|
-
...state.groups.byId[groupName],
|
|
120
|
-
...group
|
|
121
|
-
};
|
|
109
|
+
state.groups.byId[groupName] = __spreadValues(__spreadValues({}, state.groups.byId[groupName]), group);
|
|
122
110
|
},
|
|
123
111
|
selectGroup: (state, { payload: group }) => {
|
|
124
112
|
state.deviceList.deviceIds = state.groups.byId[group] && state.groups.byId[group].deviceIds.length > 0 ? state.groups.byId[group].deviceIds : [];
|
|
125
113
|
state.groups.selectedGroup = group;
|
|
126
114
|
},
|
|
127
115
|
removeGroup: (state, action) => {
|
|
128
|
-
|
|
129
|
-
const { [action.payload]: removal,
|
|
116
|
+
var _a;
|
|
117
|
+
const _b = state.groups.byId, { [_a = action.payload]: removal } = _b, remainingById = __objRest(_b, [__restKey(_a)]);
|
|
130
118
|
state.groups.byId = remainingById;
|
|
131
|
-
state.groups.selectedGroup = state.groups.selectedGroup === action.payload ?
|
|
119
|
+
state.groups.selectedGroup = state.groups.selectedGroup === action.payload ? void 0 : state.groups.selectedGroup;
|
|
132
120
|
},
|
|
133
121
|
setDeviceListState: (state, action) => {
|
|
134
|
-
state.deviceList = {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
sort: {
|
|
138
|
-
...state.deviceList.sort,
|
|
139
|
-
...action.payload.sort
|
|
140
|
-
}
|
|
141
|
-
};
|
|
122
|
+
state.deviceList = __spreadProps(__spreadValues(__spreadValues({}, state.deviceList), action.payload), {
|
|
123
|
+
sort: __spreadValues(__spreadValues({}, state.deviceList.sort), action.payload.sort)
|
|
124
|
+
});
|
|
142
125
|
},
|
|
143
126
|
setFilterAttributes: (state, action) => {
|
|
144
127
|
state.filteringAttributes = action.payload;
|
|
@@ -147,16 +130,13 @@ export const devicesSlice = createSlice({
|
|
|
147
130
|
state.filteringAttributesConfig = action.payload;
|
|
148
131
|
},
|
|
149
132
|
receivedDevices: (state, action) => {
|
|
150
|
-
state.byId = {
|
|
151
|
-
...state.byId,
|
|
152
|
-
...action.payload
|
|
153
|
-
};
|
|
133
|
+
state.byId = __spreadValues(__spreadValues({}, state.byId), action.payload);
|
|
154
134
|
},
|
|
155
135
|
setDeviceFilters: (state, action) => {
|
|
156
136
|
if (deepCompare(action.payload, state.filters)) {
|
|
157
137
|
return;
|
|
158
138
|
}
|
|
159
|
-
state.filters = action.payload.filter(filter => filter.key && filter.operator && filter.scope && typeof filter.value !==
|
|
139
|
+
state.filters = action.payload.filter((filter) => filter.key && filter.operator && filter.scope && typeof filter.value !== "undefined");
|
|
160
140
|
},
|
|
161
141
|
setInactiveDevices: (state, action) => {
|
|
162
142
|
const { activeDeviceTotal, inactiveDeviceTotal } = action.payload;
|
|
@@ -181,27 +161,27 @@ export const devicesSlice = createSlice({
|
|
|
181
161
|
state.limit = action.payload;
|
|
182
162
|
},
|
|
183
163
|
receivedDevice: (state, action) => {
|
|
184
|
-
state.byId[action.payload.id] = {
|
|
185
|
-
...state.byId[action.payload.id],
|
|
186
|
-
...action.payload
|
|
187
|
-
};
|
|
164
|
+
state.byId[action.payload.id] = __spreadValues(__spreadValues({}, state.byId[action.payload.id]), action.payload);
|
|
188
165
|
},
|
|
189
166
|
maybeUpdateDevicesByStatus: (state, action) => {
|
|
190
167
|
const { deviceId, authId } = action.payload;
|
|
191
168
|
const device = state.byId[deviceId];
|
|
192
|
-
const hasMultipleAuthSets = authId ? device.auth_sets.filter(authset => authset.id !== authId).length > 0 : false;
|
|
169
|
+
const hasMultipleAuthSets = authId ? device.auth_sets.filter((authset) => authset.id !== authId).length > 0 : false;
|
|
193
170
|
if (!hasMultipleAuthSets && Object.values(DEVICE_STATES).includes(device.status)) {
|
|
194
|
-
const deviceIds = state.byStatus[device.status].deviceIds.filter(id => id !== deviceId);
|
|
171
|
+
const deviceIds = state.byStatus[device.status].deviceIds.filter((id) => id !== deviceId);
|
|
195
172
|
state.byStatus[device.status] = { deviceIds, total: Math.max(0, state.byStatus[device.status].total - 1) };
|
|
196
173
|
}
|
|
197
174
|
}
|
|
198
175
|
}
|
|
199
|
-
// The following would likely be the way to go with a simpler store setup, but ours seems too entangled for this to provide much benefit
|
|
200
|
-
// import * as actionCreators from './thunks';
|
|
201
|
-
// extraReducers: {
|
|
202
|
-
// [actionCreators.setDeviceListState.fulfilled]: setDeviceListState
|
|
203
|
-
// }
|
|
204
176
|
});
|
|
177
|
+
var actions = devicesSlice.actions;
|
|
178
|
+
var devicesSlice_default = devicesSlice.reducer;
|
|
205
179
|
|
|
206
|
-
export
|
|
207
|
-
|
|
180
|
+
export {
|
|
181
|
+
sliceName,
|
|
182
|
+
initialState,
|
|
183
|
+
devicesSlice,
|
|
184
|
+
actions,
|
|
185
|
+
devicesSlice_default
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=chunk-HRWZJQMH.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/devicesSlice/index.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.\n// @ts-nocheck\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '@northern.tech/store/commonConstants';\nimport { deepCompare, duplicateFilter } from '@northern.tech/utils/helpers';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_STATES } from './constants';\n\nexport const sliceName = 'devices';\n\nexport const initialState = {\n byId: {\n // [deviceId]: {\n // ...,\n // twinsByIntegration: { [external.provider.id]: twinData }\n // }\n },\n byStatus: {\n [DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },\n active: { deviceIds: [], total: 0 },\n inactive: { deviceIds: [], total: 0 },\n [DEVICE_STATES.pending]: { deviceIds: [], total: 0 },\n [DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },\n [DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }\n },\n deviceList: {\n deviceIds: [],\n ...DEVICE_LIST_DEFAULTS,\n selectedAttributes: [],\n selectedIssues: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc\n // key: null,\n // scope: null\n },\n state: DEVICE_STATES.accepted,\n total: 0\n },\n filters: [\n // { key: 'device_type', value: 'raspberry', operator: '$eq', scope: 'inventory' }\n ],\n filteringAttributes: { identityAttributes: [], inventoryAttributes: [], systemAttributes: [], tagAttributes: [] },\n filteringAttributesLimit: 10,\n filteringAttributesConfig: {\n attributes: {\n // inventory: ['some_attribute']\n },\n count: 0,\n limit: 100\n },\n reports: [\n // { items: [{ key: \"someKey\", count: 42 }], otherCount: 123, total: <otherCount + itemsCount> }\n ],\n total: 0,\n limit: 0,\n groups: {\n byId: {\n // groupName: { deviceIds: [], total: 0, filters: [] },\n // dynamo: { deviceIds: [], total: 3, filters: [{ a: 1 }] }\n },\n selectedGroup: undefined\n }\n};\n\nexport const devicesSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receivedGroups: (state, action) => {\n state.groups.byId = action.payload;\n },\n addToGroup: (state, action) => {\n const { group, deviceIds } = action.payload;\n const maybeExistingGroup = {\n filters: [],\n deviceIds: [],\n ...state.groups.byId[group]\n };\n state.groups.byId[group] = {\n ...maybeExistingGroup,\n deviceIds: [...maybeExistingGroup.deviceIds, ...deviceIds].filter(duplicateFilter),\n total: (maybeExistingGroup.total || 0) + 1\n };\n },\n removeFromGroup: (state, action) => {\n const { group, deviceIds: removedIds } = action.payload;\n const { deviceIds = [], total = 0, ...maybeExistingGroup } = state.groups.byId[group] || {};\n const changedGroup = {\n ...maybeExistingGroup,\n deviceIds: deviceIds.filter(id => !removedIds.includes(id)),\n total: Math.max(total - removedIds.length, 0)\n };\n if (changedGroup.total || changedGroup.deviceIds.length) {\n state.groups.byId[group] = changedGroup;\n return;\n } else if (state.groups.selectedGroup === group) {\n state.groups.selectedGroup = undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [group]: removal, ...remainingById } = state.groups.byId;\n state.groups.byId = remainingById;\n },\n addGroup: (state, action) => {\n const { groupName, group } = action.payload;\n state.groups.byId[groupName] = {\n ...state.groups.byId[groupName],\n ...group\n };\n },\n selectGroup: (state, { payload: group }) => {\n state.deviceList.deviceIds = state.groups.byId[group] && state.groups.byId[group].deviceIds.length > 0 ? state.groups.byId[group].deviceIds : [];\n state.groups.selectedGroup = group;\n },\n removeGroup: (state, action) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removal, ...remainingById } = state.groups.byId;\n state.groups.byId = remainingById;\n state.groups.selectedGroup = state.groups.selectedGroup === action.payload ? undefined : state.groups.selectedGroup;\n },\n setDeviceListState: (state, action) => {\n state.deviceList = {\n ...state.deviceList,\n ...action.payload,\n sort: {\n ...state.deviceList.sort,\n ...action.payload.sort\n }\n };\n },\n setFilterAttributes: (state, action) => {\n state.filteringAttributes = action.payload;\n },\n setFilterablesConfig: (state, action) => {\n state.filteringAttributesConfig = action.payload;\n },\n receivedDevices: (state, action) => {\n state.byId = {\n ...state.byId,\n ...action.payload\n };\n },\n setDeviceFilters: (state, action) => {\n if (deepCompare(action.payload, state.filters)) {\n return;\n }\n state.filters = action.payload.filter(filter => filter.key && filter.operator && filter.scope && typeof filter.value !== 'undefined');\n },\n setInactiveDevices: (state, action) => {\n const { activeDeviceTotal, inactiveDeviceTotal } = action.payload;\n state.byStatus.active.total = activeDeviceTotal;\n state.byStatus.inactive.total = inactiveDeviceTotal;\n },\n setDeviceReports: (state, action) => {\n state.reports = action.payload;\n },\n setDevicesByStatus: (state, action) => {\n const { forceUpdate, status, total, deviceIds } = action.payload;\n state.byStatus[status] = total || forceUpdate ? { deviceIds, total } : state.byStatus[status];\n },\n setDevicesCountByStatus: (state, action) => {\n const { count, status } = action.payload;\n state.byStatus[status].total = count;\n },\n setTotalDevices: (state, action) => {\n state.total = action.payload;\n },\n setDeviceLimit: (state, action) => {\n state.limit = action.payload;\n },\n receivedDevice: (state, action) => {\n state.byId[action.payload.id] = {\n ...state.byId[action.payload.id],\n ...action.payload\n };\n },\n maybeUpdateDevicesByStatus: (state, action) => {\n const { deviceId, authId } = action.payload;\n const device = state.byId[deviceId];\n const hasMultipleAuthSets = authId ? device.auth_sets.filter(authset => authset.id !== authId).length > 0 : false;\n if (!hasMultipleAuthSets && Object.values(DEVICE_STATES).includes(device.status)) {\n const deviceIds = state.byStatus[device.status].deviceIds.filter(id => id !== deviceId);\n state.byStatus[device.status] = { deviceIds, total: Math.max(0, state.byStatus[device.status].total - 1) };\n }\n }\n }\n});\n\nexport const actions = devicesSlice.actions;\nexport default devicesSlice.reducer;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EXTERNAL_PROVIDER
|
|
3
|
+
} from "./chunk-G3I53JGW.mjs";
|
|
4
|
+
|
|
5
|
+
// src/organizationSlice/selectors.ts
|
|
6
|
+
import { createSelector } from "@reduxjs/toolkit";
|
|
7
|
+
var getOrganization = (state) => state.organization.organization;
|
|
8
|
+
var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
|
|
9
|
+
var getAuditlogState = (state) => state.organization.auditlog.selectionState;
|
|
10
|
+
var getAuditLog = (state) => state.organization.auditlog.events;
|
|
11
|
+
var getAuditLogSelectionState = (state) => state.organization.auditlog.selectionState;
|
|
12
|
+
var getSsoConfig = ({ organization: { ssoConfigs = [] } }) => ssoConfigs[0];
|
|
13
|
+
var getTenantsList = (state) => state.organization.organization.tenantList;
|
|
14
|
+
var getWebhookEvents = (state) => state.organization.webhooks.events;
|
|
15
|
+
var getWebhookEventTotal = (state) => state.organization.webhooks.eventTotal;
|
|
16
|
+
var getDeviceTwinIntegrations = createSelector(
|
|
17
|
+
[getExternalIntegrations],
|
|
18
|
+
(integrations) => integrations.filter((integration) => {
|
|
19
|
+
var _a;
|
|
20
|
+
return integration.id && ((_a = EXTERNAL_PROVIDER[integration.provider]) == null ? void 0 : _a.deviceTwin);
|
|
21
|
+
})
|
|
22
|
+
);
|
|
23
|
+
var getIsServiceProvider = (state) => state.organization.organization.service_provider;
|
|
24
|
+
var getWebhooks = createSelector(
|
|
25
|
+
[getExternalIntegrations],
|
|
26
|
+
(integrations) => integrations.filter((integration) => integration.id && integration.provider === EXTERNAL_PROVIDER.webhook.provider)
|
|
27
|
+
);
|
|
28
|
+
var getWebhookEventInfo = createSelector(
|
|
29
|
+
[getWebhooks, getWebhookEvents, getWebhookEventTotal],
|
|
30
|
+
(webhooks, events, eventTotal) => webhooks.length ? { events, eventTotal } : { events: [], eventTotal: 0 }
|
|
31
|
+
);
|
|
32
|
+
var getAuditLogEntry = createSelector([getAuditLog, getAuditLogSelectionState], (events, { selectedId }) => {
|
|
33
|
+
if (!selectedId) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const [eventAction, eventTime] = atob(selectedId).split("|");
|
|
37
|
+
return events.find((item) => item.action === eventAction && item.time === eventTime);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export {
|
|
41
|
+
getOrganization,
|
|
42
|
+
getExternalIntegrations,
|
|
43
|
+
getAuditlogState,
|
|
44
|
+
getAuditLog,
|
|
45
|
+
getAuditLogSelectionState,
|
|
46
|
+
getSsoConfig,
|
|
47
|
+
getTenantsList,
|
|
48
|
+
getWebhookEvents,
|
|
49
|
+
getWebhookEventTotal,
|
|
50
|
+
getDeviceTwinIntegrations,
|
|
51
|
+
getIsServiceProvider,
|
|
52
|
+
getWebhooks,
|
|
53
|
+
getWebhookEventInfo,
|
|
54
|
+
getAuditLogEntry
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-HVHZG2H4.mjs.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 { EXTERNAL_PROVIDER } from '@northern.tech/store/constants';\nimport { createSelector } from '@reduxjs/toolkit';\n\nexport const getOrganization = state => state.organization.organization;\nexport const getExternalIntegrations = state => state.organization.externalDeviceIntegrations;\nexport const getAuditlogState = state => state.organization.auditlog.selectionState;\nexport const getAuditLog = state => state.organization.auditlog.events;\nexport const getAuditLogSelectionState = state => state.organization.auditlog.selectionState;\nexport const getSsoConfig = ({ organization: { ssoConfigs = [] } }) => ssoConfigs[0];\nexport const getTenantsList = state => state.organization.organization.tenantList;\nexport const getWebhookEvents = state => state.organization.webhooks.events;\nexport const getWebhookEventTotal = state => state.organization.webhooks.eventTotal;\n\nexport const getDeviceTwinIntegrations = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)\n);\nexport const getIsServiceProvider = state => 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"],"mappings":";;;;;AAcA,SAAS,sBAAsB;AAExB,IAAM,kBAAkB,WAAS,MAAM,aAAa;AACpD,IAAM,0BAA0B,WAAS,MAAM,aAAa;AAC5D,IAAM,mBAAmB,WAAS,MAAM,aAAa,SAAS;AAC9D,IAAM,cAAc,WAAS,MAAM,aAAa,SAAS;AACzD,IAAM,4BAA4B,WAAS,MAAM,aAAa,SAAS;AACvE,IAAM,eAAe,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC;AAC5E,IAAM,iBAAiB,WAAS,MAAM,aAAa,aAAa;AAChE,IAAM,mBAAmB,WAAS,MAAM,aAAa,SAAS;AAC9D,IAAM,uBAAuB,WAAS,MAAM,aAAa,SAAS;AAElE,IAAM,4BAA4B;AAAA,EAAe,CAAC,uBAAuB;AAAA,EAAG,kBACjF,aAAa,OAAO,iBAAY;AA3BlC;AA2BqC,uBAAY,QAAM,uBAAkB,YAAY,QAAQ,MAAtC,mBAAyC;AAAA,GAAU;AAC1G;AACO,IAAM,uBAAuB,WAAS,MAAM,aAAa,aAAa;AAEtE,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;","names":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TIMEOUTS
|
|
3
|
+
} from "./chunk-G3I53JGW.mjs";
|
|
4
|
+
import {
|
|
5
|
+
__spreadValues
|
|
6
|
+
} from "./chunk-XWBD7VOK.mjs";
|
|
7
|
+
|
|
8
|
+
// src/auth.ts
|
|
9
|
+
import Cookies from "universal-cookie";
|
|
10
|
+
var cookies = new Cookies();
|
|
11
|
+
var emptySession = Object.freeze({ token: "", exiresAt: void 0 });
|
|
12
|
+
var tokenCache = "";
|
|
13
|
+
var getSessionInfo = () => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
let sessionInfo = __spreadValues({}, emptySession);
|
|
16
|
+
try {
|
|
17
|
+
sessionInfo = JSON.parse((_a = window.localStorage.getItem("JWT")) != null ? _a : "");
|
|
18
|
+
} catch (e) {
|
|
19
|
+
}
|
|
20
|
+
if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < /* @__PURE__ */ new Date()) {
|
|
21
|
+
cleanUp();
|
|
22
|
+
return __spreadValues({}, emptySession);
|
|
23
|
+
}
|
|
24
|
+
if (!sessionInfo.token) {
|
|
25
|
+
let jwtTokenFromCookie = (_b = cookies.get("JWT", { doNotParse: true })) != null ? _b : "";
|
|
26
|
+
if (jwtTokenFromCookie) {
|
|
27
|
+
setSessionInfo({ token: jwtTokenFromCookie, undefined: void 0 });
|
|
28
|
+
sessionInfo.token = jwtTokenFromCookie;
|
|
29
|
+
cookies.remove("JWT");
|
|
30
|
+
cookies.remove("JWT", { path: "/" });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
sessionInfo.token = sessionInfo.token || void 0;
|
|
34
|
+
tokenCache = sessionInfo.token;
|
|
35
|
+
return sessionInfo;
|
|
36
|
+
};
|
|
37
|
+
var getToken = () => tokenCache ? tokenCache : getSessionInfo().token;
|
|
38
|
+
var setSessionInfo = ({ token, expiresAt }) => {
|
|
39
|
+
tokenCache = token;
|
|
40
|
+
window.localStorage.setItem("JWT", JSON.stringify({ token, expiresAt }));
|
|
41
|
+
};
|
|
42
|
+
var cleanUp = () => {
|
|
43
|
+
tokenCache = "";
|
|
44
|
+
cookies.remove("JWT");
|
|
45
|
+
cookies.remove("JWT", { path: "/" });
|
|
46
|
+
window.localStorage.removeItem("JWT");
|
|
47
|
+
window.localStorage.removeItem("oauth");
|
|
48
|
+
};
|
|
49
|
+
var maxSessionAge = 900;
|
|
50
|
+
var updateMaxAge = ({ expiresAt, token }) => {
|
|
51
|
+
const oAuthExpiration = Number(window.localStorage.getItem("oauth"));
|
|
52
|
+
let updateWithOAuth = false;
|
|
53
|
+
if (oAuthExpiration) {
|
|
54
|
+
const soon = Date.now() + maxSessionAge * TIMEOUTS.oneSecond;
|
|
55
|
+
updateWithOAuth = oAuthExpiration <= soon;
|
|
56
|
+
if (updateWithOAuth) {
|
|
57
|
+
window.localStorage.removeItem("oauth");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (token && expiresAt && (!oAuthExpiration || updateWithOAuth)) {
|
|
61
|
+
const expiration = /* @__PURE__ */ new Date();
|
|
62
|
+
expiration.setSeconds(expiration.getSeconds() + maxSessionAge);
|
|
63
|
+
setSessionInfo({ token, expiresAt: expiration.toISOString() });
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export {
|
|
68
|
+
getSessionInfo,
|
|
69
|
+
getToken,
|
|
70
|
+
setSessionInfo,
|
|
71
|
+
cleanUp,
|
|
72
|
+
maxSessionAge,
|
|
73
|
+
updateMaxAge
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=chunk-HXPYJ6QN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/auth.ts"],"sourcesContent":["// Copyright 2016 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.\n// @ts-nocheck\nimport Cookies from 'universal-cookie';\n\nimport { TIMEOUTS } from './constants';\n\nconst cookies = new Cookies();\n\nconst emptySession = Object.freeze({ token: '', exiresAt: undefined });\n\nlet tokenCache = '';\n\nexport const getSessionInfo = () => {\n let sessionInfo = { ...emptySession };\n try {\n sessionInfo = JSON.parse(window.localStorage.getItem('JWT') ?? '');\n } catch {\n // most likely not logged in - nothing to do here\n }\n if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < new Date()) {\n cleanUp();\n return { ...emptySession };\n }\n if (!sessionInfo.token) {\n let jwtTokenFromCookie = cookies.get('JWT', { doNotParse: true }) ?? '';\n if (jwtTokenFromCookie) {\n setSessionInfo({ token: jwtTokenFromCookie, undefined });\n sessionInfo.token = jwtTokenFromCookie;\n cookies.remove('JWT');\n cookies.remove('JWT', { path: '/' });\n }\n }\n sessionInfo.token = sessionInfo.token || undefined;\n tokenCache = sessionInfo.token;\n return sessionInfo;\n};\n\nexport const getToken = () => (tokenCache ? tokenCache : getSessionInfo().token);\n\nexport const setSessionInfo = ({ token, expiresAt }) => {\n tokenCache = token;\n window.localStorage.setItem('JWT', JSON.stringify({ token, expiresAt }));\n};\n\nexport const cleanUp = () => {\n tokenCache = '';\n cookies.remove('JWT');\n cookies.remove('JWT', { path: '/' });\n window.localStorage.removeItem('JWT');\n window.localStorage.removeItem('oauth');\n};\n\nexport const maxSessionAge = 900;\n\nexport const updateMaxAge = ({ expiresAt, token }) => {\n const oAuthExpiration = Number(window.localStorage.getItem('oauth'));\n let updateWithOAuth = false;\n if (oAuthExpiration) {\n const soon = Date.now() + maxSessionAge * TIMEOUTS.oneSecond;\n updateWithOAuth = oAuthExpiration <= soon;\n if (updateWithOAuth) {\n window.localStorage.removeItem('oauth');\n }\n }\n if (token && expiresAt && (!oAuthExpiration || updateWithOAuth)) {\n const expiration = new Date();\n expiration.setSeconds(expiration.getSeconds() + maxSessionAge);\n setSessionInfo({ token, expiresAt: expiration.toISOString() });\n }\n};\n"],"mappings":";;;;;;;;AAcA,OAAO,aAAa;AAIpB,IAAM,UAAU,IAAI,QAAQ;AAE5B,IAAM,eAAe,OAAO,OAAO,EAAE,OAAO,IAAI,UAAU,OAAU,CAAC;AAErE,IAAI,aAAa;AAEV,IAAM,iBAAiB,MAAM;AAxBpC;AAyBE,MAAI,cAAc,mBAAK;AACvB,MAAI;AACF,kBAAc,KAAK,OAAM,YAAO,aAAa,QAAQ,KAAK,MAAjC,YAAsC,EAAE;AAAA,EACnE,SAAQ;AAAA,EAER;AACA,MAAI,YAAY,aAAa,IAAI,KAAK,YAAY,SAAS,IAAI,oBAAI,KAAK,GAAG;AACzE,YAAQ;AACR,WAAO,mBAAK;AAAA,EACd;AACA,MAAI,CAAC,YAAY,OAAO;AACtB,QAAI,sBAAqB,aAAQ,IAAI,OAAO,EAAE,YAAY,KAAK,CAAC,MAAvC,YAA4C;AACrE,QAAI,oBAAoB;AACtB,qBAAe,EAAE,OAAO,oBAAoB,kBAAU,CAAC;AACvD,kBAAY,QAAQ;AACpB,cAAQ,OAAO,KAAK;AACpB,cAAQ,OAAO,OAAO,EAAE,MAAM,IAAI,CAAC;AAAA,IACrC;AAAA,EACF;AACA,cAAY,QAAQ,YAAY,SAAS;AACzC,eAAa,YAAY;AACzB,SAAO;AACT;AAEO,IAAM,WAAW,MAAO,aAAa,aAAa,eAAe,EAAE;AAEnE,IAAM,iBAAiB,CAAC,EAAE,OAAO,UAAU,MAAM;AACtD,eAAa;AACb,SAAO,aAAa,QAAQ,OAAO,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;AACzE;AAEO,IAAM,UAAU,MAAM;AAC3B,eAAa;AACb,UAAQ,OAAO,KAAK;AACpB,UAAQ,OAAO,OAAO,EAAE,MAAM,IAAI,CAAC;AACnC,SAAO,aAAa,WAAW,KAAK;AACpC,SAAO,aAAa,WAAW,OAAO;AACxC;AAEO,IAAM,gBAAgB;AAEtB,IAAM,eAAe,CAAC,EAAE,WAAW,MAAM,MAAM;AACpD,QAAM,kBAAkB,OAAO,OAAO,aAAa,QAAQ,OAAO,CAAC;AACnE,MAAI,kBAAkB;AACtB,MAAI,iBAAiB;AACnB,UAAM,OAAO,KAAK,IAAI,IAAI,gBAAgB,SAAS;AACnD,sBAAkB,mBAAmB;AACrC,QAAI,iBAAiB;AACnB,aAAO,aAAa,WAAW,OAAO;AAAA,IACxC;AAAA,EACF;AACA,MAAI,SAAS,cAAc,CAAC,mBAAmB,kBAAkB;AAC/D,UAAM,aAAa,oBAAI,KAAK;AAC5B,eAAW,WAAW,WAAW,WAAW,IAAI,aAAa;AAC7D,mBAAe,EAAE,OAAO,WAAW,WAAW,YAAY,EAAE,CAAC;AAAA,EAC/D;AACF;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
actions as actions8
|
|
3
|
+
} from "./chunk-BJSH2G7W.mjs";
|
|
4
|
+
import {
|
|
5
|
+
actions as actions6
|
|
6
|
+
} from "./chunk-TD45YTYK.mjs";
|
|
7
|
+
import {
|
|
8
|
+
actions as actions7
|
|
9
|
+
} from "./chunk-7E7KJHY3.mjs";
|
|
10
|
+
import {
|
|
11
|
+
actions as actions4
|
|
12
|
+
} from "./chunk-RH6ONMG7.mjs";
|
|
13
|
+
import {
|
|
14
|
+
actions as actions5
|
|
15
|
+
} from "./chunk-M4U5R7A4.mjs";
|
|
16
|
+
import {
|
|
17
|
+
actions as actions2
|
|
18
|
+
} from "./chunk-6667TCAJ.mjs";
|
|
19
|
+
import {
|
|
20
|
+
actions as actions3
|
|
21
|
+
} from "./chunk-HRWZJQMH.mjs";
|
|
22
|
+
import {
|
|
23
|
+
actions
|
|
24
|
+
} from "./chunk-F37LUTBX.mjs";
|
|
25
|
+
import {
|
|
26
|
+
__spreadValues
|
|
27
|
+
} from "./chunk-XWBD7VOK.mjs";
|
|
28
|
+
|
|
29
|
+
// src/actions.ts
|
|
30
|
+
var actions_default = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, actions), actions2), actions3), actions4), actions5), actions6), actions7), actions8);
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
actions_default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk-IPPIKGIB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/actions.ts"],"sourcesContent":["// Copyright 2024 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 { actions as appActions } from './appSlice';\nimport { actions as deploymentActions } from './deploymentsSlice';\nimport { actions as devicesActions } from './devicesSlice';\nimport { actions as monitorActions } from './monitorSlice';\nimport { actions as onboardingActions } from './onboardingSlice';\nimport { actions as organizationActions } from './organizationSlice';\nimport { actions as releaseActions } from './releasesSlice';\nimport { actions as userActions } from './usersSlice';\n\nexport default {\n ...appActions,\n ...deploymentActions,\n ...devicesActions,\n ...monitorActions,\n ...onboardingActions,\n ...organizationActions,\n ...releaseActions,\n ...userActions\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAO,kBAAQ,4HACV,UACAA,WACAA,WACAA,WACAA,WACAA,WACAA,WACAA;","names":["actions"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// src/onboardingSlice/constants.ts
|
|
2
|
+
var onboardingSteps = {
|
|
3
|
+
ONBOARDING_START: "onboarding-start",
|
|
4
|
+
DEVICES_PENDING_ONBOARDING_START: "devices-pending-onboarding-start",
|
|
5
|
+
DASHBOARD_ONBOARDING_START: "dashboard-onboarding-start",
|
|
6
|
+
DASHBOARD_ONBOARDING_PENDINGS: "dashboard-onboarding-pendings",
|
|
7
|
+
DEVICES_DELAYED_ONBOARDING: "devices-delayed-onboarding",
|
|
8
|
+
DEVICES_PENDING_ONBOARDING: "devices-pending-onboarding",
|
|
9
|
+
DEVICES_ACCEPTED_ONBOARDING: "devices-accepted-onboarding",
|
|
10
|
+
DEVICES_PENDING_ACCEPTING_ONBOARDING: "devices-pending-accepting-onboarding",
|
|
11
|
+
DEVICES_DEPLOY_RELEASE_ONBOARDING: "devices-deploy-release-onboarding",
|
|
12
|
+
SCHEDULING_ARTIFACT_SELECTION: "scheduling-artifact-selection",
|
|
13
|
+
SCHEDULING_ALL_DEVICES_SELECTION: "scheduling-all-devices-selection",
|
|
14
|
+
SCHEDULING_GROUP_SELECTION: "scheduling-group-selection",
|
|
15
|
+
SCHEDULING_RELEASE_TO_DEVICES: "scheduling-release-to-devices",
|
|
16
|
+
DEPLOYMENTS_INPROGRESS: "deployments-inprogress",
|
|
17
|
+
DEPLOYMENTS_PAST: "deployments-past",
|
|
18
|
+
DEPLOYMENTS_PAST_COMPLETED: "deployments-past-completed",
|
|
19
|
+
DEPLOYMENTS_PAST_COMPLETED_FAILURE: "deployments-past-completed-failure",
|
|
20
|
+
ONBOARDING_CANCELED: "onboarding-canceled"
|
|
21
|
+
};
|
|
22
|
+
var orderedOnboardingSteps = [
|
|
23
|
+
onboardingSteps.DASHBOARD_ONBOARDING_START,
|
|
24
|
+
onboardingSteps.DEVICES_PENDING_ONBOARDING_START,
|
|
25
|
+
onboardingSteps.DEVICES_DELAYED_ONBOARDING,
|
|
26
|
+
onboardingSteps.DEVICES_PENDING_ONBOARDING,
|
|
27
|
+
onboardingSteps.DEVICES_PENDING_ACCEPTING_ONBOARDING,
|
|
28
|
+
onboardingSteps.DASHBOARD_ONBOARDING_PENDINGS,
|
|
29
|
+
onboardingSteps.DEVICES_ACCEPTED_ONBOARDING,
|
|
30
|
+
onboardingSteps.DEVICES_DEPLOY_RELEASE_ONBOARDING,
|
|
31
|
+
onboardingSteps.SCHEDULING_ALL_DEVICES_SELECTION,
|
|
32
|
+
onboardingSteps.SCHEDULING_GROUP_SELECTION,
|
|
33
|
+
onboardingSteps.SCHEDULING_ARTIFACT_SELECTION,
|
|
34
|
+
onboardingSteps.SCHEDULING_RELEASE_TO_DEVICES,
|
|
35
|
+
onboardingSteps.DEPLOYMENTS_INPROGRESS,
|
|
36
|
+
onboardingSteps.DEPLOYMENTS_PAST,
|
|
37
|
+
onboardingSteps.DEPLOYMENTS_PAST_COMPLETED,
|
|
38
|
+
onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE,
|
|
39
|
+
onboardingSteps.ONBOARDING_CANCELED
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
onboardingSteps,
|
|
44
|
+
orderedOnboardingSteps
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=chunk-IU4OXOPA.mjs.map
|