@northern.tech/store 0.5.2 → 0.5.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.cjs +47 -0
- package/dist/actions.cjs.map +1 -1
- package/dist/actions.d.cts +6 -2
- package/dist/actions.d.ts +6 -2
- package/dist/actions.js +10 -10
- package/dist/api/general-api.cjs +1 -1
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.d.cts +8 -8
- package/dist/api/general-api.d.ts +8 -8
- package/dist/api/general-api.js +4 -4
- package/dist/api/users-api.cjs +1 -1
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.d.cts +1 -1
- package/dist/api/users-api.d.ts +1 -1
- package/dist/api/users-api.js +5 -5
- package/dist/appSlice/constants.cjs +1 -0
- package/dist/appSlice/constants.cjs.map +1 -1
- package/dist/appSlice/constants.d.cts +5 -0
- package/dist/appSlice/constants.d.ts +5 -0
- package/dist/appSlice/constants.js +1 -1
- package/dist/appSlice/index.cjs +1 -0
- package/dist/appSlice/index.cjs.map +1 -1
- package/dist/appSlice/index.js +3 -3
- package/dist/appSlice/mocks.cjs +1 -0
- package/dist/appSlice/mocks.cjs.map +1 -1
- package/dist/appSlice/mocks.js +3 -3
- package/dist/appSlice/thunks.cjs +76 -20
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.js +25 -25
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.js +3 -3
- package/dist/{chunk-MZNANSS2.js → chunk-4DOSYAJY.js} +2 -2
- package/dist/{chunk-R6KRH2IY.js → chunk-4UJXT6RF.js} +3 -3
- package/dist/{chunk-VUFRP6P3.js → chunk-5HYHE4HO.js} +2 -2
- package/dist/chunk-5HYHE4HO.js.map +1 -0
- package/dist/{chunk-ZJW3QIPM.js → chunk-66NK2ZV2.js} +2 -2
- package/dist/{chunk-PGFVHKP5.js → chunk-AVCIWAZB.js} +2 -2
- package/dist/{chunk-RS37Y2PQ.js → chunk-BNSSPYCA.js} +4 -4
- package/dist/chunk-BNSSPYCA.js.map +1 -0
- package/dist/{chunk-UE5N5VO3.js → chunk-CEEXZF5E.js} +3 -3
- package/dist/{chunk-UGSLGUS6.js → chunk-CWZKWW74.js} +2 -2
- package/dist/{chunk-3P3IE42O.js → chunk-DE25YP6N.js} +62 -54
- package/dist/chunk-DE25YP6N.js.map +1 -0
- package/dist/{chunk-QYLGIR4W.js → chunk-DXJ2WS3N.js} +3 -2
- package/dist/chunk-DXJ2WS3N.js.map +1 -0
- package/dist/{chunk-H5FAPMJJ.js → chunk-DYN7AU7R.js} +9 -9
- package/dist/{chunk-JXQUFKID.js → chunk-GRVTVLIZ.js} +7 -2
- package/dist/chunk-GRVTVLIZ.js.map +1 -0
- package/dist/{chunk-KC7SKI3U.js → chunk-HLTP624H.js} +8 -5
- package/dist/{chunk-KC7SKI3U.js.map → chunk-HLTP624H.js.map} +1 -1
- package/dist/{chunk-F26IKSML.js → chunk-I6JE3OLT.js} +8 -8
- package/dist/{chunk-ABJLRDCO.js → chunk-IY76MO6R.js} +2 -2
- package/dist/{chunk-V3QEONX7.js → chunk-J74LNK6P.js} +11 -11
- package/dist/{chunk-QKPV5RRN.js → chunk-JOK26PI7.js} +51 -18
- package/dist/chunk-JOK26PI7.js.map +1 -0
- package/dist/{chunk-KJNNEDRV.js → chunk-JZXNRDO2.js} +2 -2
- package/dist/{chunk-MSOXMRF7.js → chunk-KGSJ7CSA.js} +12 -3
- package/dist/{chunk-MSOXMRF7.js.map → chunk-KGSJ7CSA.js.map} +1 -1
- package/dist/{chunk-OOICURFL.js → chunk-KJJ47UIO.js} +48 -2
- package/dist/chunk-KJJ47UIO.js.map +1 -0
- package/dist/{chunk-7C4SQBEE.js → chunk-MRXTMI6O.js} +1 -1
- package/dist/chunk-MRXTMI6O.js.map +1 -0
- package/dist/{chunk-HFOTAPIJ.js → chunk-PY6ID7TL.js} +2 -1
- package/dist/chunk-PY6ID7TL.js.map +1 -0
- package/dist/{chunk-SCZLNFB5.js → chunk-VCTZ25Q5.js} +9 -9
- package/dist/{chunk-YY6SKZDF.js → chunk-W37ETKI6.js} +3 -12
- package/dist/chunk-W37ETKI6.js.map +1 -0
- package/dist/{chunk-QHK7GGV4.js → chunk-ZZ3YDCYZ.js} +3 -3
- package/dist/commonConstants.cjs.map +1 -1
- package/dist/commonConstants.d.cts +6 -5
- package/dist/commonConstants.d.ts +6 -5
- package/dist/commonConstants.js +2 -2
- package/dist/commonSelectors.cjs +8 -18
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.js +9 -9
- package/dist/constants.cjs +1 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +2 -2
- package/dist/deploymentsSlice/constants.js +2 -2
- package/dist/deploymentsSlice/index.cjs.map +1 -1
- package/dist/deploymentsSlice/index.d.cts +2 -2
- package/dist/deploymentsSlice/index.d.ts +2 -2
- package/dist/deploymentsSlice/index.js +3 -3
- package/dist/deploymentsSlice/mocks.cjs.map +1 -1
- package/dist/deploymentsSlice/mocks.js +3 -3
- package/dist/deploymentsSlice/selectors.cjs +6 -0
- package/dist/deploymentsSlice/selectors.cjs.map +1 -1
- package/dist/deploymentsSlice/selectors.d.cts +22 -1
- package/dist/deploymentsSlice/selectors.d.ts +22 -1
- package/dist/deploymentsSlice/selectors.js +5 -3
- package/dist/deploymentsSlice/thunks.cjs +78 -20
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.d.cts +14 -1
- package/dist/deploymentsSlice/thunks.d.ts +14 -1
- package/dist/deploymentsSlice/thunks.js +27 -25
- package/dist/devicesSlice/constants.js +2 -2
- package/dist/devicesSlice/index.js +3 -3
- package/dist/devicesSlice/mocks.js +3 -3
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.js +3 -3
- package/dist/devicesSlice/thunks.cjs +76 -20
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.js +25 -25
- package/dist/liststatehook.cjs +6 -3
- package/dist/liststatehook.cjs.map +1 -1
- package/dist/liststatehook.d.cts +4 -2
- package/dist/liststatehook.d.ts +4 -2
- package/dist/liststatehook.js +3 -3
- package/dist/locationutils.cjs +6 -3
- package/dist/locationutils.cjs.map +1 -1
- package/dist/locationutils.d.cts +3 -1
- package/dist/locationutils.d.ts +3 -1
- package/dist/locationutils.js +3 -3
- package/dist/monitorSlice/index.js +3 -3
- package/dist/monitorSlice/mocks.js +3 -3
- package/dist/monitorSlice/thunks.cjs +56 -9
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.js +21 -21
- package/dist/onboardingSlice/thunks.cjs +76 -20
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.js +25 -25
- package/dist/organizationSlice/constants.js +2 -2
- package/dist/organizationSlice/index.js +3 -3
- package/dist/organizationSlice/mocks.js +3 -3
- package/dist/organizationSlice/selectors.cjs +0 -20
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +1 -155
- package/dist/organizationSlice/selectors.d.ts +1 -155
- package/dist/organizationSlice/selectors.js +3 -5
- package/dist/organizationSlice/thunks.cjs +99 -43
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +5 -5
- package/dist/organizationSlice/thunks.d.ts +5 -5
- package/dist/organizationSlice/thunks.js +25 -25
- package/dist/releasesSlice/index.cjs +46 -0
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.d.cts +51 -3
- package/dist/releasesSlice/index.d.ts +51 -3
- package/dist/releasesSlice/index.js +3 -3
- package/dist/releasesSlice/mocks.cjs +46 -0
- package/dist/releasesSlice/mocks.cjs.map +1 -1
- package/dist/releasesSlice/mocks.d.cts +13 -0
- package/dist/releasesSlice/mocks.d.ts +13 -0
- package/dist/releasesSlice/mocks.js +3 -3
- package/dist/releasesSlice/selectors.cjs +13 -0
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.d.cts +186 -1
- package/dist/releasesSlice/selectors.d.ts +186 -1
- package/dist/releasesSlice/selectors.js +12 -4
- package/dist/releasesSlice/thunks.cjs +99 -17
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +68 -3
- package/dist/releasesSlice/thunks.d.ts +68 -3
- package/dist/releasesSlice/thunks.js +26 -22
- package/dist/selectors.cjs +19 -20
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +5 -3
- package/dist/selectors.d.ts +5 -3
- package/dist/selectors.js +19 -11
- package/dist/sockethook.cjs.map +1 -1
- package/dist/sockethook.js +2 -2
- package/dist/store.cjs +47 -0
- package/dist/store.cjs.map +1 -1
- package/dist/store.d.cts +11 -110
- package/dist/store.d.ts +11 -110
- package/dist/store.js +12 -12
- package/dist/storehooks.cjs +142 -54
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +26 -25
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +146 -53
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +3 -3
- package/dist/thunks.d.ts +3 -3
- package/dist/thunks.js +33 -27
- package/dist/useDeploymentDevice.cjs +76 -20
- package/dist/useDeploymentDevice.cjs.map +1 -1
- package/dist/useDeploymentDevice.js +25 -25
- package/dist/usersSlice/constants.js +2 -2
- package/dist/usersSlice/index.js +3 -3
- package/dist/usersSlice/mocks.js +3 -3
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.js +4 -4
- package/dist/usersSlice/thunks.cjs +78 -22
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.d.cts +18 -10
- package/dist/usersSlice/thunks.d.ts +18 -10
- package/dist/usersSlice/thunks.js +27 -27
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +3 -3
- package/package.json +5 -5
- package/dist/chunk-3P3IE42O.js.map +0 -1
- package/dist/chunk-7C4SQBEE.js.map +0 -1
- package/dist/chunk-HFOTAPIJ.js.map +0 -1
- package/dist/chunk-JXQUFKID.js.map +0 -1
- package/dist/chunk-OOICURFL.js.map +0 -1
- package/dist/chunk-QKPV5RRN.js.map +0 -1
- package/dist/chunk-QYLGIR4W.js.map +0 -1
- package/dist/chunk-RS37Y2PQ.js.map +0 -1
- package/dist/chunk-VUFRP6P3.js.map +0 -1
- package/dist/chunk-YY6SKZDF.js.map +0 -1
- /package/dist/{chunk-MZNANSS2.js.map → chunk-4DOSYAJY.js.map} +0 -0
- /package/dist/{chunk-R6KRH2IY.js.map → chunk-4UJXT6RF.js.map} +0 -0
- /package/dist/{chunk-ZJW3QIPM.js.map → chunk-66NK2ZV2.js.map} +0 -0
- /package/dist/{chunk-PGFVHKP5.js.map → chunk-AVCIWAZB.js.map} +0 -0
- /package/dist/{chunk-UE5N5VO3.js.map → chunk-CEEXZF5E.js.map} +0 -0
- /package/dist/{chunk-UGSLGUS6.js.map → chunk-CWZKWW74.js.map} +0 -0
- /package/dist/{chunk-H5FAPMJJ.js.map → chunk-DYN7AU7R.js.map} +0 -0
- /package/dist/{chunk-F26IKSML.js.map → chunk-I6JE3OLT.js.map} +0 -0
- /package/dist/{chunk-ABJLRDCO.js.map → chunk-IY76MO6R.js.map} +0 -0
- /package/dist/{chunk-V3QEONX7.js.map → chunk-J74LNK6P.js.map} +0 -0
- /package/dist/{chunk-KJNNEDRV.js.map → chunk-JZXNRDO2.js.map} +0 -0
- /package/dist/{chunk-SCZLNFB5.js.map → chunk-VCTZ25Q5.js.map} +0 -0
- /package/dist/{chunk-QHK7GGV4.js.map → chunk-ZZ3YDCYZ.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/deploymentsSlice/mocks.ts","../../src/deploymentsSlice/index.ts","../../src/constants.ts","../../src/deploymentsSlice/constants.ts"],"sourcesContent":["// Copyright 2025 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 { initialState } from './index';\n\nexport const mockState = {\n ...initialState,\n byId: {\n d1: {\n id: 'd1',\n name: 'test deployment',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:30:00.000Z',\n device_count: 1,\n devices: {\n a1: {\n attributes: {},\n id: 'a1',\n image: { size: 123 },\n status: 'installing'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n },\n total_size: 1234\n }\n },\n d2: {\n id: 'd2',\n name: 'test deployment 2',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:25:00.000Z',\n device_count: 1,\n devices: {\n b1: {\n attributes: {},\n id: 'b1',\n status: 'pending'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 0,\n noartifact: 0,\n pending: 1,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n }\n }\n },\n d3: {\n id: 'd3',\n name: 'Test',\n phases: [\n { id: '0', batch_size: 2, device_count: 2 },\n { id: '1', start_ts: '2019-02-04T11:45:10.002Z', batch_size: 3, device_count: 3 },\n { id: '2', start_ts: '2019-02-05T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '3', start_ts: '2019-02-06T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '4', start_ts: '2019-02-21T11:45:10.002Z', batch_size: 5, device_count: 0 }\n ],\n max_devices: 0,\n created: '2019-01-31T12:59:30.020Z',\n devices: {},\n filter: undefined,\n group: undefined,\n stats: {\n pending: 3,\n decommissioned: 0,\n failure: 23,\n pause_before_committing: 0,\n pause_before_rebooting: 0,\n installing: 0,\n rebooting: 0,\n 'already-installed': 0,\n pause_before_installing: 0,\n downloading: 0,\n success: 6,\n aborted: 0,\n noartifact: 0\n },\n statistics: { total_size: '1234' },\n status: 'inprogress',\n active: true,\n device_count: 100,\n retries: '0',\n type: 'software'\n }\n },\n byStatus: {\n finished: { deploymentIds: ['d1'], total: 1 },\n inprogress: { deploymentIds: ['d3'], total: 1 },\n pending: { deploymentIds: ['d2'], total: 1 },\n scheduled: { deploymentIds: ['d2'], total: 1 }\n },\n deploymentDeviceLimit: 500,\n selectedDeviceIds: [],\n selectionState: {\n finished: {\n ...initialState.selectionState.finished,\n selection: ['d1'],\n endDate: undefined,\n search: '',\n total: 1,\n type: ''\n },\n inprogress: { ...initialState.selectionState.inprogress, selection: ['d1'], total: 1 },\n pending: { ...initialState.selectionState.pending, selection: ['d2'], total: 1 },\n scheduled: { ...initialState.selectionState.scheduled, selection: ['d2'], total: 1 },\n general: {\n state: 'active',\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null\n },\n selectedId: 'd1'\n }\n};\n","// 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 type {\n DeploymentDeployments as BackendDeployment,\n DeviceDeployments as BackendDeviceDeployment,\n Filter as BackendFilter,\n DeviceWithImage,\n FilterPredicate,\n Limit\n} from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, limitDefault } from '../constants';\nimport { DEFAULT_PENDING_INPROGRESS_COUNT, DEPLOYMENT_ROUTES, DEPLOYMENT_STATES, deploymentPrototype } from './constants';\n\nexport const sliceName = 'deployments';\n\ntype Filter = {\n key: string;\n operator: FilterPredicate.type;\n scope: string;\n value: any;\n};\nexport type DeviceDeployment = BackendDeviceDeployment & {\n deviceId: string;\n release: string;\n route: string;\n};\n\nexport type Deployment = BackendDeployment & {\n devices: Record<string, DeviceWithImage>;\n filter?: BackendFilter & { filters: Filter[]; name?: string };\n group?: string;\n totalDeviceCount: number;\n};\n\nexport type DeploymentStatus = { deploymentIds: string[]; total: number };\nexport type DeploymentByStatus = {\n finished: DeploymentStatus;\n inprogress: DeploymentStatus;\n pending: DeploymentStatus;\n scheduled: DeploymentStatus;\n};\nexport type DeploymentByStatusKey = keyof DeploymentByStatus;\nexport type DeploymentConfig = {\n binaryDelta: {\n compressionLevel: number;\n disableChecksum: boolean;\n disableDecompression: boolean;\n duplicatesWindow: number;\n inputWindow: number;\n instructionBuffer: number;\n sourceWindow: number;\n timeout: number;\n };\n binaryDeltaLimits: {\n duplicatesWindow: Limit;\n inputWindow: Limit;\n instructionBuffer: Limit;\n sourceWindow: Limit;\n timeout: Limit;\n };\n};\n\nexport type SelectionListState = {\n endDate?: string;\n page?: number;\n perPage?: number;\n search?: string;\n selection: string[];\n startDate?: string;\n total?: number;\n type?: string;\n};\nexport type SelectionState = {\n finished: SelectionListState;\n general: {\n reportType: string | null;\n showCreationDialog: boolean;\n showReportDialog: boolean;\n state: string;\n };\n inprogress: SelectionListState;\n pending: SelectionListState;\n scheduled: SelectionListState;\n\n selectedId?: string;\n};\ntype DeploymentsSliceType = {\n byId: Record<string, Deployment>;\n byStatus: DeploymentByStatus;\n config: DeploymentConfig;\n deploymentDeviceLimit: number;\n selectedDeviceIds: string[];\n selectionState: SelectionState;\n};\n\nexport const initialState: DeploymentsSliceType = {\n byId: {\n // [id]: { statistics: { status: {}, total_size }, devices: { [deploymentId]: { id, log } }, totalDeviceCount }\n },\n byStatus: {\n finished: { deploymentIds: [], total: 0 },\n inprogress: { deploymentIds: [], total: 0 },\n pending: { deploymentIds: [], total: 0 },\n scheduled: { deploymentIds: [], total: 0 }\n },\n config: {\n binaryDelta: {\n timeout: -1,\n duplicatesWindow: -1,\n compressionLevel: -1,\n disableChecksum: false,\n disableDecompression: false,\n inputWindow: -1,\n instructionBuffer: -1,\n sourceWindow: -1\n },\n binaryDeltaLimits: {\n timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },\n sourceWindow: limitDefault,\n inputWindow: limitDefault,\n duplicatesWindow: limitDefault,\n instructionBuffer: limitDefault\n }\n },\n deploymentDeviceLimit: 5000,\n selectedDeviceIds: [],\n selectionState: {\n finished: { ...DEVICE_LIST_DEFAULTS, endDate: undefined, search: '', selection: [], startDate: undefined, total: 0, type: '' },\n inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },\n general: {\n state: DEPLOYMENT_ROUTES.active.key,\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null // DeploymentConstants.DEPLOYMENT_TYPES.configuration|DeploymentConstants.DEPLOYMENT_TYPES.software\n },\n selectedId: undefined\n }\n};\n\nexport const deploymentsSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n createdDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...deploymentPrototype,\n ...action.payload\n };\n state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;\n state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];\n state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection];\n state.selectionState[DEPLOYMENT_STATES.pending].total = (state.selectionState[DEPLOYMENT_STATES.pending].total || 0) + 1;\n },\n removedDeployment: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedDeployment, ...remainder } = state.byId;\n state.byId = remainder;\n },\n receivedDeployment: (state, action: PayloadAction<Deployment>) => {\n state.byId[action.payload.id] = {\n ...(state.byId[action.payload.id] || {}),\n ...action.payload\n };\n },\n receivedDeploymentDeviceLog: (state, action: PayloadAction<{ deviceId: string; id: string; log: boolean }>) => {\n const { id, deviceId, log } = action.payload;\n const deployment = {\n ...deploymentPrototype,\n ...state.byId[id]\n };\n state.byId[id] = {\n ...deployment,\n devices: {\n ...deployment.devices,\n [deviceId]: {\n ...deployment.devices[deviceId],\n log\n }\n }\n };\n },\n receivedDeploymentDevices: (\n state,\n action: PayloadAction<{ devices: Record<string, DeviceWithImage>; id: string; selectedDeviceIds: string[]; totalDeviceCount: number }>\n ) => {\n const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;\n state.byId[id] = {\n ...state.byId[id],\n devices,\n totalDeviceCount\n };\n state.selectedDeviceIds = selectedDeviceIds;\n },\n receivedDeployments: (state, action: PayloadAction<Record<string, Deployment>>) => {\n state.byId = {\n ...state.byId,\n ...action.payload\n };\n },\n receivedDeploymentsForStatus: (state, action: PayloadAction<{ deploymentIds: string[]; status: DeploymentByStatusKey; total: number }>) => {\n const { status, deploymentIds, total } = action.payload;\n state.byStatus[status].deploymentIds = deploymentIds;\n state.byStatus[status].total = total;\n },\n selectDeploymentsForStatus: (state, action: PayloadAction<{ deploymentIds: string[]; status: DeploymentByStatusKey; total: number }>) => {\n const { status, deploymentIds, total } = action.payload;\n state.selectionState[status].selection = deploymentIds;\n state.selectionState[status].total = total;\n },\n setDeploymentsState: (state, action: PayloadAction<SelectionState>) => {\n state.selectionState = action.payload;\n },\n setDeploymentsConfig: (state, action: PayloadAction<DeploymentConfig>) => {\n state.config = action.payload;\n }\n }\n});\n\nexport const actions = deploymentsSlice.actions;\nexport default deploymentsSlice.reducer;\n","// 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.\n//@ts-nocheck\nimport {\n ALL_DEVICES,\n ALL_DEVICE_STATES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n PermissionTypes,\n SORTING_OPTIONS,\n alertChannels,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n limitDefault,\n maxSessionAge,\n monitorApiUrlv1,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n} from '@northern.tech/utils/constants';\nimport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n} from '@northern.tech/utils/constants';\n\nexport {\n alertChannels,\n ALL_DEVICE_STATES,\n ALL_DEVICES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n monitorApiUrlv1,\n limitDefault,\n maxSessionAge,\n PermissionTypes,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n SORTING_OPTIONS,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n};\n\nexport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n};\n\nexport * from './appSlice/constants';\nexport * from './commonConstants';\nexport * from './deploymentsSlice/constants';\nexport * from './devicesSlice/constants';\nexport * from './monitorSlice/constants';\nexport * from './onboardingSlice/constants';\nexport * from './organizationSlice/constants';\nexport * from './releasesSlice/constants';\nexport * from './usersSlice/constants';\n","// 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 { DeploymentStatistics } from '@northern.tech/types/MenderTypes';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\n\nconst alreadyInstalled = 'already-installed';\n\nexport const deploymentSubstates = {\n aborted: 'aborted',\n alreadyInstalled,\n decommissioned: 'decommissioned',\n downloading: 'downloading',\n failure: 'failure',\n installing: 'installing',\n noartifact: 'noartifact',\n pause_before_committing: 'pause_before_committing',\n pause_before_installing: 'pause_before_installing',\n pause_before_rebooting: 'pause_before_rebooting',\n pending: 'pending',\n rebooting: 'rebooting',\n success: 'success'\n};\n\nexport const deploymentStatesToSubstates = {\n failures: [deploymentSubstates.failure, deploymentSubstates.aborted, deploymentSubstates.decommissioned],\n inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],\n paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],\n pending: [deploymentSubstates.pending],\n successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]\n};\n\nexport const deploymentStatesToSubstatesWithSkipped = {\n ...deploymentStatesToSubstates,\n failures: [deploymentSubstates.failure],\n skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],\n successes: [deploymentSubstates.success]\n};\nexport const installationSubstatesMap = {\n download: {\n title: 'download',\n done: 'downloaded',\n successIndicators: [deploymentSubstates.installing, deploymentSubstates.rebooting, ...deploymentStatesToSubstates.paused, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactInstall_Enter'\n },\n install: {\n title: 'install',\n done: 'installed',\n successIndicators: [\n deploymentSubstates.rebooting,\n deploymentSubstates.pause_before_rebooting,\n deploymentSubstates.pause_before_committing,\n deploymentSubstates.success\n ],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactReboot_Enter'\n },\n reboot: {\n title: 'reboot',\n done: 'rebooted',\n successIndicators: [deploymentSubstates.pause_before_committing, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactCommit_Enter'\n },\n commit: {\n title: 'commit',\n done: 'committed',\n successIndicators: deploymentStatesToSubstates.successes,\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: undefined\n }\n};\n\nexport const DEPLOYMENT_STATES = {\n finished: 'finished',\n inprogress: 'inprogress',\n pending: 'pending',\n scheduled: 'scheduled'\n} as const;\n\nexport const listDefaultsByState = {\n [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },\n [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },\n sort: { direction: SORTING_OPTIONS.desc }\n};\n\nexport const DEFAULT_PENDING_INPROGRESS_COUNT = 10;\nexport const DEPLOYMENT_ROUTES = {\n active: {\n key: 'active',\n route: '/deployments/active',\n states: [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress],\n title: 'Active'\n },\n finished: {\n key: 'finished',\n route: '/deployments/finished',\n states: [DEPLOYMENT_STATES.finished],\n title: 'Finished'\n },\n scheduled: {\n key: 'scheduled',\n route: '/deployments/scheduled',\n states: [DEPLOYMENT_STATES.scheduled],\n title: 'Scheduled'\n }\n} as const;\nexport const DEPLOYMENT_TYPES = {\n software: 'software',\n configuration: 'configuration'\n};\nexport const defaultStats = {\n [deploymentSubstates.aborted]: 0,\n [deploymentSubstates.alreadyInstalled]: 0,\n [deploymentSubstates.decommissioned]: 0,\n [deploymentSubstates.downloading]: 0,\n [deploymentSubstates.failure]: 0,\n [deploymentSubstates.installing]: 0,\n [deploymentSubstates.noartifact]: 0,\n [deploymentSubstates.pause_before_committing]: 0,\n [deploymentSubstates.pause_before_installing]: 0,\n [deploymentSubstates.pause_before_rebooting]: 0,\n [deploymentSubstates.pending]: 0,\n [deploymentSubstates.rebooting]: 0,\n [deploymentSubstates.success]: 0\n};\nexport const deploymentDisplayStates = {\n finished: 'Finished',\n scheduled: 'Scheduled',\n skipped: 'Skipped',\n paused: 'Paused',\n pending: 'Pending',\n inprogress: 'In Progress',\n success: 'Success',\n successes: 'Success',\n failure: 'Fail',\n failures: 'Fail'\n};\n\nexport const deploymentPrototype = {\n devices: {},\n name: undefined,\n statistics: { status: {} } as DeploymentStatistics\n};\n\nexport const pauseMap = {\n [deploymentSubstates.pause_before_installing]: {\n title: installationSubstatesMap.download.done,\n followUp: installationSubstatesMap.download.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_rebooting]: {\n title: installationSubstatesMap.install.done,\n followUp: installationSubstatesMap.install.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_committing]: {\n title: installationSubstatesMap.reboot.done,\n followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator\n }\n};\n"],"mappings":"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","names":["import_constants"]}
|
|
1
|
+
{"version":3,"sources":["../../src/deploymentsSlice/mocks.ts","../../src/deploymentsSlice/index.ts","../../src/constants.ts","../../src/deploymentsSlice/constants.ts"],"sourcesContent":["// Copyright 2025 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 { initialState } from './index';\n\nexport const mockState = {\n ...initialState,\n byId: {\n d1: {\n id: 'd1',\n name: 'test deployment',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:30:00.000Z',\n device_count: 1,\n devices: {\n a1: {\n attributes: {},\n id: 'a1',\n image: { size: 123 },\n status: 'installing'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n },\n total_size: 1234\n }\n },\n d2: {\n id: 'd2',\n name: 'test deployment 2',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:25:00.000Z',\n device_count: 1,\n devices: {\n b1: {\n attributes: {},\n id: 'b1',\n status: 'pending'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 0,\n noartifact: 0,\n pending: 1,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n }\n }\n },\n d3: {\n id: 'd3',\n name: 'Test',\n phases: [\n { id: '0', batch_size: 2, device_count: 2 },\n { id: '1', start_ts: '2019-02-04T11:45:10.002Z', batch_size: 3, device_count: 3 },\n { id: '2', start_ts: '2019-02-05T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '3', start_ts: '2019-02-06T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '4', start_ts: '2019-02-21T11:45:10.002Z', batch_size: 5, device_count: 0 }\n ],\n max_devices: 0,\n created: '2019-01-31T12:59:30.020Z',\n devices: {},\n filter: undefined,\n group: undefined,\n stats: {\n pending: 3,\n decommissioned: 0,\n failure: 23,\n pause_before_committing: 0,\n pause_before_rebooting: 0,\n installing: 0,\n rebooting: 0,\n 'already-installed': 0,\n pause_before_installing: 0,\n downloading: 0,\n success: 6,\n aborted: 0,\n noartifact: 0\n },\n statistics: { total_size: '1234' },\n status: 'inprogress',\n active: true,\n device_count: 100,\n retries: '0',\n type: 'software'\n }\n },\n byStatus: {\n finished: { deploymentIds: ['d1'], total: 1 },\n inprogress: { deploymentIds: ['d3'], total: 1 },\n pending: { deploymentIds: ['d2'], total: 1 },\n scheduled: { deploymentIds: ['d2'], total: 1 }\n },\n deploymentDeviceLimit: 500,\n selectedDeviceIds: [],\n selectionState: {\n finished: {\n ...initialState.selectionState.finished,\n selection: ['d1'],\n endDate: undefined,\n search: '',\n total: 1,\n type: ''\n },\n inprogress: { ...initialState.selectionState.inprogress, selection: ['d1'], total: 1 },\n pending: { ...initialState.selectionState.pending, selection: ['d2'], total: 1 },\n scheduled: { ...initialState.selectionState.scheduled, selection: ['d2'], total: 1 },\n general: {\n state: 'active',\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null\n },\n selectedId: 'd1'\n }\n};\n","// 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 type {\n DeploymentDeployments as BackendDeployment,\n Device as BackendDeviceDeployment,\n Filter as BackendFilter,\n DeviceWithImage,\n FilterPredicate,\n Limit\n} from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, limitDefault } from '../constants';\nimport { DEFAULT_PENDING_INPROGRESS_COUNT, DEPLOYMENT_ROUTES, DEPLOYMENT_STATES, deploymentPrototype } from './constants';\n\nexport const sliceName = 'deployments';\n\ntype Filter = {\n key: string;\n operator: FilterPredicate.type;\n scope: string;\n value: any;\n};\nexport type DeviceDeployment = BackendDeviceDeployment & {\n deviceId: string;\n release: string;\n route: string;\n};\n\nexport type Deployment = BackendDeployment & {\n devices: Record<string, DeviceWithImage>;\n filter?: BackendFilter & { filters: Filter[]; name?: string };\n group?: string;\n totalDeviceCount: number;\n};\n\nexport type DeploymentStatus = { deploymentIds: string[]; total: number };\nexport type DeploymentByStatus = {\n finished: DeploymentStatus;\n inprogress: DeploymentStatus;\n pending: DeploymentStatus;\n scheduled: DeploymentStatus;\n};\nexport type DeploymentByStatusKey = keyof DeploymentByStatus;\nexport type DeploymentConfig = {\n binaryDelta: {\n compressionLevel: number;\n disableChecksum: boolean;\n disableDecompression: boolean;\n duplicatesWindow: number;\n inputWindow: number;\n instructionBuffer: number;\n sourceWindow: number;\n timeout: number;\n };\n binaryDeltaLimits: {\n duplicatesWindow: Limit;\n inputWindow: Limit;\n instructionBuffer: Limit;\n sourceWindow: Limit;\n timeout: Limit;\n };\n};\n\nexport type SelectionListState = {\n endDate?: string;\n page?: number;\n perPage?: number;\n search?: string;\n selection: string[];\n startDate?: string;\n total?: number;\n type?: string;\n};\nexport type SelectionState = {\n finished: SelectionListState;\n general: {\n reportType: string | null;\n showCreationDialog: boolean;\n showReportDialog: boolean;\n state: string;\n };\n inprogress: SelectionListState;\n pending: SelectionListState;\n scheduled: SelectionListState;\n\n selectedId?: string;\n};\ntype DeploymentsSliceType = {\n byId: Record<string, Deployment>;\n byStatus: DeploymentByStatus;\n config: DeploymentConfig;\n deploymentDeviceLimit: number;\n selectedDeviceIds: string[];\n selectionState: SelectionState;\n};\n\nexport const initialState: DeploymentsSliceType = {\n byId: {\n // [id]: { statistics: { status: {}, total_size }, devices: { [deploymentId]: { id, log } }, totalDeviceCount }\n },\n byStatus: {\n finished: { deploymentIds: [], total: 0 },\n inprogress: { deploymentIds: [], total: 0 },\n pending: { deploymentIds: [], total: 0 },\n scheduled: { deploymentIds: [], total: 0 }\n },\n config: {\n binaryDelta: {\n timeout: -1,\n duplicatesWindow: -1,\n compressionLevel: -1,\n disableChecksum: false,\n disableDecompression: false,\n inputWindow: -1,\n instructionBuffer: -1,\n sourceWindow: -1\n },\n binaryDeltaLimits: {\n timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },\n sourceWindow: limitDefault,\n inputWindow: limitDefault,\n duplicatesWindow: limitDefault,\n instructionBuffer: limitDefault\n }\n },\n deploymentDeviceLimit: 5000,\n selectedDeviceIds: [],\n selectionState: {\n finished: { ...DEVICE_LIST_DEFAULTS, endDate: undefined, search: '', selection: [], startDate: undefined, total: 0, type: '' },\n inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },\n general: {\n state: DEPLOYMENT_ROUTES.active.key,\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null // DeploymentConstants.DEPLOYMENT_TYPES.configuration|DeploymentConstants.DEPLOYMENT_TYPES.software\n },\n selectedId: undefined\n }\n};\n\nexport const deploymentsSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n createdDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...deploymentPrototype,\n ...action.payload\n };\n state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;\n state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];\n state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection];\n state.selectionState[DEPLOYMENT_STATES.pending].total = (state.selectionState[DEPLOYMENT_STATES.pending].total || 0) + 1;\n },\n removedDeployment: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedDeployment, ...remainder } = state.byId;\n state.byId = remainder;\n },\n receivedDeployment: (state, action: PayloadAction<Deployment>) => {\n state.byId[action.payload.id] = {\n ...(state.byId[action.payload.id] || {}),\n ...action.payload\n };\n },\n receivedDeploymentDeviceLog: (state, action: PayloadAction<{ deviceId: string; id: string; log: boolean }>) => {\n const { id, deviceId, log } = action.payload;\n const deployment = {\n ...deploymentPrototype,\n ...state.byId[id]\n };\n state.byId[id] = {\n ...deployment,\n devices: {\n ...deployment.devices,\n [deviceId]: {\n ...deployment.devices[deviceId],\n log\n }\n }\n };\n },\n receivedDeploymentDevices: (\n state,\n action: PayloadAction<{ devices: Record<string, DeviceWithImage>; id: string; selectedDeviceIds: string[]; totalDeviceCount: number }>\n ) => {\n const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;\n state.byId[id] = {\n ...state.byId[id],\n devices,\n totalDeviceCount\n };\n state.selectedDeviceIds = selectedDeviceIds;\n },\n receivedDeployments: (state, action: PayloadAction<Record<string, Deployment>>) => {\n state.byId = {\n ...state.byId,\n ...action.payload\n };\n },\n receivedDeploymentsForStatus: (state, action: PayloadAction<{ deploymentIds: string[]; status: DeploymentByStatusKey; total: number }>) => {\n const { status, deploymentIds, total } = action.payload;\n state.byStatus[status].deploymentIds = deploymentIds;\n state.byStatus[status].total = total;\n },\n selectDeploymentsForStatus: (state, action: PayloadAction<{ deploymentIds: string[]; status: DeploymentByStatusKey; total: number }>) => {\n const { status, deploymentIds, total } = action.payload;\n state.selectionState[status].selection = deploymentIds;\n state.selectionState[status].total = total;\n },\n setDeploymentsState: (state, action: PayloadAction<SelectionState>) => {\n state.selectionState = action.payload;\n },\n setDeploymentsConfig: (state, action: PayloadAction<DeploymentConfig>) => {\n state.config = action.payload;\n }\n }\n});\n\nexport const actions = deploymentsSlice.actions;\nexport default deploymentsSlice.reducer;\n","// 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.\n//@ts-nocheck\nimport {\n ALL_DEVICES,\n ALL_DEVICE_STATES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n PermissionTypes,\n SORTING_OPTIONS,\n alertChannels,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n limitDefault,\n maxSessionAge,\n monitorApiUrlv1,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n} from '@northern.tech/utils/constants';\nimport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n} from '@northern.tech/utils/constants';\n\nexport {\n alertChannels,\n ALL_DEVICE_STATES,\n ALL_DEVICES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n monitorApiUrlv1,\n limitDefault,\n maxSessionAge,\n PermissionTypes,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n SORTING_OPTIONS,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n};\n\nexport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n};\n\nexport * from './appSlice/constants';\nexport * from './commonConstants';\nexport * from './deploymentsSlice/constants';\nexport * from './devicesSlice/constants';\nexport * from './monitorSlice/constants';\nexport * from './onboardingSlice/constants';\nexport * from './organizationSlice/constants';\nexport * from './releasesSlice/constants';\nexport * from './usersSlice/constants';\n","// 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 { DeploymentStatistics } from '@northern.tech/types/MenderTypes';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\n\nconst alreadyInstalled = 'already-installed';\n\nexport const deploymentSubstates = {\n aborted: 'aborted',\n alreadyInstalled,\n decommissioned: 'decommissioned',\n downloading: 'downloading',\n failure: 'failure',\n installing: 'installing',\n noartifact: 'noartifact',\n pause_before_committing: 'pause_before_committing',\n pause_before_installing: 'pause_before_installing',\n pause_before_rebooting: 'pause_before_rebooting',\n pending: 'pending',\n rebooting: 'rebooting',\n success: 'success'\n};\n\nexport const deploymentStatesToSubstates = {\n failures: [deploymentSubstates.failure, deploymentSubstates.aborted, deploymentSubstates.decommissioned],\n inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],\n paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],\n pending: [deploymentSubstates.pending],\n successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]\n};\n\nexport const deploymentStatesToSubstatesWithSkipped = {\n ...deploymentStatesToSubstates,\n failures: [deploymentSubstates.failure],\n skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],\n successes: [deploymentSubstates.success]\n};\nexport const installationSubstatesMap = {\n download: {\n title: 'download',\n done: 'downloaded',\n successIndicators: [deploymentSubstates.installing, deploymentSubstates.rebooting, ...deploymentStatesToSubstates.paused, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactInstall_Enter'\n },\n install: {\n title: 'install',\n done: 'installed',\n successIndicators: [\n deploymentSubstates.rebooting,\n deploymentSubstates.pause_before_rebooting,\n deploymentSubstates.pause_before_committing,\n deploymentSubstates.success\n ],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactReboot_Enter'\n },\n reboot: {\n title: 'reboot',\n done: 'rebooted',\n successIndicators: [deploymentSubstates.pause_before_committing, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactCommit_Enter'\n },\n commit: {\n title: 'commit',\n done: 'committed',\n successIndicators: deploymentStatesToSubstates.successes,\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: undefined\n }\n};\n\nexport const DEPLOYMENT_STATES = {\n finished: 'finished',\n inprogress: 'inprogress',\n pending: 'pending',\n scheduled: 'scheduled'\n} as const;\n\nexport const listDefaultsByState = {\n [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },\n [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },\n sort: { direction: SORTING_OPTIONS.desc }\n};\n\nexport const DEFAULT_PENDING_INPROGRESS_COUNT = 10;\nexport const DEPLOYMENT_ROUTES = {\n active: {\n key: 'active',\n route: '/deployments/active',\n states: [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress],\n title: 'Active'\n },\n finished: {\n key: 'finished',\n route: '/deployments/finished',\n states: [DEPLOYMENT_STATES.finished],\n title: 'Finished'\n },\n scheduled: {\n key: 'scheduled',\n route: '/deployments/scheduled',\n states: [DEPLOYMENT_STATES.scheduled],\n title: 'Scheduled'\n }\n} as const;\nexport const DEPLOYMENT_TYPES = {\n software: 'software',\n configuration: 'configuration'\n};\nexport const defaultStats = {\n [deploymentSubstates.aborted]: 0,\n [deploymentSubstates.alreadyInstalled]: 0,\n [deploymentSubstates.decommissioned]: 0,\n [deploymentSubstates.downloading]: 0,\n [deploymentSubstates.failure]: 0,\n [deploymentSubstates.installing]: 0,\n [deploymentSubstates.noartifact]: 0,\n [deploymentSubstates.pause_before_committing]: 0,\n [deploymentSubstates.pause_before_installing]: 0,\n [deploymentSubstates.pause_before_rebooting]: 0,\n [deploymentSubstates.pending]: 0,\n [deploymentSubstates.rebooting]: 0,\n [deploymentSubstates.success]: 0\n};\nexport const deploymentDisplayStates = {\n finished: 'Finished',\n scheduled: 'Scheduled',\n skipped: 'Skipped',\n paused: 'Paused',\n pending: 'Pending',\n inprogress: 'In Progress',\n success: 'Success',\n successes: 'Success',\n failure: 'Fail',\n failures: 'Fail'\n};\n\nexport const deploymentPrototype = {\n devices: {},\n name: undefined,\n statistics: { status: {} } as DeploymentStatistics\n};\n\nexport const pauseMap = {\n [deploymentSubstates.pause_before_installing]: {\n title: installationSubstatesMap.download.done,\n followUp: installationSubstatesMap.download.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_rebooting]: {\n title: installationSubstatesMap.install.done,\n followUp: installationSubstatesMap.install.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_committing]: {\n title: installationSubstatesMap.reboot.done,\n followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator\n }\n};\n"],"mappings":"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","names":["import_constants"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
initialState
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-5HYHE4HO.js";
|
|
4
|
+
import "../chunk-MRXTMI6O.js";
|
|
5
5
|
import "../chunk-2DYA3X77.js";
|
|
6
6
|
import "../chunk-FAJ3I2UQ.js";
|
|
7
7
|
import "../chunk-ZKAH3APE.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-PY6ID7TL.js";
|
|
9
9
|
|
|
10
10
|
// src/deploymentsSlice/mocks.ts
|
|
11
11
|
var mockState = {
|
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var selectors_exports = {};
|
|
22
22
|
__export(selectors_exports, {
|
|
23
23
|
DEPLOYMENT_CUTOFF: () => DEPLOYMENT_CUTOFF,
|
|
24
|
+
getDeploymentById: () => getDeploymentById,
|
|
24
25
|
getDeploymentsById: () => getDeploymentsById,
|
|
25
26
|
getDeploymentsByStatus: () => getDeploymentsByStatus,
|
|
26
27
|
getDeploymentsSelectionState: () => getDeploymentsSelectionState,
|
|
@@ -167,6 +168,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
|
|
|
167
168
|
var getDeploymentsByStatus = (state) => state.deployments.byStatus;
|
|
168
169
|
var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
|
|
169
170
|
var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
|
|
171
|
+
var getDeploymentById = (0, import_toolkit.createSelector)(
|
|
172
|
+
[getDeploymentsById, (_, deploymentId) => deploymentId],
|
|
173
|
+
(deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
|
|
174
|
+
);
|
|
170
175
|
var getMappedDeploymentSelection = (0, import_toolkit.createSelector)(
|
|
171
176
|
[getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
|
|
172
177
|
(selectionState, deploymentsState, deploymentsById) => {
|
|
@@ -203,6 +208,7 @@ var getRecentDeployments = (0, import_toolkit.createSelector)(
|
|
|
203
208
|
// Annotate the CommonJS export names for ESM import in node:
|
|
204
209
|
0 && (module.exports = {
|
|
205
210
|
DEPLOYMENT_CUTOFF,
|
|
211
|
+
getDeploymentById,
|
|
206
212
|
getDeploymentsById,
|
|
207
213
|
getDeploymentsByStatus,
|
|
208
214
|
getDeploymentsSelectionState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/deploymentsSlice/selectors.ts","../../src/constants.ts","../../src/deploymentsSlice/constants.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';\n\nimport type { Deployment } from '.';\nimport type { RootState } from '../store';\nimport { DEPLOYMENT_STATES } from './constants';\n\nexport const getDeploymentsById = (state: RootState) => state.deployments.byId;\nexport const getDeploymentsByStatus = (state: RootState) => state.deployments.byStatus;\nexport const getSelectedDeploymentDeviceIds = (state: RootState) => state.deployments.selectedDeviceIds;\nexport const getDeploymentsSelectionState = (state: RootState) => state.deployments.selectionState;\n\nexport const getMappedDeploymentSelection = createSelector(\n [getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],\n (selectionState, deploymentsState, deploymentsById) => {\n const { selection = [] } = selectionState[deploymentsState] ?? {};\n return selection.reduce((accu, id) => {\n if (deploymentsById[id]) {\n accu.push(deploymentsById[id]);\n }\n return accu;\n }, []);\n }\n);\n\nconst relevantDeploymentStates = [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress, DEPLOYMENT_STATES.finished] as const;\nexport const DEPLOYMENT_CUTOFF = 3;\nexport const getRecentDeployments = createSelector([getDeploymentsById, getDeploymentsByStatus], (deploymentsById, deploymentsByStatus) =>\n Object.entries(deploymentsByStatus).reduce(\n (accu, [state, byStatus]) => {\n if (!relevantDeploymentStates.includes(state as (typeof relevantDeploymentStates)[number]) || !byStatus.deploymentIds.length) {\n return accu;\n }\n accu[state] = byStatus.deploymentIds\n .reduce<Deployment[]>((accu, id) => {\n if (deploymentsById[id]) {\n accu.push(deploymentsById[id]);\n }\n return accu;\n }, [])\n .slice(0, DEPLOYMENT_CUTOFF);\n accu.total += byStatus.total;\n return accu;\n },\n { total: 0 }\n )\n);\n","// 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.\n//@ts-nocheck\nimport {\n ALL_DEVICES,\n ALL_DEVICE_STATES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n PermissionTypes,\n SORTING_OPTIONS,\n alertChannels,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n limitDefault,\n maxSessionAge,\n monitorApiUrlv1,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n} from '@northern.tech/utils/constants';\nimport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n} from '@northern.tech/utils/constants';\n\nexport {\n alertChannels,\n ALL_DEVICE_STATES,\n ALL_DEVICES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n monitorApiUrlv1,\n limitDefault,\n maxSessionAge,\n PermissionTypes,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n SORTING_OPTIONS,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n};\n\nexport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n};\n\nexport * from './appSlice/constants';\nexport * from './commonConstants';\nexport * from './deploymentsSlice/constants';\nexport * from './devicesSlice/constants';\nexport * from './monitorSlice/constants';\nexport * from './onboardingSlice/constants';\nexport * from './organizationSlice/constants';\nexport * from './releasesSlice/constants';\nexport * from './usersSlice/constants';\n","// 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 { DeploymentStatistics } from '@northern.tech/types/MenderTypes';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\n\nconst alreadyInstalled = 'already-installed';\n\nexport const deploymentSubstates = {\n aborted: 'aborted',\n alreadyInstalled,\n decommissioned: 'decommissioned',\n downloading: 'downloading',\n failure: 'failure',\n installing: 'installing',\n noartifact: 'noartifact',\n pause_before_committing: 'pause_before_committing',\n pause_before_installing: 'pause_before_installing',\n pause_before_rebooting: 'pause_before_rebooting',\n pending: 'pending',\n rebooting: 'rebooting',\n success: 'success'\n};\n\nexport const deploymentStatesToSubstates = {\n failures: [deploymentSubstates.failure, deploymentSubstates.aborted, deploymentSubstates.decommissioned],\n inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],\n paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],\n pending: [deploymentSubstates.pending],\n successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]\n};\n\nexport const deploymentStatesToSubstatesWithSkipped = {\n ...deploymentStatesToSubstates,\n failures: [deploymentSubstates.failure],\n skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],\n successes: [deploymentSubstates.success]\n};\nexport const installationSubstatesMap = {\n download: {\n title: 'download',\n done: 'downloaded',\n successIndicators: [deploymentSubstates.installing, deploymentSubstates.rebooting, ...deploymentStatesToSubstates.paused, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactInstall_Enter'\n },\n install: {\n title: 'install',\n done: 'installed',\n successIndicators: [\n deploymentSubstates.rebooting,\n deploymentSubstates.pause_before_rebooting,\n deploymentSubstates.pause_before_committing,\n deploymentSubstates.success\n ],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactReboot_Enter'\n },\n reboot: {\n title: 'reboot',\n done: 'rebooted',\n successIndicators: [deploymentSubstates.pause_before_committing, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactCommit_Enter'\n },\n commit: {\n title: 'commit',\n done: 'committed',\n successIndicators: deploymentStatesToSubstates.successes,\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: undefined\n }\n};\n\nexport const DEPLOYMENT_STATES = {\n finished: 'finished',\n inprogress: 'inprogress',\n pending: 'pending',\n scheduled: 'scheduled'\n} as const;\n\nexport const listDefaultsByState = {\n [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },\n [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },\n sort: { direction: SORTING_OPTIONS.desc }\n};\n\nexport const DEFAULT_PENDING_INPROGRESS_COUNT = 10;\nexport const DEPLOYMENT_ROUTES = {\n active: {\n key: 'active',\n route: '/deployments/active',\n states: [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress],\n title: 'Active'\n },\n finished: {\n key: 'finished',\n route: '/deployments/finished',\n states: [DEPLOYMENT_STATES.finished],\n title: 'Finished'\n },\n scheduled: {\n key: 'scheduled',\n route: '/deployments/scheduled',\n states: [DEPLOYMENT_STATES.scheduled],\n title: 'Scheduled'\n }\n} as const;\nexport const DEPLOYMENT_TYPES = {\n software: 'software',\n configuration: 'configuration'\n};\nexport const defaultStats = {\n [deploymentSubstates.aborted]: 0,\n [deploymentSubstates.alreadyInstalled]: 0,\n [deploymentSubstates.decommissioned]: 0,\n [deploymentSubstates.downloading]: 0,\n [deploymentSubstates.failure]: 0,\n [deploymentSubstates.installing]: 0,\n [deploymentSubstates.noartifact]: 0,\n [deploymentSubstates.pause_before_committing]: 0,\n [deploymentSubstates.pause_before_installing]: 0,\n [deploymentSubstates.pause_before_rebooting]: 0,\n [deploymentSubstates.pending]: 0,\n [deploymentSubstates.rebooting]: 0,\n [deploymentSubstates.success]: 0\n};\nexport const deploymentDisplayStates = {\n finished: 'Finished',\n scheduled: 'Scheduled',\n skipped: 'Skipped',\n paused: 'Paused',\n pending: 'Pending',\n inprogress: 'In Progress',\n success: 'Success',\n successes: 'Success',\n failure: 'Fail',\n failures: 'Fail'\n};\n\nexport const deploymentPrototype = {\n devices: {},\n name: undefined,\n statistics: { status: {} } as DeploymentStatistics\n};\n\nexport const pauseMap = {\n [deploymentSubstates.pause_before_installing]: {\n title: installationSubstatesMap.download.done,\n followUp: installationSubstatesMap.download.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_rebooting]: {\n title: installationSubstatesMap.install.done,\n followUp: installationSubstatesMap.install.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_committing]: {\n title: installationSubstatesMap.reboot.done,\n followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator\n }\n};\n"],"mappings":"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","names":["accu"]}
|
|
1
|
+
{"version":3,"sources":["../../src/deploymentsSlice/selectors.ts","../../src/constants.ts","../../src/deploymentsSlice/constants.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';\n\nimport type { Deployment } from '.';\nimport type { RootState } from '../store';\nimport { DEPLOYMENT_STATES } from './constants';\n\nexport const getDeploymentsById = (state: RootState) => state.deployments.byId;\nexport const getDeploymentsByStatus = (state: RootState) => state.deployments.byStatus;\nexport const getSelectedDeploymentDeviceIds = (state: RootState) => state.deployments.selectedDeviceIds;\nexport const getDeploymentsSelectionState = (state: RootState) => state.deployments.selectionState;\n\nexport const getDeploymentById = createSelector(\n [getDeploymentsById, (_, deploymentId) => deploymentId],\n (deploymentsById, deploymentId = '') => deploymentsById[deploymentId]\n);\n\nexport const getMappedDeploymentSelection = createSelector(\n [getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],\n (selectionState, deploymentsState, deploymentsById) => {\n const { selection = [] } = selectionState[deploymentsState] ?? {};\n return selection.reduce((accu, id) => {\n if (deploymentsById[id]) {\n accu.push(deploymentsById[id]);\n }\n return accu;\n }, []);\n }\n);\n\nconst relevantDeploymentStates = [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress, DEPLOYMENT_STATES.finished] as const;\nexport const DEPLOYMENT_CUTOFF = 3;\nexport const getRecentDeployments = createSelector([getDeploymentsById, getDeploymentsByStatus], (deploymentsById, deploymentsByStatus) =>\n Object.entries(deploymentsByStatus).reduce(\n (accu, [state, byStatus]) => {\n if (!relevantDeploymentStates.includes(state as (typeof relevantDeploymentStates)[number]) || !byStatus.deploymentIds.length) {\n return accu;\n }\n accu[state] = byStatus.deploymentIds\n .reduce<Deployment[]>((accu, id) => {\n if (deploymentsById[id]) {\n accu.push(deploymentsById[id]);\n }\n return accu;\n }, [])\n .slice(0, DEPLOYMENT_CUTOFF);\n accu.total += byStatus.total;\n return accu;\n },\n { total: 0 }\n )\n);\n","// 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.\n//@ts-nocheck\nimport {\n ALL_DEVICES,\n ALL_DEVICE_STATES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n PermissionTypes,\n SORTING_OPTIONS,\n alertChannels,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n limitDefault,\n maxSessionAge,\n monitorApiUrlv1,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n} from '@northern.tech/utils/constants';\nimport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n} from '@northern.tech/utils/constants';\n\nexport {\n alertChannels,\n ALL_DEVICE_STATES,\n ALL_DEVICES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n monitorApiUrlv1,\n limitDefault,\n maxSessionAge,\n PermissionTypes,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n SORTING_OPTIONS,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n};\n\nexport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n};\n\nexport * from './appSlice/constants';\nexport * from './commonConstants';\nexport * from './deploymentsSlice/constants';\nexport * from './devicesSlice/constants';\nexport * from './monitorSlice/constants';\nexport * from './onboardingSlice/constants';\nexport * from './organizationSlice/constants';\nexport * from './releasesSlice/constants';\nexport * from './usersSlice/constants';\n","// 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 { DeploymentStatistics } from '@northern.tech/types/MenderTypes';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\n\nconst alreadyInstalled = 'already-installed';\n\nexport const deploymentSubstates = {\n aborted: 'aborted',\n alreadyInstalled,\n decommissioned: 'decommissioned',\n downloading: 'downloading',\n failure: 'failure',\n installing: 'installing',\n noartifact: 'noartifact',\n pause_before_committing: 'pause_before_committing',\n pause_before_installing: 'pause_before_installing',\n pause_before_rebooting: 'pause_before_rebooting',\n pending: 'pending',\n rebooting: 'rebooting',\n success: 'success'\n};\n\nexport const deploymentStatesToSubstates = {\n failures: [deploymentSubstates.failure, deploymentSubstates.aborted, deploymentSubstates.decommissioned],\n inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],\n paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],\n pending: [deploymentSubstates.pending],\n successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]\n};\n\nexport const deploymentStatesToSubstatesWithSkipped = {\n ...deploymentStatesToSubstates,\n failures: [deploymentSubstates.failure],\n skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],\n successes: [deploymentSubstates.success]\n};\nexport const installationSubstatesMap = {\n download: {\n title: 'download',\n done: 'downloaded',\n successIndicators: [deploymentSubstates.installing, deploymentSubstates.rebooting, ...deploymentStatesToSubstates.paused, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactInstall_Enter'\n },\n install: {\n title: 'install',\n done: 'installed',\n successIndicators: [\n deploymentSubstates.rebooting,\n deploymentSubstates.pause_before_rebooting,\n deploymentSubstates.pause_before_committing,\n deploymentSubstates.success\n ],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactReboot_Enter'\n },\n reboot: {\n title: 'reboot',\n done: 'rebooted',\n successIndicators: [deploymentSubstates.pause_before_committing, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactCommit_Enter'\n },\n commit: {\n title: 'commit',\n done: 'committed',\n successIndicators: deploymentStatesToSubstates.successes,\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: undefined\n }\n};\n\nexport const DEPLOYMENT_STATES = {\n finished: 'finished',\n inprogress: 'inprogress',\n pending: 'pending',\n scheduled: 'scheduled'\n} as const;\n\nexport const listDefaultsByState = {\n [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },\n [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },\n sort: { direction: SORTING_OPTIONS.desc }\n};\n\nexport const DEFAULT_PENDING_INPROGRESS_COUNT = 10;\nexport const DEPLOYMENT_ROUTES = {\n active: {\n key: 'active',\n route: '/deployments/active',\n states: [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress],\n title: 'Active'\n },\n finished: {\n key: 'finished',\n route: '/deployments/finished',\n states: [DEPLOYMENT_STATES.finished],\n title: 'Finished'\n },\n scheduled: {\n key: 'scheduled',\n route: '/deployments/scheduled',\n states: [DEPLOYMENT_STATES.scheduled],\n title: 'Scheduled'\n }\n} as const;\nexport const DEPLOYMENT_TYPES = {\n software: 'software',\n configuration: 'configuration'\n};\nexport const defaultStats = {\n [deploymentSubstates.aborted]: 0,\n [deploymentSubstates.alreadyInstalled]: 0,\n [deploymentSubstates.decommissioned]: 0,\n [deploymentSubstates.downloading]: 0,\n [deploymentSubstates.failure]: 0,\n [deploymentSubstates.installing]: 0,\n [deploymentSubstates.noartifact]: 0,\n [deploymentSubstates.pause_before_committing]: 0,\n [deploymentSubstates.pause_before_installing]: 0,\n [deploymentSubstates.pause_before_rebooting]: 0,\n [deploymentSubstates.pending]: 0,\n [deploymentSubstates.rebooting]: 0,\n [deploymentSubstates.success]: 0\n};\nexport const deploymentDisplayStates = {\n finished: 'Finished',\n scheduled: 'Scheduled',\n skipped: 'Skipped',\n paused: 'Paused',\n pending: 'Pending',\n inprogress: 'In Progress',\n success: 'Success',\n successes: 'Success',\n failure: 'Fail',\n failures: 'Fail'\n};\n\nexport const deploymentPrototype = {\n devices: {},\n name: undefined,\n statistics: { status: {} } as DeploymentStatistics\n};\n\nexport const pauseMap = {\n [deploymentSubstates.pause_before_installing]: {\n title: installationSubstatesMap.download.done,\n followUp: installationSubstatesMap.download.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_rebooting]: {\n title: installationSubstatesMap.install.done,\n followUp: installationSubstatesMap.install.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_committing]: {\n title: installationSubstatesMap.reboot.done,\n followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator\n }\n};\n"],"mappings":"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","names":["accu"]}
|
|
@@ -27,6 +27,27 @@ declare const getDeploymentsById: (state: RootState) => Record<string, Deploymen
|
|
|
27
27
|
declare const getDeploymentsByStatus: (state: RootState) => DeploymentByStatus;
|
|
28
28
|
declare const getSelectedDeploymentDeviceIds: (state: RootState) => string[];
|
|
29
29
|
declare const getDeploymentsSelectionState: (state: RootState) => SelectionState;
|
|
30
|
+
declare const getDeploymentById: ((state: any, deploymentId: any) => Deployment) & {
|
|
31
|
+
clearCache: () => void;
|
|
32
|
+
resultsCount: () => number;
|
|
33
|
+
resetResultsCount: () => void;
|
|
34
|
+
} & {
|
|
35
|
+
resultFunc: (resultFuncArgs_0: Record<string, Deployment>, resultFuncArgs_1: any) => Deployment;
|
|
36
|
+
memoizedResultFunc: ((resultFuncArgs_0: Record<string, Deployment>, resultFuncArgs_1: any) => Deployment) & {
|
|
37
|
+
clearCache: () => void;
|
|
38
|
+
resultsCount: () => number;
|
|
39
|
+
resetResultsCount: () => void;
|
|
40
|
+
};
|
|
41
|
+
lastResult: () => Deployment;
|
|
42
|
+
dependencies: [(state: RootState) => Record<string, Deployment>, (_: any, deploymentId: any) => any];
|
|
43
|
+
recomputations: () => number;
|
|
44
|
+
resetRecomputations: () => void;
|
|
45
|
+
dependencyRecomputations: () => number;
|
|
46
|
+
resetDependencyRecomputations: () => void;
|
|
47
|
+
} & {
|
|
48
|
+
memoize: typeof reselect.weakMapMemoize;
|
|
49
|
+
argsMemoize: typeof reselect.weakMapMemoize;
|
|
50
|
+
};
|
|
30
51
|
declare const getMappedDeploymentSelection: ((state: any, deploymentsState: any) => any) & {
|
|
31
52
|
clearCache: () => void;
|
|
32
53
|
resultsCount: () => number;
|
|
@@ -212,4 +233,4 @@ declare const getRecentDeployments: ((state: {
|
|
|
212
233
|
argsMemoize: typeof reselect.weakMapMemoize;
|
|
213
234
|
};
|
|
214
235
|
|
|
215
|
-
export { DEPLOYMENT_CUTOFF, getDeploymentsById, getDeploymentsByStatus, getDeploymentsSelectionState, getMappedDeploymentSelection, getRecentDeployments, getSelectedDeploymentDeviceIds };
|
|
236
|
+
export { DEPLOYMENT_CUTOFF, getDeploymentById, getDeploymentsById, getDeploymentsByStatus, getDeploymentsSelectionState, getMappedDeploymentSelection, getRecentDeployments, getSelectedDeploymentDeviceIds };
|
|
@@ -27,6 +27,27 @@ declare const getDeploymentsById: (state: RootState) => Record<string, Deploymen
|
|
|
27
27
|
declare const getDeploymentsByStatus: (state: RootState) => DeploymentByStatus;
|
|
28
28
|
declare const getSelectedDeploymentDeviceIds: (state: RootState) => string[];
|
|
29
29
|
declare const getDeploymentsSelectionState: (state: RootState) => SelectionState;
|
|
30
|
+
declare const getDeploymentById: ((state: any, deploymentId: any) => Deployment) & {
|
|
31
|
+
clearCache: () => void;
|
|
32
|
+
resultsCount: () => number;
|
|
33
|
+
resetResultsCount: () => void;
|
|
34
|
+
} & {
|
|
35
|
+
resultFunc: (resultFuncArgs_0: Record<string, Deployment>, resultFuncArgs_1: any) => Deployment;
|
|
36
|
+
memoizedResultFunc: ((resultFuncArgs_0: Record<string, Deployment>, resultFuncArgs_1: any) => Deployment) & {
|
|
37
|
+
clearCache: () => void;
|
|
38
|
+
resultsCount: () => number;
|
|
39
|
+
resetResultsCount: () => void;
|
|
40
|
+
};
|
|
41
|
+
lastResult: () => Deployment;
|
|
42
|
+
dependencies: [(state: RootState) => Record<string, Deployment>, (_: any, deploymentId: any) => any];
|
|
43
|
+
recomputations: () => number;
|
|
44
|
+
resetRecomputations: () => void;
|
|
45
|
+
dependencyRecomputations: () => number;
|
|
46
|
+
resetDependencyRecomputations: () => void;
|
|
47
|
+
} & {
|
|
48
|
+
memoize: typeof reselect.weakMapMemoize;
|
|
49
|
+
argsMemoize: typeof reselect.weakMapMemoize;
|
|
50
|
+
};
|
|
30
51
|
declare const getMappedDeploymentSelection: ((state: any, deploymentsState: any) => any) & {
|
|
31
52
|
clearCache: () => void;
|
|
32
53
|
resultsCount: () => number;
|
|
@@ -212,4 +233,4 @@ declare const getRecentDeployments: ((state: {
|
|
|
212
233
|
argsMemoize: typeof reselect.weakMapMemoize;
|
|
213
234
|
};
|
|
214
235
|
|
|
215
|
-
export { DEPLOYMENT_CUTOFF, getDeploymentsById, getDeploymentsByStatus, getDeploymentsSelectionState, getMappedDeploymentSelection, getRecentDeployments, getSelectedDeploymentDeviceIds };
|
|
236
|
+
export { DEPLOYMENT_CUTOFF, getDeploymentById, getDeploymentsById, getDeploymentsByStatus, getDeploymentsSelectionState, getMappedDeploymentSelection, getRecentDeployments, getSelectedDeploymentDeviceIds };
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEPLOYMENT_CUTOFF,
|
|
3
|
+
getDeploymentById,
|
|
3
4
|
getDeploymentsById,
|
|
4
5
|
getDeploymentsByStatus,
|
|
5
6
|
getDeploymentsSelectionState,
|
|
6
7
|
getMappedDeploymentSelection,
|
|
7
8
|
getRecentDeployments,
|
|
8
9
|
getSelectedDeploymentDeviceIds
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-GRVTVLIZ.js";
|
|
11
|
+
import "../chunk-MRXTMI6O.js";
|
|
11
12
|
import "../chunk-2DYA3X77.js";
|
|
12
13
|
import "../chunk-FAJ3I2UQ.js";
|
|
13
14
|
import "../chunk-ZKAH3APE.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-PY6ID7TL.js";
|
|
15
16
|
export {
|
|
16
17
|
DEPLOYMENT_CUTOFF,
|
|
18
|
+
getDeploymentById,
|
|
17
19
|
getDeploymentsById,
|
|
18
20
|
getDeploymentsByStatus,
|
|
19
21
|
getDeploymentsSelectionState,
|
|
@@ -33,6 +33,7 @@ __export(thunks_exports, {
|
|
|
33
33
|
abortDeployment: () => abortDeployment,
|
|
34
34
|
createDeployment: () => createDeployment,
|
|
35
35
|
deriveDeploymentGroup: () => deriveDeploymentGroup,
|
|
36
|
+
generateDeploymentLogAnalysis: () => generateDeploymentLogAnalysis,
|
|
36
37
|
getDeploymentDevices: () => getDeploymentDevices,
|
|
37
38
|
getDeploymentsByStatus: () => getDeploymentsByStatus2,
|
|
38
39
|
getDeploymentsConfig: () => getDeploymentsConfig,
|
|
@@ -912,6 +913,7 @@ var initialState2 = {
|
|
|
912
913
|
},
|
|
913
914
|
// return boolean rather than organization details
|
|
914
915
|
features: {
|
|
916
|
+
hasAiEnabled: false,
|
|
915
917
|
hasAuditlogs: false,
|
|
916
918
|
hasDeltaProgress: false,
|
|
917
919
|
hasMultitenancy: false,
|
|
@@ -1441,6 +1443,23 @@ var initialState7 = {
|
|
|
1441
1443
|
}
|
|
1442
1444
|
*/
|
|
1443
1445
|
},
|
|
1446
|
+
deltaJobs: {
|
|
1447
|
+
/*
|
|
1448
|
+
[jobId]: {
|
|
1449
|
+
id: '',
|
|
1450
|
+
...
|
|
1451
|
+
}
|
|
1452
|
+
*/
|
|
1453
|
+
},
|
|
1454
|
+
deltaJobsList: {
|
|
1455
|
+
...import_constants5.DEVICE_LIST_DEFAULTS,
|
|
1456
|
+
jobIds: [],
|
|
1457
|
+
total: 0,
|
|
1458
|
+
sort: {
|
|
1459
|
+
direction: import_constants5.SORTING_OPTIONS.desc,
|
|
1460
|
+
key: "started"
|
|
1461
|
+
}
|
|
1462
|
+
},
|
|
1444
1463
|
releasesList: {
|
|
1445
1464
|
...import_constants5.DEVICE_LIST_DEFAULTS,
|
|
1446
1465
|
searchedIds: [],
|
|
@@ -1459,6 +1478,7 @@ var initialState7 = {
|
|
|
1459
1478
|
},
|
|
1460
1479
|
tags: [],
|
|
1461
1480
|
updateTypes: [],
|
|
1481
|
+
selectedJob: null,
|
|
1462
1482
|
/*
|
|
1463
1483
|
* Return single release with corresponding Artifacts
|
|
1464
1484
|
*/
|
|
@@ -1491,6 +1511,34 @@ var releaseSlice = (0, import_toolkit7.createSlice)({
|
|
|
1491
1511
|
},
|
|
1492
1512
|
setReleaseListState: (state, action) => {
|
|
1493
1513
|
state.releasesList = action.payload;
|
|
1514
|
+
},
|
|
1515
|
+
receivedDeltaJobs: (state, action) => {
|
|
1516
|
+
const { jobs, total } = action.payload;
|
|
1517
|
+
state.deltaJobs = jobs.reduce(
|
|
1518
|
+
(accu, job) => {
|
|
1519
|
+
accu[job.id] = {
|
|
1520
|
+
...accu[job.id],
|
|
1521
|
+
...job
|
|
1522
|
+
};
|
|
1523
|
+
return accu;
|
|
1524
|
+
},
|
|
1525
|
+
{ ...state.deltaJobs }
|
|
1526
|
+
);
|
|
1527
|
+
state.deltaJobsList.jobIds = jobs.map((job) => job.id);
|
|
1528
|
+
state.deltaJobsList.total = total;
|
|
1529
|
+
},
|
|
1530
|
+
receivedDeltaJobDetails: (state, action) => {
|
|
1531
|
+
const job = action.payload;
|
|
1532
|
+
state.deltaJobs[job.id] = {
|
|
1533
|
+
...state.deltaJobs[job.id],
|
|
1534
|
+
...job
|
|
1535
|
+
};
|
|
1536
|
+
},
|
|
1537
|
+
setDeltaJobsListState: (state, action) => {
|
|
1538
|
+
state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };
|
|
1539
|
+
},
|
|
1540
|
+
setSelectedJob: (state, action) => {
|
|
1541
|
+
state.selectedJob = action.payload;
|
|
1494
1542
|
}
|
|
1495
1543
|
}
|
|
1496
1544
|
});
|
|
@@ -1687,7 +1735,7 @@ var cleanUp = () => {
|
|
|
1687
1735
|
|
|
1688
1736
|
// src/api/general-api.ts
|
|
1689
1737
|
var unauthorizedRedirect = (error) => {
|
|
1690
|
-
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken()) {
|
|
1738
|
+
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
|
|
1691
1739
|
cleanUp();
|
|
1692
1740
|
window.location.replace("/ui/");
|
|
1693
1741
|
}
|
|
@@ -1747,6 +1795,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
|
|
|
1747
1795
|
var getDeploymentsByStatus = (state) => state.deployments.byStatus;
|
|
1748
1796
|
var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
|
|
1749
1797
|
var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
|
|
1798
|
+
var getDeploymentById = (0, import_toolkit10.createSelector)(
|
|
1799
|
+
[getDeploymentsById, (_, deploymentId) => deploymentId],
|
|
1800
|
+
(deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
|
|
1801
|
+
);
|
|
1750
1802
|
var getMappedDeploymentSelection = (0, import_toolkit10.createSelector)(
|
|
1751
1803
|
[getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
|
|
1752
1804
|
(selectionState, deploymentsState, deploymentsById) => {
|
|
@@ -1896,8 +1948,6 @@ var getOnboarding = (state) => state.onboarding;
|
|
|
1896
1948
|
|
|
1897
1949
|
// src/organizationSlice/selectors.ts
|
|
1898
1950
|
var import_toolkit12 = require("@reduxjs/toolkit");
|
|
1899
|
-
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
1900
|
-
var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1);
|
|
1901
1951
|
var getOrganization = (state) => state.organization.organization;
|
|
1902
1952
|
var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
|
|
1903
1953
|
var getAuditLog = (state) => state.organization.auditlog.events;
|
|
@@ -1924,12 +1974,6 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
|
|
|
1924
1974
|
const [eventAction, eventTime] = atob(selectedId).split("|");
|
|
1925
1975
|
return events.find((item) => item.action === eventAction && item.time === eventTime);
|
|
1926
1976
|
});
|
|
1927
|
-
import_dayjs.default.extend(import_relativeTime.default);
|
|
1928
|
-
var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
|
|
1929
|
-
var getHasCurrentPricing = (0, import_toolkit12.createSelector)(
|
|
1930
|
-
[getOrganization],
|
|
1931
|
-
({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
|
|
1932
|
-
);
|
|
1933
1977
|
|
|
1934
1978
|
// src/releasesSlice/selectors.ts
|
|
1935
1979
|
var import_toolkit13 = require("@reduxjs/toolkit");
|
|
@@ -2068,6 +2112,10 @@ var getHasReleases = (0, import_toolkit13.createSelector)(
|
|
|
2068
2112
|
);
|
|
2069
2113
|
var getSelectedRelease = (0, import_toolkit13.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
|
|
2070
2114
|
var getSelectedReleases = (0, import_toolkit13.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
|
|
2115
|
+
var getDeltaJobsById = (state) => state.releases.deltaJobs;
|
|
2116
|
+
var getDeltaJobById = (0, import_toolkit13.createSelector)([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId) => byId[jobId]);
|
|
2117
|
+
var getSelectedJobId = (state) => state.releases.selectedJob;
|
|
2118
|
+
var getSelectedJob = (0, import_toolkit13.createSelector)([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || ""]);
|
|
2071
2119
|
|
|
2072
2120
|
// src/usersSlice/selectors.ts
|
|
2073
2121
|
var import_toolkit14 = require("@reduxjs/toolkit");
|
|
@@ -3136,9 +3184,10 @@ var getDeviceConnect = createAppAsyncThunk(
|
|
|
3136
3184
|
var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
|
|
3137
3185
|
var triggerDeviceUpdate = createAppAsyncThunk(
|
|
3138
3186
|
`${sliceName3}/triggerDeviceUpdate`,
|
|
3139
|
-
({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
|
|
3140
|
-
(
|
|
3141
|
-
|
|
3187
|
+
({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).catch((err) => commonErrorHandler(err, `The request couldn\u2019t be sent.`, dispatch)).then(() => {
|
|
3188
|
+
dispatch(setSnackbar2("Request has been sent."));
|
|
3189
|
+
return new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds));
|
|
3190
|
+
})
|
|
3142
3191
|
);
|
|
3143
3192
|
var getSessionDetails = createAppAsyncThunk(
|
|
3144
3193
|
`${sliceName3}/getSessionDetails`,
|
|
@@ -4125,15 +4174,14 @@ var setAllTooltipsReadState = createAppAsyncThunk(
|
|
|
4125
4174
|
return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
|
|
4126
4175
|
}
|
|
4127
4176
|
);
|
|
4128
|
-
var
|
|
4177
|
+
var submitUserFeedback = createAppAsyncThunk(
|
|
4129
4178
|
`${sliceName8}/submitFeedback`,
|
|
4130
|
-
({
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
4179
|
+
({ formId, feedback }, { dispatch }) => general_api_default.post(`${import_constants5.useradmApiUrlv2}/support/feedback/${formId}`, feedback).then(() => {
|
|
4180
|
+
if (formId === "product") {
|
|
4181
|
+
const today = /* @__PURE__ */ new Date();
|
|
4182
|
+
dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
|
|
4183
|
+
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
4184
|
+
}
|
|
4137
4185
|
})
|
|
4138
4186
|
);
|
|
4139
4187
|
|
|
@@ -4492,11 +4540,21 @@ var saveDeltaDeploymentsConfig = createAppAsyncThunk(
|
|
|
4492
4540
|
});
|
|
4493
4541
|
}
|
|
4494
4542
|
);
|
|
4543
|
+
var generateDeploymentLogAnalysis = createAppAsyncThunk(
|
|
4544
|
+
`${sliceName}/generateDeploymentLogAnalysis`,
|
|
4545
|
+
({ deploymentId, deviceId }, { dispatch, rejectWithValue }) => general_api_default.get(`${import_constants5.apiRoot}/v1alpha1/deployments/deployments/${deploymentId}/devices/${deviceId}/log/explain`).then(({ data: result }) => Promise.resolve(result)).catch((err) => {
|
|
4546
|
+
if (err.response.status === 429) {
|
|
4547
|
+
return rejectWithValue(err.response);
|
|
4548
|
+
}
|
|
4549
|
+
commonErrorHandler(err, "There was an error analysing the deployment log:", dispatch);
|
|
4550
|
+
})
|
|
4551
|
+
);
|
|
4495
4552
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4496
4553
|
0 && (module.exports = {
|
|
4497
4554
|
abortDeployment,
|
|
4498
4555
|
createDeployment,
|
|
4499
4556
|
deriveDeploymentGroup,
|
|
4557
|
+
generateDeploymentLogAnalysis,
|
|
4500
4558
|
getDeploymentDevices,
|
|
4501
4559
|
getDeploymentsByStatus,
|
|
4502
4560
|
getDeploymentsConfig,
|