@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.
Files changed (216) hide show
  1. package/dist/actions.cjs +47 -0
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +6 -2
  4. package/dist/actions.d.ts +6 -2
  5. package/dist/actions.js +10 -10
  6. package/dist/api/general-api.cjs +1 -1
  7. package/dist/api/general-api.cjs.map +1 -1
  8. package/dist/api/general-api.d.cts +8 -8
  9. package/dist/api/general-api.d.ts +8 -8
  10. package/dist/api/general-api.js +4 -4
  11. package/dist/api/users-api.cjs +1 -1
  12. package/dist/api/users-api.cjs.map +1 -1
  13. package/dist/api/users-api.d.cts +1 -1
  14. package/dist/api/users-api.d.ts +1 -1
  15. package/dist/api/users-api.js +5 -5
  16. package/dist/appSlice/constants.cjs +1 -0
  17. package/dist/appSlice/constants.cjs.map +1 -1
  18. package/dist/appSlice/constants.d.cts +5 -0
  19. package/dist/appSlice/constants.d.ts +5 -0
  20. package/dist/appSlice/constants.js +1 -1
  21. package/dist/appSlice/index.cjs +1 -0
  22. package/dist/appSlice/index.cjs.map +1 -1
  23. package/dist/appSlice/index.js +3 -3
  24. package/dist/appSlice/mocks.cjs +1 -0
  25. package/dist/appSlice/mocks.cjs.map +1 -1
  26. package/dist/appSlice/mocks.js +3 -3
  27. package/dist/appSlice/thunks.cjs +76 -20
  28. package/dist/appSlice/thunks.cjs.map +1 -1
  29. package/dist/appSlice/thunks.js +25 -25
  30. package/dist/auth.cjs.map +1 -1
  31. package/dist/auth.js +3 -3
  32. package/dist/{chunk-MZNANSS2.js → chunk-4DOSYAJY.js} +2 -2
  33. package/dist/{chunk-R6KRH2IY.js → chunk-4UJXT6RF.js} +3 -3
  34. package/dist/{chunk-VUFRP6P3.js → chunk-5HYHE4HO.js} +2 -2
  35. package/dist/chunk-5HYHE4HO.js.map +1 -0
  36. package/dist/{chunk-ZJW3QIPM.js → chunk-66NK2ZV2.js} +2 -2
  37. package/dist/{chunk-PGFVHKP5.js → chunk-AVCIWAZB.js} +2 -2
  38. package/dist/{chunk-RS37Y2PQ.js → chunk-BNSSPYCA.js} +4 -4
  39. package/dist/chunk-BNSSPYCA.js.map +1 -0
  40. package/dist/{chunk-UE5N5VO3.js → chunk-CEEXZF5E.js} +3 -3
  41. package/dist/{chunk-UGSLGUS6.js → chunk-CWZKWW74.js} +2 -2
  42. package/dist/{chunk-3P3IE42O.js → chunk-DE25YP6N.js} +62 -54
  43. package/dist/chunk-DE25YP6N.js.map +1 -0
  44. package/dist/{chunk-QYLGIR4W.js → chunk-DXJ2WS3N.js} +3 -2
  45. package/dist/chunk-DXJ2WS3N.js.map +1 -0
  46. package/dist/{chunk-H5FAPMJJ.js → chunk-DYN7AU7R.js} +9 -9
  47. package/dist/{chunk-JXQUFKID.js → chunk-GRVTVLIZ.js} +7 -2
  48. package/dist/chunk-GRVTVLIZ.js.map +1 -0
  49. package/dist/{chunk-KC7SKI3U.js → chunk-HLTP624H.js} +8 -5
  50. package/dist/{chunk-KC7SKI3U.js.map → chunk-HLTP624H.js.map} +1 -1
  51. package/dist/{chunk-F26IKSML.js → chunk-I6JE3OLT.js} +8 -8
  52. package/dist/{chunk-ABJLRDCO.js → chunk-IY76MO6R.js} +2 -2
  53. package/dist/{chunk-V3QEONX7.js → chunk-J74LNK6P.js} +11 -11
  54. package/dist/{chunk-QKPV5RRN.js → chunk-JOK26PI7.js} +51 -18
  55. package/dist/chunk-JOK26PI7.js.map +1 -0
  56. package/dist/{chunk-KJNNEDRV.js → chunk-JZXNRDO2.js} +2 -2
  57. package/dist/{chunk-MSOXMRF7.js → chunk-KGSJ7CSA.js} +12 -3
  58. package/dist/{chunk-MSOXMRF7.js.map → chunk-KGSJ7CSA.js.map} +1 -1
  59. package/dist/{chunk-OOICURFL.js → chunk-KJJ47UIO.js} +48 -2
  60. package/dist/chunk-KJJ47UIO.js.map +1 -0
  61. package/dist/{chunk-7C4SQBEE.js → chunk-MRXTMI6O.js} +1 -1
  62. package/dist/chunk-MRXTMI6O.js.map +1 -0
  63. package/dist/{chunk-HFOTAPIJ.js → chunk-PY6ID7TL.js} +2 -1
  64. package/dist/chunk-PY6ID7TL.js.map +1 -0
  65. package/dist/{chunk-SCZLNFB5.js → chunk-VCTZ25Q5.js} +9 -9
  66. package/dist/{chunk-YY6SKZDF.js → chunk-W37ETKI6.js} +3 -12
  67. package/dist/chunk-W37ETKI6.js.map +1 -0
  68. package/dist/{chunk-QHK7GGV4.js → chunk-ZZ3YDCYZ.js} +3 -3
  69. package/dist/commonConstants.cjs.map +1 -1
  70. package/dist/commonConstants.d.cts +6 -5
  71. package/dist/commonConstants.d.ts +6 -5
  72. package/dist/commonConstants.js +2 -2
  73. package/dist/commonSelectors.cjs +8 -18
  74. package/dist/commonSelectors.cjs.map +1 -1
  75. package/dist/commonSelectors.js +9 -9
  76. package/dist/constants.cjs +1 -0
  77. package/dist/constants.cjs.map +1 -1
  78. package/dist/constants.d.cts +1 -1
  79. package/dist/constants.d.ts +1 -1
  80. package/dist/constants.js +2 -2
  81. package/dist/deploymentsSlice/constants.js +2 -2
  82. package/dist/deploymentsSlice/index.cjs.map +1 -1
  83. package/dist/deploymentsSlice/index.d.cts +2 -2
  84. package/dist/deploymentsSlice/index.d.ts +2 -2
  85. package/dist/deploymentsSlice/index.js +3 -3
  86. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  87. package/dist/deploymentsSlice/mocks.js +3 -3
  88. package/dist/deploymentsSlice/selectors.cjs +6 -0
  89. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  90. package/dist/deploymentsSlice/selectors.d.cts +22 -1
  91. package/dist/deploymentsSlice/selectors.d.ts +22 -1
  92. package/dist/deploymentsSlice/selectors.js +5 -3
  93. package/dist/deploymentsSlice/thunks.cjs +78 -20
  94. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  95. package/dist/deploymentsSlice/thunks.d.cts +14 -1
  96. package/dist/deploymentsSlice/thunks.d.ts +14 -1
  97. package/dist/deploymentsSlice/thunks.js +27 -25
  98. package/dist/devicesSlice/constants.js +2 -2
  99. package/dist/devicesSlice/index.js +3 -3
  100. package/dist/devicesSlice/mocks.js +3 -3
  101. package/dist/devicesSlice/selectors.cjs.map +1 -1
  102. package/dist/devicesSlice/selectors.js +3 -3
  103. package/dist/devicesSlice/thunks.cjs +76 -20
  104. package/dist/devicesSlice/thunks.cjs.map +1 -1
  105. package/dist/devicesSlice/thunks.js +25 -25
  106. package/dist/liststatehook.cjs +6 -3
  107. package/dist/liststatehook.cjs.map +1 -1
  108. package/dist/liststatehook.d.cts +4 -2
  109. package/dist/liststatehook.d.ts +4 -2
  110. package/dist/liststatehook.js +3 -3
  111. package/dist/locationutils.cjs +6 -3
  112. package/dist/locationutils.cjs.map +1 -1
  113. package/dist/locationutils.d.cts +3 -1
  114. package/dist/locationutils.d.ts +3 -1
  115. package/dist/locationutils.js +3 -3
  116. package/dist/monitorSlice/index.js +3 -3
  117. package/dist/monitorSlice/mocks.js +3 -3
  118. package/dist/monitorSlice/thunks.cjs +56 -9
  119. package/dist/monitorSlice/thunks.cjs.map +1 -1
  120. package/dist/monitorSlice/thunks.js +21 -21
  121. package/dist/onboardingSlice/thunks.cjs +76 -20
  122. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  123. package/dist/onboardingSlice/thunks.js +25 -25
  124. package/dist/organizationSlice/constants.js +2 -2
  125. package/dist/organizationSlice/index.js +3 -3
  126. package/dist/organizationSlice/mocks.js +3 -3
  127. package/dist/organizationSlice/selectors.cjs +0 -20
  128. package/dist/organizationSlice/selectors.cjs.map +1 -1
  129. package/dist/organizationSlice/selectors.d.cts +1 -155
  130. package/dist/organizationSlice/selectors.d.ts +1 -155
  131. package/dist/organizationSlice/selectors.js +3 -5
  132. package/dist/organizationSlice/thunks.cjs +99 -43
  133. package/dist/organizationSlice/thunks.cjs.map +1 -1
  134. package/dist/organizationSlice/thunks.d.cts +5 -5
  135. package/dist/organizationSlice/thunks.d.ts +5 -5
  136. package/dist/organizationSlice/thunks.js +25 -25
  137. package/dist/releasesSlice/index.cjs +46 -0
  138. package/dist/releasesSlice/index.cjs.map +1 -1
  139. package/dist/releasesSlice/index.d.cts +51 -3
  140. package/dist/releasesSlice/index.d.ts +51 -3
  141. package/dist/releasesSlice/index.js +3 -3
  142. package/dist/releasesSlice/mocks.cjs +46 -0
  143. package/dist/releasesSlice/mocks.cjs.map +1 -1
  144. package/dist/releasesSlice/mocks.d.cts +13 -0
  145. package/dist/releasesSlice/mocks.d.ts +13 -0
  146. package/dist/releasesSlice/mocks.js +3 -3
  147. package/dist/releasesSlice/selectors.cjs +13 -0
  148. package/dist/releasesSlice/selectors.cjs.map +1 -1
  149. package/dist/releasesSlice/selectors.d.cts +186 -1
  150. package/dist/releasesSlice/selectors.d.ts +186 -1
  151. package/dist/releasesSlice/selectors.js +12 -4
  152. package/dist/releasesSlice/thunks.cjs +99 -17
  153. package/dist/releasesSlice/thunks.cjs.map +1 -1
  154. package/dist/releasesSlice/thunks.d.cts +68 -3
  155. package/dist/releasesSlice/thunks.d.ts +68 -3
  156. package/dist/releasesSlice/thunks.js +26 -22
  157. package/dist/selectors.cjs +19 -20
  158. package/dist/selectors.cjs.map +1 -1
  159. package/dist/selectors.d.cts +5 -3
  160. package/dist/selectors.d.ts +5 -3
  161. package/dist/selectors.js +19 -11
  162. package/dist/sockethook.cjs.map +1 -1
  163. package/dist/sockethook.js +2 -2
  164. package/dist/store.cjs +47 -0
  165. package/dist/store.cjs.map +1 -1
  166. package/dist/store.d.cts +11 -110
  167. package/dist/store.d.ts +11 -110
  168. package/dist/store.js +12 -12
  169. package/dist/storehooks.cjs +142 -54
  170. package/dist/storehooks.cjs.map +1 -1
  171. package/dist/storehooks.js +26 -25
  172. package/dist/storehooks.js.map +1 -1
  173. package/dist/thunks.cjs +146 -53
  174. package/dist/thunks.cjs.map +1 -1
  175. package/dist/thunks.d.cts +3 -3
  176. package/dist/thunks.d.ts +3 -3
  177. package/dist/thunks.js +33 -27
  178. package/dist/useDeploymentDevice.cjs +76 -20
  179. package/dist/useDeploymentDevice.cjs.map +1 -1
  180. package/dist/useDeploymentDevice.js +25 -25
  181. package/dist/usersSlice/constants.js +2 -2
  182. package/dist/usersSlice/index.js +3 -3
  183. package/dist/usersSlice/mocks.js +3 -3
  184. package/dist/usersSlice/selectors.cjs.map +1 -1
  185. package/dist/usersSlice/selectors.js +4 -4
  186. package/dist/usersSlice/thunks.cjs +78 -22
  187. package/dist/usersSlice/thunks.cjs.map +1 -1
  188. package/dist/usersSlice/thunks.d.cts +18 -10
  189. package/dist/usersSlice/thunks.d.ts +18 -10
  190. package/dist/usersSlice/thunks.js +27 -27
  191. package/dist/utils.cjs.map +1 -1
  192. package/dist/utils.js +3 -3
  193. package/package.json +5 -5
  194. package/dist/chunk-3P3IE42O.js.map +0 -1
  195. package/dist/chunk-7C4SQBEE.js.map +0 -1
  196. package/dist/chunk-HFOTAPIJ.js.map +0 -1
  197. package/dist/chunk-JXQUFKID.js.map +0 -1
  198. package/dist/chunk-OOICURFL.js.map +0 -1
  199. package/dist/chunk-QKPV5RRN.js.map +0 -1
  200. package/dist/chunk-QYLGIR4W.js.map +0 -1
  201. package/dist/chunk-RS37Y2PQ.js.map +0 -1
  202. package/dist/chunk-VUFRP6P3.js.map +0 -1
  203. package/dist/chunk-YY6SKZDF.js.map +0 -1
  204. /package/dist/{chunk-MZNANSS2.js.map → chunk-4DOSYAJY.js.map} +0 -0
  205. /package/dist/{chunk-R6KRH2IY.js.map → chunk-4UJXT6RF.js.map} +0 -0
  206. /package/dist/{chunk-ZJW3QIPM.js.map → chunk-66NK2ZV2.js.map} +0 -0
  207. /package/dist/{chunk-PGFVHKP5.js.map → chunk-AVCIWAZB.js.map} +0 -0
  208. /package/dist/{chunk-UE5N5VO3.js.map → chunk-CEEXZF5E.js.map} +0 -0
  209. /package/dist/{chunk-UGSLGUS6.js.map → chunk-CWZKWW74.js.map} +0 -0
  210. /package/dist/{chunk-H5FAPMJJ.js.map → chunk-DYN7AU7R.js.map} +0 -0
  211. /package/dist/{chunk-F26IKSML.js.map → chunk-I6JE3OLT.js.map} +0 -0
  212. /package/dist/{chunk-ABJLRDCO.js.map → chunk-IY76MO6R.js.map} +0 -0
  213. /package/dist/{chunk-V3QEONX7.js.map → chunk-J74LNK6P.js.map} +0 -0
  214. /package/dist/{chunk-KJNNEDRV.js.map → chunk-JZXNRDO2.js.map} +0 -0
  215. /package/dist/{chunk-SCZLNFB5.js.map → chunk-VCTZ25Q5.js.map} +0 -0
  216. /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-VUFRP6P3.js";
4
- import "../chunk-7C4SQBEE.js";
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-HFOTAPIJ.js";
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-JXQUFKID.js";
10
- import "../chunk-7C4SQBEE.js";
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-HFOTAPIJ.js";
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
- () => new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds))
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 submitFeedback = createAppAsyncThunk(
4177
+ var submitUserFeedback = createAppAsyncThunk(
4129
4178
  `${sliceName8}/submitFeedback`,
4130
- ({ satisfaction, feedback, ...meta }, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/contact/support`, {
4131
- subject: "feedback submission",
4132
- body: JSON.stringify({ feedback, satisfaction, meta })
4133
- }).then(() => {
4134
- const today = /* @__PURE__ */ new Date();
4135
- dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
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,