@northern.tech/store 0.26.1 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/actions.cjs +9 -2
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.js +10 -10
  4. package/dist/api/general-api.js +4 -4
  5. package/dist/api/users-api.js +5 -5
  6. package/dist/appSlice/index.js +3 -3
  7. package/dist/appSlice/mocks.js +3 -3
  8. package/dist/appSlice/thunks.cjs +20 -5
  9. package/dist/appSlice/thunks.cjs.map +1 -1
  10. package/dist/appSlice/thunks.js +26 -26
  11. package/dist/auth.js +3 -3
  12. package/dist/{chunk-F2ADELYA.js → chunk-2QIGK5IU.js} +2 -2
  13. package/dist/{chunk-5Z3UATPD.js → chunk-2S5F4CQS.js} +38 -35
  14. package/dist/chunk-2S5F4CQS.js.map +1 -0
  15. package/dist/{chunk-CJZEPHH3.js → chunk-4YLOOOZH.js} +2 -2
  16. package/dist/{chunk-NRHTBY6E.js → chunk-525LX7VL.js} +2 -2
  17. package/dist/{chunk-2AGBXDGF.js → chunk-66LI4BJO.js} +7 -4
  18. package/dist/{chunk-2AGBXDGF.js.map → chunk-66LI4BJO.js.map} +1 -1
  19. package/dist/{chunk-AERWBWRM.js → chunk-CMXRPUOF.js} +10 -3
  20. package/dist/chunk-CMXRPUOF.js.map +1 -0
  21. package/dist/{chunk-UTVFECIG.js → chunk-CQT3GJNR.js} +21 -18
  22. package/dist/{chunk-UTVFECIG.js.map → chunk-CQT3GJNR.js.map} +1 -1
  23. package/dist/{chunk-CXRORJR5.js → chunk-FAKWYYOB.js} +2 -2
  24. package/dist/{chunk-6OZEBSRX.js → chunk-G2OECV4D.js} +13 -13
  25. package/dist/{chunk-VMVUOCMF.js → chunk-GDB5IZMC.js} +15 -12
  26. package/dist/chunk-GDB5IZMC.js.map +1 -0
  27. package/dist/{chunk-YVHZD73Z.js → chunk-GEJDA2ZF.js} +11 -11
  28. package/dist/{chunk-JKLFEHCF.js → chunk-GX3X2E57.js} +2 -2
  29. package/dist/{chunk-NYDBCHD7.js → chunk-HVZ5BOM6.js} +2 -2
  30. package/dist/{chunk-DIUSRRVW.js → chunk-ILSHXLJ3.js} +17 -17
  31. package/dist/{chunk-X4TGUR22.js → chunk-KR5IU7TA.js} +2 -2
  32. package/dist/{chunk-IJ6KKUA2.js → chunk-LSAJE3IU.js} +2 -2
  33. package/dist/{chunk-IDKMS5RA.js → chunk-QX67O5A2.js} +3 -3
  34. package/dist/{chunk-S7XYEGLR.js → chunk-SDHCQ62K.js} +2 -2
  35. package/dist/{chunk-3IXBQAMO.js → chunk-SDWPOLHM.js} +3 -3
  36. package/dist/{chunk-GLIQTGWN.js → chunk-UBFFGYQ4.js} +2 -2
  37. package/dist/{chunk-6NLGT2LD.js → chunk-VK6FVQ5K.js} +3 -3
  38. package/dist/{chunk-E2X525PA.js → chunk-VLII64V6.js} +2 -2
  39. package/dist/{chunk-WKXBJVZ7.js → chunk-WXRYJOL3.js} +2 -2
  40. package/dist/{chunk-X6AM6P6X.js → chunk-XHLNGIAP.js} +2 -2
  41. package/dist/commonConstants.js +2 -2
  42. package/dist/commonSelectors.cjs +17 -5
  43. package/dist/commonSelectors.cjs.map +1 -1
  44. package/dist/commonSelectors.js +10 -10
  45. package/dist/constants.cjs +9 -2
  46. package/dist/constants.cjs.map +1 -1
  47. package/dist/constants.js +5 -5
  48. package/dist/deploymentsSlice/constants.cjs +9 -2
  49. package/dist/deploymentsSlice/constants.cjs.map +1 -1
  50. package/dist/deploymentsSlice/constants.d.cts +1 -0
  51. package/dist/deploymentsSlice/constants.d.ts +1 -0
  52. package/dist/deploymentsSlice/constants.js +2 -2
  53. package/dist/deploymentsSlice/index.cjs +9 -2
  54. package/dist/deploymentsSlice/index.cjs.map +1 -1
  55. package/dist/deploymentsSlice/index.js +3 -3
  56. package/dist/deploymentsSlice/mocks.cjs +9 -2
  57. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  58. package/dist/deploymentsSlice/mocks.js +3 -3
  59. package/dist/deploymentsSlice/selectors.cjs +9 -2
  60. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  61. package/dist/deploymentsSlice/selectors.js +3 -3
  62. package/dist/deploymentsSlice/thunks.cjs +20 -5
  63. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  64. package/dist/deploymentsSlice/thunks.js +26 -26
  65. package/dist/devicesSlice/constants.js +2 -2
  66. package/dist/devicesSlice/index.js +3 -3
  67. package/dist/devicesSlice/mocks.js +3 -3
  68. package/dist/devicesSlice/selectors.cjs +6 -2
  69. package/dist/devicesSlice/selectors.cjs.map +1 -1
  70. package/dist/devicesSlice/selectors.d.cts +92 -4
  71. package/dist/devicesSlice/selectors.d.ts +92 -4
  72. package/dist/devicesSlice/selectors.js +5 -3
  73. package/dist/devicesSlice/thunks.cjs +20 -5
  74. package/dist/devicesSlice/thunks.cjs.map +1 -1
  75. package/dist/devicesSlice/thunks.js +26 -26
  76. package/dist/liststatehook.cjs +9 -2
  77. package/dist/liststatehook.cjs.map +1 -1
  78. package/dist/liststatehook.js +3 -3
  79. package/dist/locationutils.cjs +9 -2
  80. package/dist/locationutils.cjs.map +1 -1
  81. package/dist/locationutils.js +3 -3
  82. package/dist/monitorSlice/index.js +3 -3
  83. package/dist/monitorSlice/mocks.js +3 -3
  84. package/dist/monitorSlice/thunks.cjs +17 -5
  85. package/dist/monitorSlice/thunks.cjs.map +1 -1
  86. package/dist/monitorSlice/thunks.js +22 -22
  87. package/dist/onboardingSlice/thunks.cjs +20 -5
  88. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  89. package/dist/onboardingSlice/thunks.js +26 -26
  90. package/dist/organizationSlice/constants.js +2 -2
  91. package/dist/organizationSlice/index.js +3 -3
  92. package/dist/organizationSlice/mocks.js +3 -3
  93. package/dist/organizationSlice/selectors.js +3 -3
  94. package/dist/organizationSlice/thunks.cjs +20 -5
  95. package/dist/organizationSlice/thunks.cjs.map +1 -1
  96. package/dist/organizationSlice/thunks.js +26 -26
  97. package/dist/releasesSlice/index.js +3 -3
  98. package/dist/releasesSlice/mocks.js +3 -3
  99. package/dist/releasesSlice/selectors.js +4 -4
  100. package/dist/releasesSlice/thunks.cjs +20 -5
  101. package/dist/releasesSlice/thunks.cjs.map +1 -1
  102. package/dist/releasesSlice/thunks.js +23 -23
  103. package/dist/selectors.cjs +19 -5
  104. package/dist/selectors.cjs.map +1 -1
  105. package/dist/selectors.d.cts +1 -1
  106. package/dist/selectors.d.ts +1 -1
  107. package/dist/selectors.js +25 -23
  108. package/dist/sockethook.js +2 -2
  109. package/dist/store.cjs +9 -2
  110. package/dist/store.cjs.map +1 -1
  111. package/dist/store.js +12 -12
  112. package/dist/storehooks.cjs +23 -5
  113. package/dist/storehooks.cjs.map +1 -1
  114. package/dist/storehooks.js +27 -27
  115. package/dist/thunks.cjs +23 -5
  116. package/dist/thunks.cjs.map +1 -1
  117. package/dist/thunks.js +26 -26
  118. package/dist/useDeploymentDevice.cjs +20 -5
  119. package/dist/useDeploymentDevice.cjs.map +1 -1
  120. package/dist/useDeploymentDevice.js +26 -26
  121. package/dist/usersSlice/constants.js +2 -2
  122. package/dist/usersSlice/index.js +3 -3
  123. package/dist/usersSlice/mocks.js +3 -3
  124. package/dist/usersSlice/selectors.js +4 -4
  125. package/dist/usersSlice/thunks.cjs +20 -5
  126. package/dist/usersSlice/thunks.cjs.map +1 -1
  127. package/dist/usersSlice/thunks.js +26 -26
  128. package/dist/utils.cjs +9 -2
  129. package/dist/utils.cjs.map +1 -1
  130. package/dist/utils.js +3 -3
  131. package/package.json +1 -1
  132. package/dist/chunk-5Z3UATPD.js.map +0 -1
  133. package/dist/chunk-AERWBWRM.js.map +0 -1
  134. package/dist/chunk-VMVUOCMF.js.map +0 -1
  135. /package/dist/{chunk-F2ADELYA.js.map → chunk-2QIGK5IU.js.map} +0 -0
  136. /package/dist/{chunk-CJZEPHH3.js.map → chunk-4YLOOOZH.js.map} +0 -0
  137. /package/dist/{chunk-NRHTBY6E.js.map → chunk-525LX7VL.js.map} +0 -0
  138. /package/dist/{chunk-CXRORJR5.js.map → chunk-FAKWYYOB.js.map} +0 -0
  139. /package/dist/{chunk-6OZEBSRX.js.map → chunk-G2OECV4D.js.map} +0 -0
  140. /package/dist/{chunk-YVHZD73Z.js.map → chunk-GEJDA2ZF.js.map} +0 -0
  141. /package/dist/{chunk-JKLFEHCF.js.map → chunk-GX3X2E57.js.map} +0 -0
  142. /package/dist/{chunk-NYDBCHD7.js.map → chunk-HVZ5BOM6.js.map} +0 -0
  143. /package/dist/{chunk-DIUSRRVW.js.map → chunk-ILSHXLJ3.js.map} +0 -0
  144. /package/dist/{chunk-X4TGUR22.js.map → chunk-KR5IU7TA.js.map} +0 -0
  145. /package/dist/{chunk-IJ6KKUA2.js.map → chunk-LSAJE3IU.js.map} +0 -0
  146. /package/dist/{chunk-IDKMS5RA.js.map → chunk-QX67O5A2.js.map} +0 -0
  147. /package/dist/{chunk-S7XYEGLR.js.map → chunk-SDHCQ62K.js.map} +0 -0
  148. /package/dist/{chunk-3IXBQAMO.js.map → chunk-SDWPOLHM.js.map} +0 -0
  149. /package/dist/{chunk-GLIQTGWN.js.map → chunk-UBFFGYQ4.js.map} +0 -0
  150. /package/dist/{chunk-6NLGT2LD.js.map → chunk-VK6FVQ5K.js.map} +0 -0
  151. /package/dist/{chunk-E2X525PA.js.map → chunk-VLII64V6.js.map} +0 -0
  152. /package/dist/{chunk-WKXBJVZ7.js.map → chunk-WXRYJOL3.js.map} +0 -0
  153. /package/dist/{chunk-X6AM6P6X.js.map → chunk-XHLNGIAP.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/releasesSlice/thunks.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { ArtifactUpdateV1, ReleaseUpdate, ReleaseV1, ReleaseV2, Tags } from '@northern.tech/types/MenderTypes';\nimport { customSort, deepCompare, duplicateFilter, extractSoftwareItem } from '@northern.tech/utils/helpers';\nimport type { AxiosResponse } from 'axios';\nimport { isCancel } from 'axios';\nimport { v4 as uuid } from 'uuid';\n\nimport type { Artifact, Release, ReleaseSliceType, ReleasesList } from '.';\nimport { actions, sliceName } from '.';\nimport storeActions from '../actions';\nimport GeneralApi from '../api/general-api';\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS, TIMEOUTS, deploymentsApiUrl, deploymentsApiUrlV2, emptyFilter, headerNames } from '../constants';\nimport type { SortOptions } from '../constants';\nimport { formatReleases } from '../locationutils';\nimport { getSearchEndpoint } from '../selectors';\nimport type { AppDispatch } from '../store';\nimport { commonErrorFallback, commonErrorHandler, createAppAsyncThunk } from '../store';\nimport { convertDeviceListStateToFilters, progress } from '../utils';\nimport { ARTIFACT_GENERATION_TYPE } from './constants';\nimport { getReleasesById } from './selectors';\n\nconst { setSnackbar, initUpload, uploadProgress, cleanUpUpload } = storeActions;\nconst { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;\n\nconst sortingDefaults = { direction: SORTING_OPTIONS.desc, key: 'modified' };\n\ntype ReceivedRelease = ReleaseV1 & ReleaseV2;\nconst flattenRelease = (release: ReceivedRelease, stateRelease: Release): Release => {\n const updatedArtifacts = release.artifacts?.sort(customSort(true, 'modified')) || [];\n const { artifacts, deviceTypes, modified } = updatedArtifacts.reduce<{ artifacts: Artifact[]; deviceTypes: string[]; modified: undefined | string }>(\n (accu, item) => {\n accu.deviceTypes.push(...item.device_types_compatible);\n const stateArtifact = stateRelease.artifacts?.find(releaseArtifact => releaseArtifact.id === item.id) || {};\n accu.modified = accu.modified ? accu.modified : item.modified;\n accu.artifacts.push({\n ...stateArtifact,\n ...item\n });\n return accu;\n },\n { artifacts: [], deviceTypes: [], modified: undefined }\n );\n return { ...stateRelease, ...release, artifacts, device_types_compatible: deviceTypes.filter(duplicateFilter), modified };\n};\n\nconst reduceReceivedReleases = (releases: ReceivedRelease[], stateReleasesById: Record<string, Release>) =>\n releases.reduce<Record<string, Release>>((accu, release) => {\n const name = (release.name ?? release.Name)!;\n const stateRelease = stateReleasesById[name] || {};\n accu[name] = flattenRelease(release, stateRelease);\n return accu;\n }, {});\n\nconst findArtifactIndexInRelease = (releases: Record<string, Release>, id: string) =>\n Object.values(releases).reduce<{ index: number; release: Release | null }>(\n (accu, item) => {\n const index = item.artifacts?.findIndex(releaseArtifact => releaseArtifact.id === id) ?? -1;\n if (index > -1) {\n accu = { release: item, index };\n }\n return accu;\n },\n { release: null, index: -1 }\n );\n\n/* Artifacts */\nexport const getArtifactInstallCount = createAppAsyncThunk(`${sliceName}/getArtifactInstallCount`, (id: string, { dispatch, getState }) => {\n const { release, index } = findArtifactIndexInRelease(getReleasesById(getState()), id);\n if (!release || index === -1) {\n return;\n }\n const releaseArtifacts = [...release.artifacts];\n const artifact = releaseArtifacts[index];\n const { key, name, version } = extractSoftwareItem(artifact.artifact_provides) ?? {};\n const attribute = `${key}${name ? `.${name}` : ''}.version`;\n const { filterTerms } = convertDeviceListStateToFilters({\n filters: [{ ...emptyFilter, key: attribute, value: version!, scope: 'inventory' }]\n });\n return GeneralApi.post(getSearchEndpoint(getState()), {\n page: 1,\n per_page: 1,\n filters: filterTerms,\n attributes: [{ scope: 'identity', attribute: 'status' }]\n })\n .catch(err => commonErrorHandler(err, `Retrieving artifact installation count failed:`, dispatch, commonErrorFallback))\n .then(({ headers }) => {\n const foundRelease = findArtifactIndexInRelease(getReleasesById(getState()), id);\n const index = foundRelease.index;\n let release = foundRelease.release;\n if (!release || index === -1) {\n return;\n }\n const installCount = Number(headers[headerNames.total]);\n const releaseArtifacts = [...release.artifacts];\n releaseArtifacts[index] = { ...releaseArtifacts[index], installCount };\n release = {\n ...release,\n artifacts: releaseArtifacts\n };\n return dispatch(actions.receiveRelease(release));\n });\n});\n\nexport const getArtifactUrl = createAppAsyncThunk(`${sliceName}/getArtifactUrl`, (id: string, { dispatch, getState }) =>\n GeneralApi.get(`${deploymentsApiUrl}/artifacts/${id}/download`).then(response => {\n const foundRelease = findArtifactIndexInRelease(getReleasesById(getState()), id);\n const index = foundRelease.index;\n let release = foundRelease.release;\n if (!release || index === -1) {\n return dispatch(getReleases()) as ReturnType<AppDispatch>;\n }\n const releaseArtifacts = [...release.artifacts];\n releaseArtifacts[index] = {\n ...releaseArtifacts[index],\n url: response.data.uri\n };\n release = {\n ...release,\n artifacts: releaseArtifacts\n };\n return dispatch(actions.receiveRelease(release));\n })\n);\n\nconst pollLocation = async (location, attempt = 1, maxAttempts = 5, delay = TIMEOUTS.oneSecond) => {\n try {\n await GeneralApi.get(location);\n return Promise.resolve();\n } catch {\n if (attempt >= maxAttempts) {\n throw new Error(`Couldn't get ${location} after ${maxAttempts} attempts`);\n }\n await new Promise(resolve => setTimeout(resolve, delay));\n return pollLocation(location, attempt + 1, maxAttempts, delay);\n }\n};\n\ntype ArtifactPayload = {\n file: File;\n meta: {\n args?: {\n dest_dir: string;\n filename: string;\n software_filesystem: string;\n software_name: string;\n software_version: string;\n };\n description: string;\n device_types_compatible?: string[];\n name?: string;\n };\n};\nexport const createArtifact = createAppAsyncThunk(`${sliceName}/createArtifact`, ({ file, meta }: ArtifactPayload, { dispatch }) => {\n const formData = Object.entries(meta).reduce((accu, [key, value]) => {\n if (Array.isArray(value)) {\n accu.append(key, value.join(','));\n } else if (value instanceof Object) {\n accu.append(key, JSON.stringify(value));\n } else {\n accu.append(key, value);\n }\n return accu;\n }, new FormData());\n formData.append('type', ARTIFACT_GENERATION_TYPE.SINGLE_FILE);\n formData.append('file', file);\n const uploadId = uuid();\n const cancelSource = new AbortController();\n return Promise.all([\n dispatch(setSnackbar('Generating artifact')),\n dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size, progress: 0, cancelSource } })),\n GeneralApi.upload(\n `${deploymentsApiUrl}/artifacts/generate`,\n formData,\n (e: { loaded: number; total: number }) => dispatch(uploadProgress({ id: uploadId, progress: progress(e) })),\n cancelSource.signal\n )\n ])\n .then(tasks => {\n const generateResponse = tasks[tasks.length - 1] as AxiosResponse;\n const generateLocation = generateResponse.headers[headerNames.location] as string;\n const location = generateLocation.replace('/generate', '');\n return pollLocation(location);\n })\n .then(() =>\n Promise.all([\n dispatch(getReleases()),\n dispatch(selectRelease(meta.name!)),\n dispatch(setSnackbar({ message: 'Upload successful', autoHideDuration: TIMEOUTS.fiveSeconds }))\n ])\n )\n .catch(err => {\n if (isCancel(err)) {\n return dispatch(setSnackbar({ message: 'The artifact generation has been cancelled', autoHideDuration: TIMEOUTS.fiveSeconds }));\n }\n return commonErrorHandler(err, `Artifact couldn't be generated.`, dispatch);\n })\n .finally(() => dispatch(cleanUpUpload(uploadId)));\n});\n\nexport const uploadArtifact = createAppAsyncThunk(`${sliceName}/uploadArtifact`, ({ file, meta }: ArtifactPayload, { dispatch }) => {\n const formData = new FormData();\n formData.append('size', file.size.toString());\n formData.append('description', meta.description);\n formData.append('artifact', file);\n const uploadId = uuid();\n const cancelSource = new AbortController();\n return Promise.all([\n dispatch(setSnackbar('Uploading artifact')),\n dispatch(initUpload({ id: uploadId, upload: { name: file.name, size: file.size, progress: 0, cancelSource } })),\n GeneralApi.upload(\n `${deploymentsApiUrl}/artifacts`,\n formData,\n (e: { loaded: number; total: number }) => dispatch(uploadProgress({ id: uploadId, progress: progress(e) })),\n cancelSource.signal\n )\n ])\n .then(() => {\n const tasks: ReturnType<AppDispatch>[] = [\n dispatch(setSnackbar({ message: 'Upload successful', autoHideDuration: TIMEOUTS.fiveSeconds })),\n dispatch(getReleases())\n ];\n if (meta.name) {\n tasks.push(dispatch(selectRelease(meta.name)));\n }\n return Promise.all(tasks);\n })\n .catch(err => {\n if (isCancel(err)) {\n return dispatch(setSnackbar({ message: 'The upload has been cancelled', autoHideDuration: TIMEOUTS.fiveSeconds }));\n }\n return commonErrorHandler(err, `Artifact couldn't be uploaded.`, dispatch);\n })\n .finally(() => dispatch(cleanUpUpload(uploadId)));\n});\n\nexport const cancelFileUpload = createAppAsyncThunk(`${sliceName}/cancelFileUpload`, (id: string, { dispatch, getState }) => {\n const { [id]: current } = getState().app.uploadsById;\n current.cancelSource.abort();\n return Promise.resolve(dispatch(cleanUpUpload(id)));\n});\n\nexport const editArtifact = createAppAsyncThunk(`${sliceName}/editArtifact`, ({ id, body }: { body: ArtifactUpdateV1; id: string }, { dispatch, getState }) =>\n GeneralApi.put(`${deploymentsApiUrl}/artifacts/${id}`, body)\n .catch(err => commonErrorHandler(err, `Artifact details couldn't be updated.`, dispatch))\n .then(() => {\n const state = getState();\n const { release, index } = findArtifactIndexInRelease(getReleasesById(state), id);\n if (!release || index === -1) {\n return dispatch(getReleases()) as ReturnType<AppDispatch>;\n }\n const updatedRelease = {\n ...release,\n artifacts: release.artifacts.map((artifact, i) => (i === index ? { ...artifact, description: body.description || '' } : artifact))\n };\n return Promise.all([\n dispatch(actions.receiveRelease(updatedRelease)),\n dispatch(setSnackbar({ message: 'Artifact details were updated successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' })),\n dispatch(getRelease(release.name)),\n dispatch(selectRelease(release.name))\n ]);\n })\n);\n\nexport const removeArtifact = createAppAsyncThunk(`${sliceName}/removeArtifact`, (id: string, { dispatch, getState }) =>\n GeneralApi.delete(`${deploymentsApiUrl}/artifacts/${id}`)\n .then(() => {\n const state = getState();\n const { release, index } = findArtifactIndexInRelease(getReleasesById(state), id);\n if (!release || index === -1) {\n return dispatch(getReleases()) as ReturnType<AppDispatch>;\n }\n const releaseArtifacts = [...release.artifacts];\n releaseArtifacts.splice(index, 1);\n if (!releaseArtifacts.length) {\n const { releasesList } = state.releases;\n const releaseIds = releasesList.releaseIds.filter(id => release.name !== id);\n return Promise.all([\n dispatch(actions.removeRelease(release.name)),\n dispatch(\n setReleasesListState({\n releaseIds,\n searchTotal: releasesList.searchTerm ? releasesList.searchTotal - 1 : releasesList.searchTotal,\n total: releasesList.total - 1\n })\n )\n ]) as ReturnType<AppDispatch>;\n }\n return Promise.all([\n dispatch(setSnackbar({ message: 'Artifact was removed', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' })),\n dispatch(actions.receiveRelease(release))\n ]) as ReturnType<AppDispatch>;\n })\n .catch(err => commonErrorHandler(err, `Error removing artifact:`, dispatch))\n);\n\nexport const removeRelease = createAppAsyncThunk(`${sliceName}/removeRelease`, (releaseId: string, { dispatch, getState }) =>\n Promise.all(getReleasesById(getState())[releaseId].artifacts.map(({ id }) => dispatch(removeArtifact(id)))).then(() => dispatch(selectRelease(null)))\n);\n\nexport const removeReleases = createAppAsyncThunk(`${sliceName}/removeReleases`, (releaseIds: string[], { dispatch, getState }) => {\n const deleteRequests = releaseIds.reduce<ReturnType<AppDispatch>>((accu, releaseId) => {\n const releaseArtifacts = getReleasesById(getState())[releaseId].artifacts;\n accu.push(releaseArtifacts.map(({ id }) => dispatch(removeArtifact(id))));\n return accu;\n }, []);\n return Promise.all(deleteRequests);\n});\n\nexport const selectRelease = createAppAsyncThunk(`${sliceName}/selectRelease`, (release: Release | string | null, { dispatch }) => {\n const name = (release && typeof release === 'object' ? release.name : release) || null;\n const tasks: ReturnType<AppDispatch> = [dispatch(actions.selectedRelease(name))];\n if (name) {\n tasks.push(dispatch(getRelease(name)));\n }\n return Promise.all(tasks);\n});\n\nexport const setReleasesListState = createAppAsyncThunk(\n `${sliceName}/setReleasesListState`,\n (selectionState: Partial<ReleasesList>, { dispatch, getState }) => {\n const currentState = getState().releases.releasesList;\n const nextState = {\n ...currentState,\n ...selectionState,\n sort: { ...currentState.sort, ...selectionState.sort } as SortOptions\n };\n const tasks: ReturnType<AppDispatch> = [];\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { isLoading: currentLoading, ...currentRequestState } = currentState;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { isLoading: selectionLoading, ...selectionRequestState } = nextState;\n if (!deepCompare(currentRequestState, selectionRequestState)) {\n nextState.isLoading = true;\n tasks.push(dispatch(getReleases(nextState)).finally(() => dispatch(setReleasesListState({ isLoading: false }))));\n }\n if (\n !nextState.searchOnly &&\n (currentState.page !== nextState.page || currentState.perPage > nextState.perPage || !deepCompare(currentState.sort, nextState.sort))\n ) {\n nextState.selection = [];\n }\n tasks.push(dispatch(actions.setReleaseListState(nextState)));\n return Promise.all(tasks);\n }\n);\n\n/* Releases */\n\nconst releaseListRetrieval = (config: Partial<ReleasesList>) => {\n const { searchTerm = '', page = defaultPage, perPage = defaultPerPage, sort = sortingDefaults, selectedTags = [], type = '' } = config;\n const { key: attribute, direction } = sort;\n const filterQuery = formatReleases({ pageState: { searchTerm, selectedTags } });\n const updateType = type ? `update_type=${type}` : '';\n const sorting = attribute ? `sort=${attribute}:${direction}`.toLowerCase() : '';\n return GeneralApi.get<Array<Release>>(\n `${deploymentsApiUrlV2}/deployments/releases?${[`page=${page}`, `per_page=${perPage}`, filterQuery, updateType, sorting].filter(i => i).join('&')}`\n );\n};\n\nconst deductSearchState = (receivedReleases: Release[], config, total: number, state: ReleaseSliceType) => {\n let releaseListState = { ...state.releasesList };\n const { searchTerm, searchOnly, sort = {}, selectedTags = [], type } = config;\n const flattenedReleases = Object.values(receivedReleases).sort(customSort(sort.direction === SORTING_OPTIONS.desc, sort.key));\n const releaseIds = flattenedReleases.map(item => item.name);\n const isFiltering = !!(selectedTags.length || type || searchTerm);\n if (searchOnly) {\n releaseListState = { ...releaseListState, searchedIds: releaseIds };\n } else {\n releaseListState = {\n ...releaseListState,\n releaseIds,\n searchTotal: isFiltering ? total : state.releasesList.searchTotal,\n total: !isFiltering ? total : state.releasesList.total\n };\n }\n return releaseListState;\n};\n\nexport const getReleases = createAppAsyncThunk(`${sliceName}/getReleases`, (passedConfig: Partial<ReleasesList> | undefined = {}, { dispatch, getState }) => {\n const config = { ...getState().releases.releasesList, ...passedConfig };\n return releaseListRetrieval(config)\n .then(({ data: receivedReleases = [], headers = {} }) => {\n const total = headers[headerNames.total] ? Number(headers[headerNames.total]) : 0;\n const state = getState().releases;\n const flatReleases = reduceReceivedReleases(receivedReleases, state.byId);\n const combinedReleases = { ...state.byId, ...flatReleases };\n const tasks: ReturnType<AppDispatch> = [dispatch(actions.receiveReleases(combinedReleases))];\n const releaseListState = deductSearchState(receivedReleases, config, total, state);\n tasks.push(dispatch(actions.setReleaseListState(releaseListState)));\n return Promise.all(tasks);\n })\n .catch(err => commonErrorHandler(err, `Please check your connection`, dispatch));\n});\n\nexport const getRelease = createAppAsyncThunk(`${sliceName}/getReleases`, async (name: string, { dispatch, getState }) => {\n const releaseResponse = await GeneralApi.get(`${deploymentsApiUrlV2}/deployments/releases/${name}`);\n const { data: release } = releaseResponse;\n if (release) {\n const stateRelease = getReleasesById(getState())[release.name] || {};\n await dispatch(actions.receiveRelease(flattenRelease(release, stateRelease)));\n }\n return Promise.resolve(null);\n});\n\nexport const updateReleaseInfo = createAppAsyncThunk(\n `${sliceName}/updateReleaseInfo`,\n ({ name, info }: { info: ReleaseUpdate; name: string }, { dispatch, getState }) =>\n GeneralApi.patch(`${deploymentsApiUrlV2}/deployments/releases/${name}`, info)\n .catch(err => commonErrorHandler(err, `Release details couldn't be updated.`, dispatch))\n .then(() =>\n Promise.all([\n dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], ...info, name })),\n dispatch(setSnackbar({ message: 'Release details were updated successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' }))\n ])\n )\n);\n\nexport const setSingleReleaseTags = createAppAsyncThunk(\n `${sliceName}/setSingleReleaseTags`,\n ({ name, tags }: { name: string; tags: Tags }, { dispatch, getState }) =>\n GeneralApi.put(`${deploymentsApiUrlV2}/deployments/releases/${name}/tags`, tags).then(() =>\n Promise.resolve(dispatch(actions.receiveRelease({ ...getReleasesById(getState())[name], name, tags })))\n )\n);\n\nexport const setReleaseTags = createAppAsyncThunk(`${sliceName}/setReleaseTags`, ({ name, tags = [] }: { name: string; tags: Tags }, { dispatch }) =>\n dispatch(setSingleReleaseTags({ name, tags }))\n .catch(err => commonErrorHandler(err, `Release tags couldn't be set.`, dispatch))\n .then(() => Promise.resolve(dispatch(setSnackbar({ message: 'Release tags were set successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' }))))\n);\n\nexport const setReleasesTags = createAppAsyncThunk(\n `${sliceName}/setReleasesTags`,\n ({ releases, tags = [] }: { releases: Release[]; tags: Tags }, { dispatch }) => {\n const addRequests = releases.reduce<ReturnType<AppDispatch>>((accu, release) => {\n accu.push(dispatch(setSingleReleaseTags({ name: release.name, tags: [...new Set([...(release.tags ? release.tags : []), ...tags])] })));\n return accu;\n }, []);\n return Promise.all(addRequests)\n .catch(err => commonErrorHandler(err, `Releases couldn't be tagged.`, dispatch))\n .then(() =>\n Promise.resolve(dispatch(setSnackbar({ message: 'Releases were tagged successfully.', autoHideDuration: TIMEOUTS.fiveSeconds, action: '' })))\n );\n }\n);\n\nexport const getExistingReleaseTags = createAppAsyncThunk(`${sliceName}/getReleaseTags`, (_, { dispatch }) =>\n GeneralApi.get(`${deploymentsApiUrlV2}/releases/all/tags`)\n .catch(err => commonErrorHandler(err, `Existing release tags couldn't be retrieved.`, dispatch))\n .then(({ data: tags }) => Promise.resolve(dispatch(actions.receiveReleaseTags(tags))))\n);\n\nexport const getUpdateTypes = createAppAsyncThunk(`${sliceName}/getReleaseTypes`, (_, { dispatch }) =>\n GeneralApi.get(`${deploymentsApiUrlV2}/releases/all/types`)\n .catch(err => commonErrorHandler(err, `Existing update types couldn't be retrieved.`, dispatch))\n .then(({ data: types }) => Promise.resolve(dispatch(actions.receiveReleaseTypes(types))))\n);\n\ninterface DeltaListingProps {\n page?: number;\n perPage?: number;\n sort?: SortOptions;\n}\nexport const getDeltaGenerationJobs = createAppAsyncThunk(`${sliceName}/getDeltaGenerationJobs`, (options: DeltaListingProps = {}, { dispatch }) => {\n const { page = defaultPage, perPage = defaultPerPage, sort = {} } = options;\n const { key: sortKey, direction: sortDirection } = sort as SortOptions;\n const sortParam = sortKey && sortDirection ? `&sort=${sortKey}:${sortDirection}` : '';\n return GeneralApi.get(`${deploymentsApiUrlV2}/deployments/releases/delta/jobs?page=${page}&per_page=${perPage}${sortParam}`)\n .then(({ data, headers }) => {\n const total = Number(headers[headerNames.total]) || data.length;\n const result = { jobs: data, total };\n return Promise.all([dispatch(actions.receivedDeltaJobs(result)), result]);\n })\n .catch(err => commonErrorHandler(err, 'There was an error retrieving delta generation jobs:', dispatch));\n});\n\nexport const getDeltaGenerationJobDetails = createAppAsyncThunk(`${sliceName}/getDeltaGenerationJobDetails`, (jobId, { dispatch }) =>\n GeneralApi.get(`${deploymentsApiUrlV2}/deployments/releases/delta/jobs/${jobId}`)\n .then(({ data }) => dispatch(actions.receivedDeltaJobDetails({ ...data, id: jobId })))\n .catch(err => commonErrorHandler(err, 'There was an error retrieving delta generation job details:', dispatch))\n);\n"],"mappings":"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","names":["index","release","releaseArtifacts","id"]}
@@ -1,34 +1,34 @@
1
+ import {
2
+ general_api_default
3
+ } from "./chunk-VK6FVQ5K.js";
1
4
  import {
2
5
  commonErrorFallback,
3
6
  commonErrorHandler,
4
7
  createAppAsyncThunk
5
- } from "./chunk-DIUSRRVW.js";
6
- import {
7
- general_api_default
8
- } from "./chunk-6NLGT2LD.js";
8
+ } from "./chunk-ILSHXLJ3.js";
9
9
  import {
10
10
  actions_default
11
- } from "./chunk-6OZEBSRX.js";
11
+ } from "./chunk-G2OECV4D.js";
12
12
  import {
13
13
  actions,
14
14
  sliceName
15
- } from "./chunk-NYDBCHD7.js";
15
+ } from "./chunk-HVZ5BOM6.js";
16
16
  import {
17
17
  getSearchEndpoint
18
- } from "./chunk-UTVFECIG.js";
18
+ } from "./chunk-CQT3GJNR.js";
19
19
  import {
20
20
  getDeviceFilters
21
- } from "./chunk-2AGBXDGF.js";
21
+ } from "./chunk-66LI4BJO.js";
22
22
  import {
23
23
  convertDeviceListStateToFilters
24
- } from "./chunk-S7XYEGLR.js";
24
+ } from "./chunk-SDHCQ62K.js";
25
25
  import {
26
26
  DEVICE_LIST_DEFAULTS,
27
27
  TIMEOUTS,
28
28
  alertChannels,
29
29
  headerNames,
30
30
  monitorApiUrlv1
31
- } from "./chunk-AERWBWRM.js";
31
+ } from "./chunk-CMXRPUOF.js";
32
32
 
33
33
  // src/monitorSlice/thunks.ts
34
34
  var { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;
@@ -107,4 +107,4 @@ export {
107
107
  getDeviceMonitorConfig,
108
108
  changeNotificationSetting
109
109
  };
110
- //# sourceMappingURL=chunk-YVHZD73Z.js.map
110
+ //# sourceMappingURL=chunk-GEJDA2ZF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SORTING_OPTIONS
3
- } from "./chunk-AERWBWRM.js";
3
+ } from "./chunk-CMXRPUOF.js";
4
4
 
5
5
  // src/appSlice/index.ts
6
6
  import { createSlice } from "@reduxjs/toolkit";
@@ -154,4 +154,4 @@ export {
154
154
  actions,
155
155
  appSlice_default
156
156
  };
157
- //# sourceMappingURL=chunk-JKLFEHCF.js.map
157
+ //# sourceMappingURL=chunk-GX3X2E57.js.map
@@ -2,7 +2,7 @@ import {
2
2
  DEVICE_ISSUE_OPTIONS,
3
3
  DEVICE_LIST_DEFAULTS,
4
4
  alertChannels
5
- } from "./chunk-AERWBWRM.js";
5
+ } from "./chunk-CMXRPUOF.js";
6
6
 
7
7
  // src/monitorSlice/index.ts
8
8
  import { createSlice } from "@reduxjs/toolkit";
@@ -58,4 +58,4 @@ export {
58
58
  actions,
59
59
  monitorSlice_default
60
60
  };
61
- //# sourceMappingURL=chunk-NYDBCHD7.js.map
61
+ //# sourceMappingURL=chunk-HVZ5BOM6.js.map
@@ -1,39 +1,39 @@
1
1
  import {
2
2
  actions_default
3
- } from "./chunk-6OZEBSRX.js";
3
+ } from "./chunk-G2OECV4D.js";
4
4
  import {
5
5
  releasesSlice_default
6
- } from "./chunk-NRHTBY6E.js";
6
+ } from "./chunk-525LX7VL.js";
7
7
  import {
8
8
  actions as actions2,
9
9
  usersSlice_default
10
- } from "./chunk-CJZEPHH3.js";
10
+ } from "./chunk-4YLOOOZH.js";
11
11
  import {
12
- actions,
13
- organizationSlice_default
14
- } from "./chunk-IJ6KKUA2.js";
12
+ onboardingSlice_default
13
+ } from "./chunk-CQXDAXQF.js";
15
14
  import {
16
15
  monitorSlice_default
17
- } from "./chunk-NYDBCHD7.js";
16
+ } from "./chunk-HVZ5BOM6.js";
18
17
  import {
19
- onboardingSlice_default
20
- } from "./chunk-CQXDAXQF.js";
18
+ actions,
19
+ organizationSlice_default
20
+ } from "./chunk-LSAJE3IU.js";
21
+ import {
22
+ devicesSlice_default
23
+ } from "./chunk-UBFFGYQ4.js";
21
24
  import {
22
25
  deploymentsSlice_default
23
- } from "./chunk-F2ADELYA.js";
26
+ } from "./chunk-2QIGK5IU.js";
24
27
  import {
25
28
  appSlice_default
26
- } from "./chunk-JKLFEHCF.js";
27
- import {
28
- devicesSlice_default
29
- } from "./chunk-GLIQTGWN.js";
29
+ } from "./chunk-GX3X2E57.js";
30
30
  import {
31
31
  getToken
32
- } from "./chunk-WKXBJVZ7.js";
32
+ } from "./chunk-WXRYJOL3.js";
33
33
  import {
34
34
  USER_LOGOUT,
35
35
  settingsKeys
36
- } from "./chunk-AERWBWRM.js";
36
+ } from "./chunk-CMXRPUOF.js";
37
37
 
38
38
  // src/store.ts
39
39
  import { useDispatch } from "react-redux";
@@ -139,4 +139,4 @@ export {
139
139
  useAppDispatch,
140
140
  createAppAsyncThunk
141
141
  };
142
- //# sourceMappingURL=chunk-DIUSRRVW.js.map
142
+ //# sourceMappingURL=chunk-ILSHXLJ3.js.map
@@ -9,7 +9,7 @@ import {
9
9
  DEVICE_LIST_DEFAULTS,
10
10
  UNGROUPED_GROUP,
11
11
  emptyFilter
12
- } from "./chunk-AERWBWRM.js";
12
+ } from "./chunk-CMXRPUOF.js";
13
13
 
14
14
  // src/locationutils.ts
15
15
  import { deepCompare, getISOStringBoundaries } from "@northern.tech/utils/helpers";
@@ -393,4 +393,4 @@ export {
393
393
  parseTenantsQuery,
394
394
  formatTenants
395
395
  };
396
- //# sourceMappingURL=chunk-X4TGUR22.js.map
396
+ //# sourceMappingURL=chunk-KR5IU7TA.js.map
@@ -2,7 +2,7 @@ import {
2
2
  DEVICE_LIST_DEFAULTS,
3
3
  SORTING_OPTIONS,
4
4
  TENANT_LIST_DEFAULT
5
- } from "./chunk-AERWBWRM.js";
5
+ } from "./chunk-CMXRPUOF.js";
6
6
 
7
7
  // src/organizationSlice/index.ts
8
8
  import { createSlice } from "@reduxjs/toolkit";
@@ -112,4 +112,4 @@ export {
112
112
  actions,
113
113
  organizationSlice_default
114
114
  };
115
- //# sourceMappingURL=chunk-IJ6KKUA2.js.map
115
+ //# sourceMappingURL=chunk-LSAJE3IU.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  isDarkMode
3
- } from "./chunk-S7XYEGLR.js";
3
+ } from "./chunk-SDHCQ62K.js";
4
4
  import {
5
5
  DEVICE_ONLINE_CUTOFF,
6
6
  READ_STATES,
7
7
  defaultIdAttribute,
8
8
  twoFAStates
9
- } from "./chunk-AERWBWRM.js";
9
+ } from "./chunk-CMXRPUOF.js";
10
10
 
11
11
  // src/usersSlice/selectors.ts
12
12
  import { createSelector } from "@reduxjs/toolkit";
@@ -79,4 +79,4 @@ export {
79
79
  getRolesInitialized,
80
80
  getSecurityAlertDismissedTimestamp
81
81
  };
82
- //# sourceMappingURL=chunk-IDKMS5RA.js.map
82
+ //# sourceMappingURL=chunk-QX67O5A2.js.map
@@ -10,7 +10,7 @@ import {
10
10
  deploymentStatesToSubstatesWithSkipped,
11
11
  emptyFilter,
12
12
  emptyUiPermissions
13
- } from "./chunk-AERWBWRM.js";
13
+ } from "./chunk-CMXRPUOF.js";
14
14
  import {
15
15
  softwareIndicator
16
16
  } from "./chunk-2DYA3X77.js";
@@ -243,4 +243,4 @@ export {
243
243
  parseSubscriptionPreview,
244
244
  convertToBackendSPLimits
245
245
  };
246
- //# sourceMappingURL=chunk-S7XYEGLR.js.map
246
+ //# sourceMappingURL=chunk-SDHCQ62K.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  commonRequestConfig
3
- } from "./chunk-6NLGT2LD.js";
3
+ } from "./chunk-VK6FVQ5K.js";
4
4
  import {
5
5
  getToken
6
- } from "./chunk-WKXBJVZ7.js";
6
+ } from "./chunk-WXRYJOL3.js";
7
7
 
8
8
  // src/api/users-api.ts
9
9
  import axios from "axios";
@@ -22,4 +22,4 @@ var users_api_default = Api;
22
22
  export {
23
23
  users_api_default
24
24
  };
25
- //# sourceMappingURL=chunk-3IXBQAMO.js.map
25
+ //# sourceMappingURL=chunk-SDWPOLHM.js.map
@@ -2,7 +2,7 @@ import {
2
2
  DEVICE_LIST_DEFAULTS,
3
3
  DEVICE_STATES,
4
4
  SORTING_OPTIONS
5
- } from "./chunk-AERWBWRM.js";
5
+ } from "./chunk-CMXRPUOF.js";
6
6
 
7
7
  // src/devicesSlice/index.ts
8
8
  import { deepCompare, duplicateFilter } from "@northern.tech/utils/helpers";
@@ -201,4 +201,4 @@ export {
201
201
  actions,
202
202
  devicesSlice_default
203
203
  };
204
- //# sourceMappingURL=chunk-GLIQTGWN.js.map
204
+ //# sourceMappingURL=chunk-UBFFGYQ4.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  cleanUp,
3
3
  getToken
4
- } from "./chunk-WKXBJVZ7.js";
4
+ } from "./chunk-WXRYJOL3.js";
5
5
  import {
6
6
  TIMEOUTS
7
- } from "./chunk-AERWBWRM.js";
7
+ } from "./chunk-CMXRPUOF.js";
8
8
 
9
9
  // src/api/general-api.ts
10
10
  import axios, { isCancel } from "axios";
@@ -55,4 +55,4 @@ export {
55
55
  authenticatedRequest,
56
56
  general_api_default
57
57
  };
58
- //# sourceMappingURL=chunk-6NLGT2LD.js.map
58
+ //# sourceMappingURL=chunk-VK6FVQ5K.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listItemMapper
3
- } from "./chunk-S7XYEGLR.js";
3
+ } from "./chunk-SDHCQ62K.js";
4
4
 
5
5
  // src/releasesSlice/selectors.ts
6
6
  import { createSelector } from "@reduxjs/toolkit";
@@ -41,4 +41,4 @@ export {
41
41
  getDeltaJobById,
42
42
  getSelectedJob
43
43
  };
44
- //# sourceMappingURL=chunk-E2X525PA.js.map
44
+ //# sourceMappingURL=chunk-VLII64V6.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TIMEOUTS,
3
3
  maxSessionAge
4
- } from "./chunk-AERWBWRM.js";
4
+ } from "./chunk-CMXRPUOF.js";
5
5
 
6
6
  // src/auth.ts
7
7
  import Cookies from "universal-cookie";
@@ -65,4 +65,4 @@ export {
65
65
  cleanUp,
66
66
  updateMaxAge
67
67
  };
68
- //# sourceMappingURL=chunk-WKXBJVZ7.js.map
68
+ //# sourceMappingURL=chunk-WXRYJOL3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EXTERNAL_PROVIDER,
3
3
  productOrder
4
- } from "./chunk-AERWBWRM.js";
4
+ } from "./chunk-CMXRPUOF.js";
5
5
 
6
6
  // src/organizationSlice/selectors.ts
7
7
  import { createSelector } from "@reduxjs/toolkit";
@@ -97,4 +97,4 @@ export {
97
97
  getSpLimits,
98
98
  getTenantListWithLimits
99
99
  };
100
- //# sourceMappingURL=chunk-X6AM6P6X.js.map
100
+ //# sourceMappingURL=chunk-XHLNGIAP.js.map
@@ -11,9 +11,9 @@ import {
11
11
  emptyWebhook,
12
12
  productOrder,
13
13
  timeUnits
14
- } from "./chunk-AERWBWRM.js";
15
- import "./chunk-2DYA3X77.js";
14
+ } from "./chunk-CMXRPUOF.js";
16
15
  import "./chunk-FAJ3I2UQ.js";
16
+ import "./chunk-2DYA3X77.js";
17
17
  import "./chunk-ZKAH3APE.js";
18
18
  import "./chunk-DBBE6D36.js";
19
19
  export {
@@ -176,6 +176,7 @@ var deploymentSubstates = {
176
176
  failure: "failure",
177
177
  installing: "installing",
178
178
  noartifact: "noartifact",
179
+ artifact_too_big: "artifact_too_big",
179
180
  pause_before_committing: "pause_before_committing",
180
181
  pause_before_installing: "pause_before_installing",
181
182
  pause_before_rebooting: "pause_before_rebooting",
@@ -188,12 +189,18 @@ var deploymentStatesToSubstates = {
188
189
  inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],
189
190
  paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],
190
191
  pending: [deploymentSubstates.pending],
191
- successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]
192
+ successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact, deploymentSubstates.artifact_too_big]
192
193
  };
193
194
  var deploymentStatesToSubstatesWithSkipped = {
194
195
  ...deploymentStatesToSubstates,
195
196
  failures: [deploymentSubstates.failure],
196
- skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],
197
+ skipped: [
198
+ deploymentSubstates.aborted,
199
+ deploymentSubstates.noartifact,
200
+ deploymentSubstates.artifact_too_big,
201
+ deploymentSubstates.alreadyInstalled,
202
+ deploymentSubstates.decommissioned
203
+ ],
197
204
  successes: [deploymentSubstates.success]
198
205
  };
199
206
  var installationSubstatesMap = {
@@ -823,9 +830,11 @@ var getAttributesList = (0, import_toolkit3.createSelector)(
823
830
  [getFilteringAttributes, getFilteringAttributesFromConfig],
824
831
  ({ identityAttributes = [], inventoryAttributes = [] }, { identity = [], inventory = [] }) => [...identityAttributes, ...inventoryAttributes, ...identity, ...inventory].filter(import_helpers2.duplicateFilter)
825
832
  );
826
- var getDeviceLimitStats = (0, import_toolkit3.createSelector)([getDeviceLimits, getAcceptedDevices], (limits, accepted) => {
833
+ var getEnabledTierLimits = (0, import_toolkit3.createSelector)([getDeviceLimits], (limits) => Object.entries(limits).filter(([, limit]) => limit !== 0));
834
+ var getEnabledTiers = (0, import_toolkit3.createSelector)([getEnabledTierLimits], (enabledTierLimits) => enabledTierLimits.map(([type]) => type));
835
+ var getDeviceLimitStats = (0, import_toolkit3.createSelector)([getEnabledTierLimits, getAcceptedDevices], (enabledTierLimits, accepted) => {
827
836
  const { counts } = accepted;
828
- return Object.entries(limits).filter(([, limit]) => limit !== 0).map(([type, limit]) => ({
837
+ return enabledTierLimits.map(([type, limit]) => ({
829
838
  type,
830
839
  limit,
831
840
  total: counts[type] || 0
@@ -1246,9 +1255,12 @@ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, get
1246
1255
  var getShowSecurityAlert = (0, import_toolkit7.createSelector)(
1247
1256
  [getCurrentUser, getHas2FA, getFeatures, getIsEnterprise, getUserSettingsInitialized, getSecurityAlertDismissedTimestamp],
1248
1257
  (currentUser, has2FA, features, isEnterprise, settingsInitialized, dismissedTimestamp) => {
1258
+ const isOAuth2 = !!currentUser?.sso?.length;
1259
+ const userVerified = !!currentUser.verified;
1249
1260
  const isHosted = features?.isHosted;
1250
1261
  const canHave2FA = isEnterprise || isHosted;
1251
- if (!currentUser || !settingsInitialized || has2FA || !canHave2FA) {
1262
+ const secureOAuthUser = isOAuth2 && userVerified;
1263
+ if (!currentUser || !settingsInitialized || has2FA || !canHave2FA || secureOAuthUser) {
1252
1264
  return false;
1253
1265
  }
1254
1266
  if (dismissedTimestamp === null) {