@northern.tech/store 0.41.2 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/actions.d.cts +9 -10
  2. package/dist/actions.d.ts +9 -10
  3. package/dist/api/general-api.cjs +1 -1
  4. package/dist/api/general-api.cjs.map +1 -1
  5. package/dist/api/general-api.d.cts +0 -1
  6. package/dist/api/general-api.d.ts +0 -1
  7. package/dist/api/general-api.js +1 -1
  8. package/dist/api/users-api.cjs +1 -1
  9. package/dist/api/users-api.d.cts +1 -6
  10. package/dist/api/users-api.d.ts +1 -6
  11. package/dist/appSlice/constants.cjs +0 -5
  12. package/dist/appSlice/constants.cjs.map +1 -1
  13. package/dist/appSlice/constants.d.cts +1 -1
  14. package/dist/appSlice/constants.d.ts +1 -1
  15. package/dist/appSlice/constants.js +0 -5
  16. package/dist/appSlice/constants.js.map +1 -1
  17. package/dist/appSlice/index.cjs.map +1 -1
  18. package/dist/appSlice/index.d.cts +1 -1
  19. package/dist/appSlice/index.d.ts +1 -1
  20. package/dist/appSlice/index.js +1 -1
  21. package/dist/appSlice/mocks.d.cts +1 -2
  22. package/dist/appSlice/mocks.d.ts +1 -2
  23. package/dist/appSlice/selectors.cjs.map +1 -1
  24. package/dist/appSlice/selectors.d.cts +9 -10
  25. package/dist/appSlice/selectors.d.ts +9 -10
  26. package/dist/appSlice/thunks.d.cts +2 -3
  27. package/dist/appSlice/thunks.d.ts +2 -3
  28. package/dist/auth.cjs +1 -1
  29. package/dist/auth.d.cts +3 -10
  30. package/dist/auth.d.ts +3 -10
  31. package/dist/auth.js +1 -1
  32. package/dist/commonConstants.d.cts +1 -1
  33. package/dist/commonConstants.d.ts +1 -1
  34. package/dist/commonConstants.js +1 -1
  35. package/dist/commonSelectors.cjs +4 -3
  36. package/dist/commonSelectors.cjs.map +1 -1
  37. package/dist/commonSelectors.d.cts +20 -21
  38. package/dist/commonSelectors.d.ts +20 -21
  39. package/dist/commonSelectors.js +4 -3
  40. package/dist/commonSelectors.js.map +1 -1
  41. package/dist/{constants-Sn4gnNA3.d.ts → constants-B3Jdkn2b.d.cts} +2 -5
  42. package/dist/{constants-Sn4gnNA3.d.cts → constants-B3Jdkn2b.d.ts} +2 -5
  43. package/dist/{constants-CzjK2gV-.d.ts → constants-B_H4squx.d.ts} +4 -4
  44. package/dist/{constants-D9o0Cnk_.d.ts → constants-C6TIYaY4.d.cts} +1 -2
  45. package/dist/{constants-D9o0Cnk_.d.cts → constants-C6TIYaY4.d.ts} +1 -2
  46. package/dist/{constants-6kYRTdox.d.ts → constants-CEwun8TL.d.cts} +3 -2
  47. package/dist/{constants-6kYRTdox.d.cts → constants-CEwun8TL.d.ts} +3 -2
  48. package/dist/constants-C_SC_VKE.cjs.map +1 -1
  49. package/dist/{constants-xpheFFkA.js → constants-CerzXHnQ.js} +3 -3
  50. package/dist/{constants-xpheFFkA.js.map → constants-CerzXHnQ.js.map} +1 -1
  51. package/dist/{constants-DAi2zOZN.d.cts → constants-Rl3FJzFf.d.cts} +4 -4
  52. package/dist/{constants-B_7FCJQX.d.ts → constants-nKSWZ8oD.d.cts} +3 -8
  53. package/dist/{constants-B_7FCJQX.d.cts → constants-nKSWZ8oD.d.ts} +3 -8
  54. package/dist/constants.cjs +2 -0
  55. package/dist/constants.d.cts +6 -6
  56. package/dist/constants.d.ts +6 -6
  57. package/dist/constants.js +3 -3
  58. package/dist/deploymentsSlice/constants.d.cts +1 -1
  59. package/dist/deploymentsSlice/constants.d.ts +1 -1
  60. package/dist/deploymentsSlice/constants.js +1 -1
  61. package/dist/deploymentsSlice/index.cjs.map +1 -1
  62. package/dist/deploymentsSlice/index.d.cts +1 -1
  63. package/dist/deploymentsSlice/index.d.ts +1 -1
  64. package/dist/deploymentsSlice/index.js +1 -1
  65. package/dist/deploymentsSlice/mocks.d.cts +1 -2
  66. package/dist/deploymentsSlice/mocks.d.ts +1 -2
  67. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  68. package/dist/deploymentsSlice/selectors.d.cts +9 -10
  69. package/dist/deploymentsSlice/selectors.d.ts +9 -10
  70. package/dist/deploymentsSlice/selectors.js +1 -1
  71. package/dist/deploymentsSlice/thunks.d.cts +7 -13
  72. package/dist/deploymentsSlice/thunks.d.ts +7 -13
  73. package/dist/devicesSlice/constants.d.cts +1 -1
  74. package/dist/devicesSlice/constants.d.ts +1 -1
  75. package/dist/devicesSlice/constants.js +1 -1
  76. package/dist/devicesSlice/index.cjs +1 -1
  77. package/dist/devicesSlice/index.cjs.map +1 -1
  78. package/dist/devicesSlice/index.d.cts +2 -2
  79. package/dist/devicesSlice/index.d.ts +2 -2
  80. package/dist/devicesSlice/index.js +2 -2
  81. package/dist/devicesSlice/index.js.map +1 -1
  82. package/dist/devicesSlice/mocks.js +1 -1
  83. package/dist/devicesSlice/selectors.cjs.map +1 -1
  84. package/dist/devicesSlice/selectors.d.cts +9 -10
  85. package/dist/devicesSlice/selectors.d.ts +9 -10
  86. package/dist/devicesSlice/selectors.js +1 -1
  87. package/dist/devicesSlice/thunks.cjs +1 -2
  88. package/dist/devicesSlice/thunks.d.cts +11 -23
  89. package/dist/devicesSlice/thunks.d.ts +11 -23
  90. package/dist/devicesSlice/thunks.js +2 -2
  91. package/dist/{index-Bb4yvvgG.d.ts → index-B8td4-rY.d.ts} +1 -2
  92. package/dist/{index-C5oQrJGU.d.ts → index-BAGyeC-q.d.ts} +2 -3
  93. package/dist/{index-CgPgKMve.d.cts → index-BgF6rhXn.d.cts} +3 -4
  94. package/dist/{index-CnH51JfB.d.ts → index-Bs0c1-WY.d.ts} +4 -9
  95. package/dist/{index-BtGhTFBc.d.ts → index-Bvyf8OO6.d.ts} +9 -13
  96. package/dist/{index-m1c0qk2s.d.ts → index-C8uiyxnb.d.ts} +2 -3
  97. package/dist/{index-CSOj22xK.d.cts → index-C_LGDJN2.d.cts} +2 -3
  98. package/dist/{index-H9zg_3UV.d.ts → index-ChKTa1aL.d.ts} +2 -3
  99. package/dist/{index-vXsWdis1.d.cts → index-CiQ95u1W.d.cts} +9 -13
  100. package/dist/{index-DBUt8xVc.d.ts → index-CoObjWL4.d.cts} +1 -2
  101. package/dist/{index-DBUt8xVc.d.cts → index-CoObjWL4.d.ts} +1 -2
  102. package/dist/{index-BCErsO5h.d.ts → index-CpfhQHfg.d.ts} +3 -4
  103. package/dist/{index-BQCnJ5gh.d.cts → index-Ctj2r57a.d.cts} +2 -3
  104. package/dist/{index-Dn1SqQYh.d.cts → index-DeOpb2oK.d.cts} +4 -9
  105. package/dist/{index-VEayiYkv.d.cts → index-DiAjzARZ.d.cts} +2 -3
  106. package/dist/{index-EPmsL6Lb.d.cts → index-mvxjivTJ.d.cts} +1 -2
  107. package/dist/liststatehook.cjs.map +1 -1
  108. package/dist/liststatehook.d.cts +0 -1
  109. package/dist/liststatehook.d.ts +0 -1
  110. package/dist/locationutils.cjs +36 -28
  111. package/dist/locationutils.cjs.map +1 -1
  112. package/dist/locationutils.d.cts +14 -67
  113. package/dist/locationutils.d.ts +14 -67
  114. package/dist/locationutils.js +37 -29
  115. package/dist/locationutils.js.map +1 -1
  116. package/dist/monitorSlice/constants.d.cts +1 -1
  117. package/dist/monitorSlice/constants.d.ts +1 -1
  118. package/dist/monitorSlice/index.cjs.map +1 -1
  119. package/dist/monitorSlice/index.d.cts +1 -1
  120. package/dist/monitorSlice/index.d.ts +1 -1
  121. package/dist/monitorSlice/index.js +1 -1
  122. package/dist/monitorSlice/mocks.d.cts +1 -2
  123. package/dist/monitorSlice/mocks.d.ts +1 -2
  124. package/dist/monitorSlice/mocks.js +1 -1
  125. package/dist/monitorSlice/selectors.d.cts +1 -2
  126. package/dist/monitorSlice/selectors.d.ts +1 -2
  127. package/dist/monitorSlice/thunks.d.cts +4 -5
  128. package/dist/monitorSlice/thunks.d.ts +4 -5
  129. package/dist/monitorSlice/thunks.js +1 -1
  130. package/dist/onboardingSlice/index.cjs.map +1 -1
  131. package/dist/onboardingSlice/index.d.cts +1 -1
  132. package/dist/onboardingSlice/index.d.ts +1 -1
  133. package/dist/onboardingSlice/mocks.d.cts +1 -2
  134. package/dist/onboardingSlice/mocks.d.ts +1 -2
  135. package/dist/onboardingSlice/selectors.d.cts +2 -3
  136. package/dist/onboardingSlice/selectors.d.ts +2 -3
  137. package/dist/onboardingSlice/thunks.d.cts +4 -4
  138. package/dist/onboardingSlice/thunks.d.ts +4 -4
  139. package/dist/organizationSlice/constants.js +1 -1
  140. package/dist/organizationSlice/index.cjs.map +1 -1
  141. package/dist/organizationSlice/index.d.cts +1 -1
  142. package/dist/organizationSlice/index.d.ts +1 -1
  143. package/dist/organizationSlice/index.js +1 -1
  144. package/dist/organizationSlice/mocks.d.cts +3 -3
  145. package/dist/organizationSlice/mocks.d.ts +3 -3
  146. package/dist/organizationSlice/mocks.js +1 -1
  147. package/dist/organizationSlice/selectors.cjs.map +1 -1
  148. package/dist/organizationSlice/selectors.d.cts +11 -16
  149. package/dist/organizationSlice/selectors.d.ts +11 -16
  150. package/dist/organizationSlice/selectors.js +1 -1
  151. package/dist/organizationSlice/thunks.d.cts +6 -7
  152. package/dist/organizationSlice/thunks.d.ts +6 -7
  153. package/dist/organizationSlice/types.d.cts +1 -1
  154. package/dist/organizationSlice/types.d.ts +1 -1
  155. package/dist/releasesSlice/constants.cjs +2 -0
  156. package/dist/releasesSlice/constants.cjs.map +1 -1
  157. package/dist/releasesSlice/constants.d.cts +2 -2
  158. package/dist/releasesSlice/constants.d.ts +2 -2
  159. package/dist/releasesSlice/constants.js +2 -1
  160. package/dist/releasesSlice/constants.js.map +1 -1
  161. package/dist/releasesSlice/index.cjs.map +1 -1
  162. package/dist/releasesSlice/index.d.cts +1 -1
  163. package/dist/releasesSlice/index.d.ts +1 -1
  164. package/dist/releasesSlice/index.js +1 -1
  165. package/dist/releasesSlice/mocks.js +1 -1
  166. package/dist/releasesSlice/selectors.cjs.map +1 -1
  167. package/dist/releasesSlice/selectors.d.cts +9 -10
  168. package/dist/releasesSlice/selectors.d.ts +9 -10
  169. package/dist/releasesSlice/thunks.cjs +1 -1
  170. package/dist/releasesSlice/thunks.cjs.map +1 -1
  171. package/dist/releasesSlice/thunks.d.cts +4 -5
  172. package/dist/releasesSlice/thunks.d.ts +4 -5
  173. package/dist/releasesSlice/thunks.js +1 -1
  174. package/dist/{rolldown-runtime-D6vf50IK.cjs → rolldown-runtime-VH7oDXx4.cjs} +1 -1
  175. package/dist/sockethook.cjs +1 -2
  176. package/dist/sockethook.cjs.map +1 -1
  177. package/dist/sockethook.d.cts +1 -8
  178. package/dist/sockethook.d.ts +1 -8
  179. package/dist/sockethook.js +1 -2
  180. package/dist/sockethook.js.map +1 -1
  181. package/dist/{store-CkgokFlk.d.ts → store-CPptM5Ts.d.ts} +27 -48
  182. package/dist/{store-CGP5pCH8.d.cts → store-CUUm1GTI.d.cts} +27 -48
  183. package/dist/store.cjs.map +1 -1
  184. package/dist/store.d.cts +1 -1
  185. package/dist/store.d.ts +1 -1
  186. package/dist/store.js +1 -1
  187. package/dist/storehooks.cjs +30 -20
  188. package/dist/storehooks.cjs.map +1 -1
  189. package/dist/storehooks.d.cts +13 -4
  190. package/dist/storehooks.d.ts +13 -4
  191. package/dist/storehooks.js +31 -22
  192. package/dist/storehooks.js.map +1 -1
  193. package/dist/thunks.cjs +16 -112
  194. package/dist/thunks.cjs.map +1 -1
  195. package/dist/thunks.d.cts +2 -2
  196. package/dist/thunks.d.ts +2 -2
  197. package/dist/thunks.js +16 -111
  198. package/dist/thunks.js.map +1 -1
  199. package/dist/{types-uHmaedGU.d.ts → types-B3qGQoMx.d.ts} +3 -4
  200. package/dist/{types-yQ0ypHMZ.d.cts → types-B80ckxiy.d.cts} +3 -4
  201. package/dist/useDeploymentDevice.cjs +1 -1
  202. package/dist/useDeploymentDevice.cjs.map +1 -1
  203. package/dist/usersSlice/constants.d.cts +1 -1
  204. package/dist/usersSlice/constants.d.ts +1 -1
  205. package/dist/usersSlice/constants.js +1 -1
  206. package/dist/usersSlice/index.cjs.map +1 -1
  207. package/dist/usersSlice/index.d.cts +1 -1
  208. package/dist/usersSlice/index.d.ts +1 -1
  209. package/dist/usersSlice/index.js +1 -1
  210. package/dist/usersSlice/mocks.d.cts +2 -3
  211. package/dist/usersSlice/mocks.d.ts +2 -3
  212. package/dist/usersSlice/mocks.js +1 -1
  213. package/dist/usersSlice/selectors.cjs.map +1 -1
  214. package/dist/usersSlice/selectors.d.cts +10 -11
  215. package/dist/usersSlice/selectors.d.ts +10 -11
  216. package/dist/usersSlice/selectors.js +1 -1
  217. package/dist/usersSlice/thunks.d.cts +5 -6
  218. package/dist/usersSlice/thunks.d.ts +5 -6
  219. package/dist/utils.cjs +2 -2
  220. package/dist/utils.cjs.map +1 -1
  221. package/dist/utils.d.cts +1 -1
  222. package/dist/utils.d.ts +1 -1
  223. package/dist/utils.js +3 -3
  224. package/dist/utils.js.map +1 -1
  225. package/package.json +9 -9
@@ -1,6 +1,5 @@
1
- import { n as OnboardingSliceType } from "../index-DBUt8xVc.cjs";
2
- import { r as RootState } from "../store-CGP5pCH8.cjs";
3
-
1
+ import { n as OnboardingSliceType } from "../index-CoObjWL4.cjs";
2
+ import { r as RootState } from "../store-CUUm1GTI.cjs";
4
3
  //#region src/onboardingSlice/selectors.d.ts
5
4
  declare const getOnboarding: (state: RootState) => OnboardingSliceType;
6
5
  //#endregion
@@ -1,6 +1,5 @@
1
- import { n as OnboardingSliceType } from "../index-DBUt8xVc.js";
2
- import { r as RootState } from "../store-CkgokFlk.js";
3
-
1
+ import { n as OnboardingSliceType } from "../index-CoObjWL4.js";
2
+ import { r as RootState } from "../store-CPptM5Ts.js";
4
3
  //#region src/onboardingSlice/selectors.d.ts
5
4
  declare const getOnboarding: (state: RootState) => OnboardingSliceType;
6
5
  //#endregion
@@ -1,8 +1,8 @@
1
+ import "../constants-Rl3FJzFf.cjs";
1
2
  import { t as OnboardingStep } from "../constants-Db_RBdlV.cjs";
2
- import { a as UserSettings } from "../index-CgPgKMve.cjs";
3
- import { n as OnboardingSliceType, t as OnboardingApproach } from "../index-DBUt8xVc.cjs";
4
- import { r as RootState, t as AppDispatch } from "../store-CGP5pCH8.cjs";
5
-
3
+ import { a as UserSettings } from "../index-BgF6rhXn.cjs";
4
+ import { n as OnboardingSliceType, t as OnboardingApproach } from "../index-CoObjWL4.cjs";
5
+ import { r as RootState, t as AppDispatch } from "../store-CUUm1GTI.cjs";
6
6
  //#region src/onboardingSlice/thunks.d.ts
7
7
  declare const getOnboardingState: import("@reduxjs/toolkit").AsyncThunk<[{
8
8
  payload: boolean;
@@ -1,8 +1,8 @@
1
+ import "../constants-B_H4squx.js";
1
2
  import { t as OnboardingStep } from "../constants-Db_RBdlV.js";
2
- import { a as UserSettings } from "../index-BCErsO5h.js";
3
- import { n as OnboardingSliceType, t as OnboardingApproach } from "../index-DBUt8xVc.js";
4
- import { r as RootState, t as AppDispatch } from "../store-CkgokFlk.js";
5
-
3
+ import { a as UserSettings } from "../index-CpfhQHfg.js";
4
+ import { n as OnboardingSliceType, t as OnboardingApproach } from "../index-CoObjWL4.js";
5
+ import { r as RootState, t as AppDispatch } from "../store-CPptM5Ts.js";
6
6
  //#region src/onboardingSlice/thunks.d.ts
7
7
  declare const getOnboardingState: import("@reduxjs/toolkit").AsyncThunk<[{
8
8
  payload: boolean;
@@ -1,2 +1,2 @@
1
- import { $ as JSON_METADATA_FORMAT, Q as AUDIT_LOGS_TYPES, at as getOidcStartUrl, et as SP_AUDIT_LOGS_TYPES, it as auditlogTypes, nt as TENANT_LIST_DEFAULT, ot as getSamlStartUrl, rt as XML_METADATA_FORMAT, tt as SSO_TYPES } from "../constants-xpheFFkA.js";
1
+ import { $ as AUDIT_LOGS_TYPES, at as auditlogTypes, et as JSON_METADATA_FORMAT, it as XML_METADATA_FORMAT, nt as SSO_TYPES, ot as getOidcStartUrl, rt as TENANT_LIST_DEFAULT, st as getSamlStartUrl, tt as SP_AUDIT_LOGS_TYPES } from "../constants-CerzXHnQ.js";
2
2
  export { AUDIT_LOGS_TYPES, JSON_METADATA_FORMAT, SP_AUDIT_LOGS_TYPES, SSO_TYPES, TENANT_LIST_DEFAULT, XML_METADATA_FORMAT, auditlogTypes, getOidcStartUrl, getSamlStartUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["TENANT_LIST_DEFAULT","SORTING_OPTIONS","DEVICE_LIST_DEFAULTS"],"sources":["../../src/organizationSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { AuditLog as AuditLogEvent, BillingProfile, Integration, Event as WebhookEvent } from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS, TENANT_LIST_DEFAULT } from '../constants';\nimport type { AuditLog, AuditLogSelectionState, Card, Organization, ProductConfig, SSOConfig, TenantList, Webhook } from './types';\n\nexport const sliceName = 'organization';\n\nexport type OrganizationSliceType = {\n auditlog: AuditLog;\n card: Card;\n externalDeviceIntegrations: Integration[];\n intentId: string | null;\n organization: Partial<Organization>;\n products?: ProductConfig;\n ssoConfigs: SSOConfig[];\n tenantList: TenantList;\n webhooks: Webhook;\n};\n\nexport const initialState: OrganizationSliceType = {\n card: {\n last4: '',\n expiration: { month: 1, year: 2020 },\n brand: ''\n },\n intentId: null,\n tenantList: {\n ...TENANT_LIST_DEFAULT,\n total: 0,\n tenants: [],\n selectedTenant: null,\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'name'\n }\n },\n organization: {\n // id, name, status, tenant_token, plan\n },\n auditlog: {\n events: [],\n selectionState: {\n ...DEVICE_LIST_DEFAULTS,\n detail: undefined,\n endDate: undefined,\n selectedIssue: undefined,\n sort: { direction: SORTING_OPTIONS.desc },\n startDate: undefined,\n total: 0,\n type: undefined,\n user: undefined,\n isLoading: false\n }\n },\n externalDeviceIntegrations: [\n // { <connection_string|x509|...>, id, provider }\n ],\n ssoConfigs: [],\n webhooks: {\n // [id]: { events: [] }\n // for now:\n events: [],\n eventsTotal: 0\n }\n};\n\nexport const organizationSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveAuditLogs: (state, action: PayloadAction<{ events: AuditLogEvent[]; total: number }>) => {\n const { events, total } = action.payload;\n state.auditlog.events = events;\n state.auditlog.selectionState.total = total;\n },\n setAuditLogState: (state, action: PayloadAction<Partial<AuditLogSelectionState>>) => {\n state.auditlog.selectionState = {\n ...state.auditlog.selectionState,\n ...action.payload\n };\n },\n receiveCurrentCard: (state, action: PayloadAction<Card>) => {\n state.card = action.payload;\n },\n receiveSetupIntent: (state, action: PayloadAction<string | null>) => {\n state.intentId = action.payload;\n },\n setOrganization: (state, action: PayloadAction<Partial<Organization>>) => {\n state.organization = { ...state.organization, ...action.payload };\n },\n setSubscription: (state, action) => {\n state.organization.subscription = { ...state.organization.subscription, ...action.payload };\n },\n setProducts: (state, action: PayloadAction<ProductConfig>) => {\n state.products = action.payload;\n },\n setBillingProfile: (state, action: PayloadAction<BillingProfile>) => {\n state.organization.billing_profile = action.payload;\n },\n setTenantListState: (state, action: PayloadAction<TenantList>) => {\n state.tenantList = action.payload;\n },\n receiveExternalDeviceIntegrations: (state, action: PayloadAction<Integration[]>) => {\n state.externalDeviceIntegrations = action.payload;\n },\n receiveSsoConfigs: (state, action: PayloadAction<SSOConfig[]>) => {\n state.ssoConfigs = action.payload;\n },\n receiveWebhookEvents: (state, action: PayloadAction<{ total: number; value: WebhookEvent[] }>) => {\n const { value, total } = action.payload;\n state.webhooks.events = value;\n state.webhooks.eventsTotal = total;\n }\n }\n});\n\nexport const actions = organizationSlice.actions;\nexport default organizationSlice.reducer;\n"],"mappings":";;;;;;;;AAoBA,MAAa,YAAY;AAczB,MAAa,eAAsC;CACjD,MAAM;EACJ,OAAO;EACP,YAAY;GAAE,OAAO;GAAG,MAAM;EAAK;EACnC,OAAO;CACT;CACA,UAAU;CACV,YAAY;EACV,GAAGA,kBAAAA;EACH,OAAO;EACP,SAAS,CAAC;EACV,gBAAgB;EAChB,MAAM;GACJ,WAAWC,+BAAAA,gBAAgB;GAC3B,KAAK;EACP;CACF;CACA,cAAc,CAEd;CACA,UAAU;EACR,QAAQ,CAAC;EACT,gBAAgB;GACd,GAAGC,+BAAAA;GACH,QAAQ,KAAA;GACR,SAAS,KAAA;GACT,eAAe,KAAA;GACf,MAAM,EAAE,WAAWD,+BAAAA,gBAAgB,KAAK;GACxC,WAAW,KAAA;GACX,OAAO;GACP,MAAM,KAAA;GACN,MAAM,KAAA;GACN,WAAW;EACb;CACF;CACA,4BAA4B,CAE5B;CACA,YAAY,CAAC;CACb,UAAU;EAGR,QAAQ,CAAC;EACT,aAAa;CACf;AACF;AAEA,MAAa,qBAAA,GAAA,iBAAA,YAAA,CAAgC;CAC3C,MAAM;CACN;CACA,UAAU;EACR,mBAAmB,OAAO,WAAsE;GAC9F,MAAM,EAAE,QAAQ,UAAU,OAAO;GACjC,MAAM,SAAS,SAAS;GACxB,MAAM,SAAS,eAAe,QAAQ;EACxC;EACA,mBAAmB,OAAO,WAA2D;GACnF,MAAM,SAAS,iBAAiB;IAC9B,GAAG,MAAM,SAAS;IAClB,GAAG,OAAO;GACZ;EACF;EACA,qBAAqB,OAAO,WAAgC;GAC1D,MAAM,OAAO,OAAO;EACtB;EACA,qBAAqB,OAAO,WAAyC;GACnE,MAAM,WAAW,OAAO;EAC1B;EACA,kBAAkB,OAAO,WAAiD;GACxE,MAAM,eAAe;IAAE,GAAG,MAAM;IAAc,GAAG,OAAO;GAAQ;EAClE;EACA,kBAAkB,OAAO,WAAW;GAClC,MAAM,aAAa,eAAe;IAAE,GAAG,MAAM,aAAa;IAAc,GAAG,OAAO;GAAQ;EAC5F;EACA,cAAc,OAAO,WAAyC;GAC5D,MAAM,WAAW,OAAO;EAC1B;EACA,oBAAoB,OAAO,WAA0C;GACnE,MAAM,aAAa,kBAAkB,OAAO;EAC9C;EACA,qBAAqB,OAAO,WAAsC;GAChE,MAAM,aAAa,OAAO;EAC5B;EACA,oCAAoC,OAAO,WAAyC;GAClF,MAAM,6BAA6B,OAAO;EAC5C;EACA,oBAAoB,OAAO,WAAuC;GAChE,MAAM,aAAa,OAAO;EAC5B;EACA,uBAAuB,OAAO,WAAoE;GAChG,MAAM,EAAE,OAAO,UAAU,OAAO;GAChC,MAAM,SAAS,SAAS;GACxB,MAAM,SAAS,cAAc;EAC/B;CACF;AACF,CAAC;AAED,MAAa,UAAU,kBAAkB;AACzC,IAAA,4BAAe,kBAAkB"}
1
+ {"version":3,"file":"index.cjs","names":["TENANT_LIST_DEFAULT","SORTING_OPTIONS","DEVICE_LIST_DEFAULTS","createSlice"],"sources":["../../src/organizationSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { AuditLog as AuditLogEvent, BillingProfile, Integration, Event as WebhookEvent } from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS, TENANT_LIST_DEFAULT } from '../constants';\nimport type { AuditLog, AuditLogSelectionState, Card, Organization, ProductConfig, SSOConfig, TenantList, Webhook } from './types';\n\nexport const sliceName = 'organization';\n\nexport type OrganizationSliceType = {\n auditlog: AuditLog;\n card: Card;\n externalDeviceIntegrations: Integration[];\n intentId: string | null;\n organization: Partial<Organization>;\n products?: ProductConfig;\n ssoConfigs: SSOConfig[];\n tenantList: TenantList;\n webhooks: Webhook;\n};\n\nexport const initialState: OrganizationSliceType = {\n card: {\n last4: '',\n expiration: { month: 1, year: 2020 },\n brand: ''\n },\n intentId: null,\n tenantList: {\n ...TENANT_LIST_DEFAULT,\n total: 0,\n tenants: [],\n selectedTenant: null,\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'name'\n }\n },\n organization: {\n // id, name, status, tenant_token, plan\n },\n auditlog: {\n events: [],\n selectionState: {\n ...DEVICE_LIST_DEFAULTS,\n detail: undefined,\n endDate: undefined,\n selectedIssue: undefined,\n sort: { direction: SORTING_OPTIONS.desc },\n startDate: undefined,\n total: 0,\n type: undefined,\n user: undefined,\n isLoading: false\n }\n },\n externalDeviceIntegrations: [\n // { <connection_string|x509|...>, id, provider }\n ],\n ssoConfigs: [],\n webhooks: {\n // [id]: { events: [] }\n // for now:\n events: [],\n eventsTotal: 0\n }\n};\n\nexport const organizationSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveAuditLogs: (state, action: PayloadAction<{ events: AuditLogEvent[]; total: number }>) => {\n const { events, total } = action.payload;\n state.auditlog.events = events;\n state.auditlog.selectionState.total = total;\n },\n setAuditLogState: (state, action: PayloadAction<Partial<AuditLogSelectionState>>) => {\n state.auditlog.selectionState = {\n ...state.auditlog.selectionState,\n ...action.payload\n };\n },\n receiveCurrentCard: (state, action: PayloadAction<Card>) => {\n state.card = action.payload;\n },\n receiveSetupIntent: (state, action: PayloadAction<string | null>) => {\n state.intentId = action.payload;\n },\n setOrganization: (state, action: PayloadAction<Partial<Organization>>) => {\n state.organization = { ...state.organization, ...action.payload };\n },\n setSubscription: (state, action) => {\n state.organization.subscription = { ...state.organization.subscription, ...action.payload };\n },\n setProducts: (state, action: PayloadAction<ProductConfig>) => {\n state.products = action.payload;\n },\n setBillingProfile: (state, action: PayloadAction<BillingProfile>) => {\n state.organization.billing_profile = action.payload;\n },\n setTenantListState: (state, action: PayloadAction<TenantList>) => {\n state.tenantList = action.payload;\n },\n receiveExternalDeviceIntegrations: (state, action: PayloadAction<Integration[]>) => {\n state.externalDeviceIntegrations = action.payload;\n },\n receiveSsoConfigs: (state, action: PayloadAction<SSOConfig[]>) => {\n state.ssoConfigs = action.payload;\n },\n receiveWebhookEvents: (state, action: PayloadAction<{ total: number; value: WebhookEvent[] }>) => {\n const { value, total } = action.payload;\n state.webhooks.events = value;\n state.webhooks.eventsTotal = total;\n }\n }\n});\n\nexport const actions = organizationSlice.actions;\nexport default organizationSlice.reducer;\n"],"mappings":";;;;;;;;AAoBA,MAAa,YAAY;AAczB,MAAa,eAAsC;CACjD,MAAM;EACJ,OAAO;EACP,YAAY;GAAE,OAAO;GAAG,MAAM;EAAK;EACnC,OAAO;CACT;CACA,UAAU;CACV,YAAY;EACV,GAAGA,kBAAAA;EACH,OAAO;EACP,SAAS,CAAC;EACV,gBAAgB;EAChB,MAAM;GACJ,WAAWC,+BAAAA,gBAAgB;GAC3B,KAAK;EACP;CACF;CACA,cAAc,CAEd;CACA,UAAU;EACR,QAAQ,CAAC;EACT,gBAAgB;GACd,GAAGC,+BAAAA;GACH,QAAQ,KAAA;GACR,SAAS,KAAA;GACT,eAAe,KAAA;GACf,MAAM,EAAE,WAAWD,+BAAAA,gBAAgB,KAAK;GACxC,WAAW,KAAA;GACX,OAAO;GACP,MAAM,KAAA;GACN,MAAM,KAAA;GACN,WAAW;EACb;CACF;CACA,4BAA4B,CAE5B;CACA,YAAY,CAAC;CACb,UAAU;EAGR,QAAQ,CAAC;EACT,aAAa;CACf;AACF;AAEA,MAAa,qBAAA,GAAoBE,iBAAAA,YAAAA,CAAY;CAC3C,MAAM;CACN;CACA,UAAU;EACR,mBAAmB,OAAO,WAAsE;GAC9F,MAAM,EAAE,QAAQ,UAAU,OAAO;GACjC,MAAM,SAAS,SAAS;GACxB,MAAM,SAAS,eAAe,QAAQ;EACxC;EACA,mBAAmB,OAAO,WAA2D;GACnF,MAAM,SAAS,iBAAiB;IAC9B,GAAG,MAAM,SAAS;IAClB,GAAG,OAAO;GACZ;EACF;EACA,qBAAqB,OAAO,WAAgC;GAC1D,MAAM,OAAO,OAAO;EACtB;EACA,qBAAqB,OAAO,WAAyC;GACnE,MAAM,WAAW,OAAO;EAC1B;EACA,kBAAkB,OAAO,WAAiD;GACxE,MAAM,eAAe;IAAE,GAAG,MAAM;IAAc,GAAG,OAAO;GAAQ;EAClE;EACA,kBAAkB,OAAO,WAAW;GAClC,MAAM,aAAa,eAAe;IAAE,GAAG,MAAM,aAAa;IAAc,GAAG,OAAO;GAAQ;EAC5F;EACA,cAAc,OAAO,WAAyC;GAC5D,MAAM,WAAW,OAAO;EAC1B;EACA,oBAAoB,OAAO,WAA0C;GACnE,MAAM,aAAa,kBAAkB,OAAO;EAC9C;EACA,qBAAqB,OAAO,WAAsC;GAChE,MAAM,aAAa,OAAO;EAC5B;EACA,oCAAoC,OAAO,WAAyC;GAClF,MAAM,6BAA6B,OAAO;EAC5C;EACA,oBAAoB,OAAO,WAAuC;GAChE,MAAM,aAAa,OAAO;EAC5B;EACA,uBAAuB,OAAO,WAAoE;GAChG,MAAM,EAAE,OAAO,UAAU,OAAO;GAChC,MAAM,SAAS,SAAS;GACxB,MAAM,SAAS,cAAc;EAC/B;CACF;AACF,CAAC;AAED,MAAa,UAAU,kBAAkB;AACzC,IAAA,4BAAe,kBAAkB"}
@@ -1,2 +1,2 @@
1
- import { a as organizationSlice, i as initialState, n as _default, o as sliceName, r as actions, t as OrganizationSliceType } from "../index-CSOj22xK.cjs";
1
+ import { a as organizationSlice, i as initialState, n as _default, o as sliceName, r as actions, t as OrganizationSliceType } from "../index-C_LGDJN2.cjs";
2
2
  export { OrganizationSliceType, actions, _default as default, initialState, organizationSlice, sliceName };
@@ -1,2 +1,2 @@
1
- import { a as organizationSlice, i as initialState, n as _default, o as sliceName, r as actions, t as OrganizationSliceType } from "../index-H9zg_3UV.js";
1
+ import { a as organizationSlice, i as initialState, n as _default, o as sliceName, r as actions, t as OrganizationSliceType } from "../index-ChKTa1aL.js";
2
2
  export { OrganizationSliceType, actions, _default as default, initialState, organizationSlice, sliceName };
@@ -1,4 +1,4 @@
1
- import { f as SORTING_OPTIONS, l as DEVICE_LIST_DEFAULTS, nt as TENANT_LIST_DEFAULT } from "../constants-xpheFFkA.js";
1
+ import { f as SORTING_OPTIONS, l as DEVICE_LIST_DEFAULTS, rt as TENANT_LIST_DEFAULT } from "../constants-CerzXHnQ.js";
2
2
  import { createSlice } from "@reduxjs/toolkit";
3
3
  //#region src/organizationSlice/index.ts
4
4
  const sliceName = "organization";
@@ -1,6 +1,6 @@
1
- import { a as AvailablePlans } from "../constants-B_7FCJQX.cjs";
2
- import { d as TenantList, f as Webhook, l as SSOConfig } from "../types-yQ0ypHMZ.cjs";
3
-
1
+ import { a as AvailablePlans } from "../constants-nKSWZ8oD.cjs";
2
+ import "../constants-Rl3FJzFf.cjs";
3
+ import { d as TenantList, f as Webhook, l as SSOConfig } from "../types-B80ckxiy.cjs";
4
4
  //#region src/organizationSlice/mocks.d.ts
5
5
  declare const basicPlanId: AvailablePlans;
6
6
  declare const professionalPlanId: AvailablePlans;
@@ -1,6 +1,6 @@
1
- import { a as AvailablePlans } from "../constants-B_7FCJQX.js";
2
- import { d as TenantList, f as Webhook, l as SSOConfig } from "../types-uHmaedGU.js";
3
-
1
+ import { a as AvailablePlans } from "../constants-nKSWZ8oD.js";
2
+ import "../constants-B_H4squx.js";
3
+ import { d as TenantList, f as Webhook, l as SSOConfig } from "../types-B3qGQoMx.js";
4
4
  //#region src/organizationSlice/mocks.d.ts
5
5
  declare const basicPlanId: AvailablePlans;
6
6
  declare const professionalPlanId: AvailablePlans;
@@ -1,5 +1,5 @@
1
1
  import { PLANS } from "../appSlice/constants.js";
2
- import { l as DEVICE_LIST_DEFAULTS } from "../constants-xpheFFkA.js";
2
+ import { l as DEVICE_LIST_DEFAULTS } from "../constants-CerzXHnQ.js";
3
3
  import { initialState } from "./index.js";
4
4
  //#region src/organizationSlice/mocks.ts
5
5
  const basicPlanId = PLANS.os.id;
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.cjs","names":["EXTERNAL_PROVIDER","productOrder"],"sources":["../../src/organizationSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Tenant } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport { EXTERNAL_PROVIDER, productOrder } from '../constants';\nimport type { RootState } from '../store';\n\nexport const getOrganization = (state: RootState) => state.organization.organization;\nexport const getProducts = (state: RootState) => state.organization.products;\nexport const getExternalIntegrations = (state: RootState) => state.organization.externalDeviceIntegrations;\nexport const getAuditlogState = (state: RootState) => state.organization.auditlog.selectionState;\nexport const getAuditLog = (state: RootState) => state.organization.auditlog.events;\nexport const getAuditLogSelectionState = (state: RootState) => state.organization.auditlog.selectionState;\nexport const getBillingProfile = (state: RootState) => state.organization.organization.billing_profile;\nexport const getSubscription = (state: RootState) => state.organization.organization.subscription;\nexport const getCard = (state: RootState) => state.organization.card;\nexport const getSsoConfig = ({ organization: { ssoConfigs = [] } }: RootState) => ssoConfigs[0];\nexport const getTenantsList = (state: RootState) => state.organization.tenantList;\nexport const getWebhookEvents = (state: RootState) => state.organization.webhooks.events;\nexport const getWebhookEventTotal = (state: RootState) => state.organization.webhooks.eventsTotal;\n\nexport const getDeviceTwinIntegrations = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)\n);\nexport const getIsServiceProvider = (state: RootState) => state.organization.organization.service_provider;\n\nexport const getWebhooks = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && integration.provider === EXTERNAL_PROVIDER.webhook.provider)\n);\nexport const getWebhookEventInfo = createSelector([getWebhooks, getWebhookEvents, getWebhookEventTotal], (webhooks, events, eventTotal) =>\n webhooks.length ? { events, eventTotal } : { events: [], eventTotal: 0 }\n);\n\nexport const getAuditLogEntry = createSelector([getAuditLog, getAuditLogSelectionState], (events, { selectedId }) => {\n if (!selectedId) {\n return;\n }\n const [eventAction, eventTime] = atob(selectedId).split('|');\n return events.find(item => item.action === eventAction && item.time === eventTime);\n});\n\nconst toTierName = (key: string) => key.replace(/max_|_?devices/g, '') || 'standard';\nconst processDeviceLimits = (deviceLimits: Tenant['device_limits'], skipFilter = false) => {\n const result: { disabled: string[]; limits: Record<string, object> } = { limits: {}, disabled: [] };\n if (!deviceLimits) return result;\n const tiersByName = Object.fromEntries(Object.entries(deviceLimits).map(([key, limit]) => [toTierName(key), { key, limit }]));\n return productOrder.reduce((accu, tierName) => {\n const entry = tiersByName[tierName];\n if (!entry) return accu;\n const { key, limit } = entry;\n if (limit.value === 0) {\n accu.disabled.push(tierName);\n if (!skipFilter) return accu;\n }\n accu.limits[tierName] = {\n id: tierName,\n backendId: key,\n limit: limit.value,\n current: limit.current_value,\n name: tierName,\n quotaLeft: Math.max(limit.value - limit.current_value, 0),\n limitReached: limit.value !== -1 && limit.value <= limit.current_value\n };\n return accu;\n }, result);\n};\nconst getDeviceLimitsInfo = createSelector([getOrganization], ({ device_limits }) => processDeviceLimits(device_limits));\nexport const getDisabledTiers = createSelector([getDeviceLimitsInfo], ({ disabled }) => disabled);\nexport const getSpLimits = createSelector([getDeviceLimitsInfo], ({ limits }) => limits);\nexport const getTenantListWithLimits = createSelector([getTenantsList], tenantList => ({\n ...tenantList,\n tenants: tenantList.tenants.map(tenant => ({\n ...tenant,\n device_limits: processDeviceLimits(tenant.device_limits, true).limits\n }))\n}));\n"],"mappings":"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"}
1
+ {"version":3,"file":"selectors.cjs","names":["createSelector","EXTERNAL_PROVIDER","productOrder"],"sources":["../../src/organizationSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Tenant } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport { EXTERNAL_PROVIDER, productOrder } from '../constants';\nimport type { RootState } from '../store';\n\nexport const getOrganization = (state: RootState) => state.organization.organization;\nexport const getProducts = (state: RootState) => state.organization.products;\nexport const getExternalIntegrations = (state: RootState) => state.organization.externalDeviceIntegrations;\nexport const getAuditlogState = (state: RootState) => state.organization.auditlog.selectionState;\nexport const getAuditLog = (state: RootState) => state.organization.auditlog.events;\nexport const getAuditLogSelectionState = (state: RootState) => state.organization.auditlog.selectionState;\nexport const getBillingProfile = (state: RootState) => state.organization.organization.billing_profile;\nexport const getSubscription = (state: RootState) => state.organization.organization.subscription;\nexport const getCard = (state: RootState) => state.organization.card;\nexport const getSsoConfig = ({ organization: { ssoConfigs = [] } }: RootState) => ssoConfigs[0];\nexport const getTenantsList = (state: RootState) => state.organization.tenantList;\nexport const getWebhookEvents = (state: RootState) => state.organization.webhooks.events;\nexport const getWebhookEventTotal = (state: RootState) => state.organization.webhooks.eventsTotal;\n\nexport const getDeviceTwinIntegrations = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)\n);\nexport const getIsServiceProvider = (state: RootState) => state.organization.organization.service_provider;\n\nexport const getWebhooks = createSelector([getExternalIntegrations], integrations =>\n integrations.filter(integration => integration.id && integration.provider === EXTERNAL_PROVIDER.webhook.provider)\n);\nexport const getWebhookEventInfo = createSelector([getWebhooks, getWebhookEvents, getWebhookEventTotal], (webhooks, events, eventTotal) =>\n webhooks.length ? { events, eventTotal } : { events: [], eventTotal: 0 }\n);\n\nexport const getAuditLogEntry = createSelector([getAuditLog, getAuditLogSelectionState], (events, { selectedId }) => {\n if (!selectedId) {\n return;\n }\n const [eventAction, eventTime] = atob(selectedId).split('|');\n return events.find(item => item.action === eventAction && item.time === eventTime);\n});\n\nconst toTierName = (key: string) => key.replace(/max_|_?devices/g, '') || 'standard';\nconst processDeviceLimits = (deviceLimits: Tenant['device_limits'], skipFilter = false) => {\n const result: { disabled: string[]; limits: Record<string, object> } = { limits: {}, disabled: [] };\n if (!deviceLimits) return result;\n const tiersByName = Object.fromEntries(Object.entries(deviceLimits).map(([key, limit]) => [toTierName(key), { key, limit }]));\n return productOrder.reduce((accu, tierName) => {\n const entry = tiersByName[tierName];\n if (!entry) return accu;\n const { key, limit } = entry;\n if (limit.value === 0) {\n accu.disabled.push(tierName);\n if (!skipFilter) return accu;\n }\n accu.limits[tierName] = {\n id: tierName,\n backendId: key,\n limit: limit.value,\n current: limit.current_value,\n name: tierName,\n quotaLeft: Math.max(limit.value - limit.current_value, 0),\n limitReached: limit.value !== -1 && limit.value <= limit.current_value\n };\n return accu;\n }, result);\n};\nconst getDeviceLimitsInfo = createSelector([getOrganization], ({ device_limits }) => processDeviceLimits(device_limits));\nexport const getDisabledTiers = createSelector([getDeviceLimitsInfo], ({ disabled }) => disabled);\nexport const getSpLimits = createSelector([getDeviceLimitsInfo], ({ limits }) => limits);\nexport const getTenantListWithLimits = createSelector([getTenantsList], tenantList => ({\n ...tenantList,\n tenants: tenantList.tenants.map(tenant => ({\n ...tenant,\n device_limits: processDeviceLimits(tenant.device_limits, true).limits\n }))\n}));\n"],"mappings":"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"}
@@ -1,14 +1,13 @@
1
- import { o as UserSliceType } from "../index-CgPgKMve.cjs";
2
- import { i as ReleaseSliceType } from "../index-VEayiYkv.cjs";
3
- import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, u as Tenant } from "../types-yQ0ypHMZ.cjs";
4
- import { n as OnboardingSliceType } from "../index-DBUt8xVc.cjs";
5
- import { o as DeploymentsSliceType } from "../index-EPmsL6Lb.cjs";
6
- import { s as DeviceSliceType } from "../index-vXsWdis1.cjs";
7
- import { t as AppSliceType } from "../index-Dn1SqQYh.cjs";
8
- import { t as MonitorSliceType } from "../index-BQCnJ5gh.cjs";
9
- import { t as OrganizationSliceType } from "../index-CSOj22xK.cjs";
10
- import { r as RootState } from "../store-CGP5pCH8.cjs";
11
-
1
+ import { o as UserSliceType } from "../index-BgF6rhXn.cjs";
2
+ import { i as ReleaseSliceType } from "../index-DiAjzARZ.cjs";
3
+ import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, u as Tenant } from "../types-B80ckxiy.cjs";
4
+ import { n as OnboardingSliceType } from "../index-CoObjWL4.cjs";
5
+ import { o as DeploymentsSliceType } from "../index-mvxjivTJ.cjs";
6
+ import { c as DeviceSliceType } from "../index-CiQ95u1W.cjs";
7
+ import { t as AppSliceType } from "../index-DeOpb2oK.cjs";
8
+ import { t as MonitorSliceType } from "../index-Ctj2r57a.cjs";
9
+ import { t as OrganizationSliceType } from "../index-C_LGDJN2.cjs";
10
+ import { r as RootState } from "../store-CUUm1GTI.cjs";
12
11
  //#region src/organizationSlice/selectors.d.ts
13
12
  declare const getOrganization: (state: RootState) => Partial<Organization>;
14
13
  declare const getProducts: (state: RootState) => ProductConfig | undefined;
@@ -19,11 +18,7 @@ declare const getAuditLogSelectionState: (state: RootState) => AuditLogSelection
19
18
  declare const getBillingProfile: (state: RootState) => import("@northern.tech/types/types.gen").BillingProfile | undefined;
20
19
  declare const getSubscription: (state: RootState) => import("@northern.tech/types/types.gen").SubscriptionData | undefined;
21
20
  declare const getCard: (state: RootState) => Card;
22
- declare const getSsoConfig: ({
23
- organization: {
24
- ssoConfigs
25
- }
26
- }: RootState) => SSOConfig;
21
+ declare const getSsoConfig: ({ organization: { ssoConfigs } }: RootState) => SSOConfig;
27
22
  declare const getTenantsList: (state: RootState) => TenantList;
28
23
  declare const getWebhookEvents: (state: RootState) => import("@northern.tech/types/types.gen").Event[];
29
24
  declare const getWebhookEventTotal: (state: RootState) => number;
@@ -1,14 +1,13 @@
1
- import { o as UserSliceType } from "../index-BCErsO5h.js";
2
- import { i as ReleaseSliceType } from "../index-m1c0qk2s.js";
3
- import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, u as Tenant } from "../types-uHmaedGU.js";
4
- import { n as OnboardingSliceType } from "../index-DBUt8xVc.js";
5
- import { o as DeploymentsSliceType } from "../index-Bb4yvvgG.js";
6
- import { s as DeviceSliceType } from "../index-BtGhTFBc.js";
7
- import { t as AppSliceType } from "../index-CnH51JfB.js";
8
- import { t as MonitorSliceType } from "../index-C5oQrJGU.js";
9
- import { t as OrganizationSliceType } from "../index-H9zg_3UV.js";
10
- import { r as RootState } from "../store-CkgokFlk.js";
11
-
1
+ import { o as UserSliceType } from "../index-CpfhQHfg.js";
2
+ import { i as ReleaseSliceType } from "../index-C8uiyxnb.js";
3
+ import { d as TenantList, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, u as Tenant } from "../types-B3qGQoMx.js";
4
+ import { n as OnboardingSliceType } from "../index-CoObjWL4.js";
5
+ import { o as DeploymentsSliceType } from "../index-B8td4-rY.js";
6
+ import { c as DeviceSliceType } from "../index-Bvyf8OO6.js";
7
+ import { t as AppSliceType } from "../index-Bs0c1-WY.js";
8
+ import { t as MonitorSliceType } from "../index-BAGyeC-q.js";
9
+ import { t as OrganizationSliceType } from "../index-ChKTa1aL.js";
10
+ import { r as RootState } from "../store-CPptM5Ts.js";
12
11
  //#region src/organizationSlice/selectors.d.ts
13
12
  declare const getOrganization: (state: RootState) => Partial<Organization>;
14
13
  declare const getProducts: (state: RootState) => ProductConfig | undefined;
@@ -19,11 +18,7 @@ declare const getAuditLogSelectionState: (state: RootState) => AuditLogSelection
19
18
  declare const getBillingProfile: (state: RootState) => import("@northern.tech/types/types.gen").BillingProfile | undefined;
20
19
  declare const getSubscription: (state: RootState) => import("@northern.tech/types/types.gen").SubscriptionData | undefined;
21
20
  declare const getCard: (state: RootState) => Card;
22
- declare const getSsoConfig: ({
23
- organization: {
24
- ssoConfigs
25
- }
26
- }: RootState) => SSOConfig;
21
+ declare const getSsoConfig: ({ organization: { ssoConfigs } }: RootState) => SSOConfig;
27
22
  declare const getTenantsList: (state: RootState) => TenantList;
28
23
  declare const getWebhookEvents: (state: RootState) => import("@northern.tech/types/types.gen").Event[];
29
24
  declare const getWebhookEventTotal: (state: RootState) => number;
@@ -1,4 +1,4 @@
1
- import { At as EXTERNAL_PROVIDER, zt as productOrder } from "../constants-xpheFFkA.js";
1
+ import { Bt as productOrder, jt as EXTERNAL_PROVIDER } from "../constants-CerzXHnQ.js";
2
2
  import { createSelector } from "@reduxjs/toolkit";
3
3
  //#region src/organizationSlice/selectors.ts
4
4
  const getOrganization = (state) => state.organization.organization;
@@ -1,11 +1,10 @@
1
- import { _ as locations, a as AvailablePlans } from "../constants-B_7FCJQX.cjs";
2
- import { T as SortOptions, g as PaginationOptions } from "../constants-DAi2zOZN.cjs";
1
+ import { _ as locations, a as AvailablePlans } from "../constants-nKSWZ8oD.cjs";
2
+ import { T as SortOptions, g as PaginationOptions } from "../constants-Rl3FJzFf.cjs";
3
3
  import { n as ContentType } from "../constants-OZiiFKiA.cjs";
4
- import { d as TenantList, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "../types-yQ0ypHMZ.cjs";
5
- import { i as SnackbarContent } from "../index-Dn1SqQYh.cjs";
6
- import { r as RootState, t as AppDispatch } from "../store-CGP5pCH8.cjs";
4
+ import { d as TenantList, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "../types-B80ckxiy.cjs";
5
+ import { i as SnackbarContent } from "../index-DeOpb2oK.cjs";
6
+ import { r as RootState, t as AppDispatch } from "../store-CUUm1GTI.cjs";
7
7
  import { BillingProfile, Integration, NewTenantTypeManagement, PreviewRequest, Product, ProductInfo, Subscription, SupportRequest, UpdateChildTenant } from "@northern.tech/types/MenderTypes";
8
-
9
8
  //#region src/organizationSlice/thunks.d.ts
10
9
  declare const cancelRequest: import("@reduxjs/toolkit").AsyncThunk<{
11
10
  payload: string | SnackbarContent;
@@ -92,7 +91,7 @@ declare const startUpgrade: import("@reduxjs/toolkit").AsyncThunk<string, string
92
91
  fulfilledMeta?: unknown;
93
92
  rejectedMeta?: unknown;
94
93
  }>;
95
- declare const cancelUpgrade: import("@reduxjs/toolkit").AsyncThunk< /*elided*/any, string, {
94
+ declare const cancelUpgrade: import("@reduxjs/toolkit").AsyncThunk< /*elided*/ any, string, {
96
95
  dispatch: AppDispatch;
97
96
  state: RootState;
98
97
  extra?: unknown;
@@ -1,11 +1,10 @@
1
- import { _ as locations, a as AvailablePlans } from "../constants-B_7FCJQX.js";
2
- import { T as SortOptions, g as PaginationOptions } from "../constants-CzjK2gV-.js";
1
+ import { _ as locations, a as AvailablePlans } from "../constants-nKSWZ8oD.js";
2
+ import { T as SortOptions, g as PaginationOptions } from "../constants-B_H4squx.js";
3
3
  import { n as ContentType } from "../constants-OZiiFKiA.js";
4
- import { d as TenantList, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "../types-uHmaedGU.js";
5
- import { i as SnackbarContent } from "../index-CnH51JfB.js";
6
- import { r as RootState, t as AppDispatch } from "../store-CkgokFlk.js";
4
+ import { d as TenantList, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card } from "../types-B3qGQoMx.js";
5
+ import { i as SnackbarContent } from "../index-Bs0c1-WY.js";
6
+ import { r as RootState, t as AppDispatch } from "../store-CPptM5Ts.js";
7
7
  import { BillingProfile, Integration, NewTenantTypeManagement, PreviewRequest, Product, ProductInfo, Subscription, SupportRequest, UpdateChildTenant } from "@northern.tech/types/MenderTypes";
8
-
9
8
  //#region src/organizationSlice/thunks.d.ts
10
9
  declare const cancelRequest: import("@reduxjs/toolkit").AsyncThunk<{
11
10
  payload: string | SnackbarContent;
@@ -92,7 +91,7 @@ declare const startUpgrade: import("@reduxjs/toolkit").AsyncThunk<string, string
92
91
  fulfilledMeta?: unknown;
93
92
  rejectedMeta?: unknown;
94
93
  }>;
95
- declare const cancelUpgrade: import("@reduxjs/toolkit").AsyncThunk< /*elided*/any, string, {
94
+ declare const cancelUpgrade: import("@reduxjs/toolkit").AsyncThunk< /*elided*/ any, string, {
96
95
  dispatch: AppDispatch;
97
96
  state: RootState;
98
97
  extra?: unknown;
@@ -1,2 +1,2 @@
1
- import { a as PricePreview, c as ProductTier, d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, s as ProductPlan, t as AuditLog, u as Tenant } from "../types-yQ0ypHMZ.cjs";
1
+ import { a as PricePreview, c as ProductTier, d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, s as ProductPlan, t as AuditLog, u as Tenant } from "../types-B80ckxiy.cjs";
2
2
  export { AuditLog, AuditLogSelectionState, Card, Organization, PricePreview, ProductConfig, ProductPlan, ProductTier, SSOConfig, Tenant, TenantList, Webhook };
@@ -1,2 +1,2 @@
1
- import { a as PricePreview, c as ProductTier, d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, s as ProductPlan, t as AuditLog, u as Tenant } from "../types-uHmaedGU.js";
1
+ import { a as PricePreview, c as ProductTier, d as TenantList, f as Webhook, i as Organization, l as SSOConfig, n as AuditLogSelectionState, o as ProductConfig, r as Card, s as ProductPlan, t as AuditLog, u as Tenant } from "../types-B3qGQoMx.js";
2
2
  export { AuditLog, AuditLogSelectionState, Card, Organization, PricePreview, ProductConfig, ProductPlan, ProductTier, SSOConfig, Tenant, TenantList, Webhook };
@@ -9,10 +9,12 @@ const softwareTitleMap = { [rootfsImageVersion]: {
9
9
  priority: 0,
10
10
  key: rootfsImageVersion
11
11
  } };
12
+ const rootfsManifestVersion = "rootfs-image.update-module.mender-orchestrator-manifest.version";
12
13
  //#endregion
13
14
  exports.ARTIFACT_GENERATION_TYPE = ARTIFACT_GENERATION_TYPE;
14
15
  exports.currentArtifact = currentArtifact;
15
16
  exports.rootfsImageVersion = rootfsImageVersion;
17
+ exports.rootfsManifestVersion = rootfsManifestVersion;
16
18
  exports.softwareIndicator = softwareIndicator;
17
19
  exports.softwareTitleMap = softwareTitleMap;
18
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","names":[],"sources":["../../src/releasesSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport const ARTIFACT_GENERATION_TYPE = { SINGLE_FILE: 'single_file' };\n\nexport const currentArtifact = 'artifact_name';\nexport const softwareIndicator = '.version';\nexport const rootfsImageVersion = 'rootfs-image.version';\nexport const softwareTitleMap = { [rootfsImageVersion]: { title: 'Root filesystem', priority: 0, key: rootfsImageVersion } };\n"],"mappings":";;AAaA,MAAa,2BAA2B,EAAE,aAAa,cAAc;AAErE,MAAa,kBAAkB;AAC/B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,mBAAmB,GAAG,qBAAqB;CAAE,OAAO;CAAmB,UAAU;CAAG,KAAK;AAAmB,EAAE"}
1
+ {"version":3,"file":"constants.cjs","names":[],"sources":["../../src/releasesSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport const ARTIFACT_GENERATION_TYPE = { SINGLE_FILE: 'single_file' };\n\nexport const currentArtifact = 'artifact_name';\nexport const softwareIndicator = '.version';\nexport const rootfsImageVersion = 'rootfs-image.version';\nexport const softwareTitleMap = { [rootfsImageVersion]: { title: 'Root filesystem', priority: 0, key: rootfsImageVersion } };\nexport const rootfsManifestVersion = 'rootfs-image.update-module.mender-orchestrator-manifest.version';\n"],"mappings":";;AAaA,MAAa,2BAA2B,EAAE,aAAa,cAAc;AAErE,MAAa,kBAAkB;AAC/B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,mBAAmB,GAAG,qBAAqB;CAAE,OAAO;CAAmB,UAAU;CAAG,KAAK;AAAmB,EAAE;AAC3H,MAAa,wBAAwB"}
@@ -1,2 +1,2 @@
1
- import { a as softwareTitleMap, i as softwareIndicator, n as currentArtifact, r as rootfsImageVersion, t as ARTIFACT_GENERATION_TYPE } from "../constants-6kYRTdox.cjs";
2
- export { ARTIFACT_GENERATION_TYPE, currentArtifact, rootfsImageVersion, softwareIndicator, softwareTitleMap };
1
+ import { a as softwareIndicator, i as rootfsManifestVersion, n as currentArtifact, o as softwareTitleMap, r as rootfsImageVersion, t as ARTIFACT_GENERATION_TYPE } from "../constants-CEwun8TL.cjs";
2
+ export { ARTIFACT_GENERATION_TYPE, currentArtifact, rootfsImageVersion, rootfsManifestVersion, softwareIndicator, softwareTitleMap };
@@ -1,2 +1,2 @@
1
- import { a as softwareTitleMap, i as softwareIndicator, n as currentArtifact, r as rootfsImageVersion, t as ARTIFACT_GENERATION_TYPE } from "../constants-6kYRTdox.js";
2
- export { ARTIFACT_GENERATION_TYPE, currentArtifact, rootfsImageVersion, softwareIndicator, softwareTitleMap };
1
+ import { a as softwareIndicator, i as rootfsManifestVersion, n as currentArtifact, o as softwareTitleMap, r as rootfsImageVersion, t as ARTIFACT_GENERATION_TYPE } from "../constants-CEwun8TL.js";
2
+ export { ARTIFACT_GENERATION_TYPE, currentArtifact, rootfsImageVersion, rootfsManifestVersion, softwareIndicator, softwareTitleMap };
@@ -8,7 +8,8 @@ const softwareTitleMap = { [rootfsImageVersion]: {
8
8
  priority: 0,
9
9
  key: rootfsImageVersion
10
10
  } };
11
+ const rootfsManifestVersion = "rootfs-image.update-module.mender-orchestrator-manifest.version";
11
12
  //#endregion
12
- export { ARTIFACT_GENERATION_TYPE, currentArtifact, rootfsImageVersion, softwareIndicator, softwareTitleMap };
13
+ export { ARTIFACT_GENERATION_TYPE, currentArtifact, rootfsImageVersion, rootfsManifestVersion, softwareIndicator, softwareTitleMap };
13
14
 
14
15
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["../../src/releasesSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport const ARTIFACT_GENERATION_TYPE = { SINGLE_FILE: 'single_file' };\n\nexport const currentArtifact = 'artifact_name';\nexport const softwareIndicator = '.version';\nexport const rootfsImageVersion = 'rootfs-image.version';\nexport const softwareTitleMap = { [rootfsImageVersion]: { title: 'Root filesystem', priority: 0, key: rootfsImageVersion } };\n"],"mappings":";AAaA,MAAa,2BAA2B,EAAE,aAAa,cAAc;AAErE,MAAa,kBAAkB;AAC/B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,mBAAmB,GAAG,qBAAqB;CAAE,OAAO;CAAmB,UAAU;CAAG,KAAK;AAAmB,EAAE"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../src/releasesSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nexport const ARTIFACT_GENERATION_TYPE = { SINGLE_FILE: 'single_file' };\n\nexport const currentArtifact = 'artifact_name';\nexport const softwareIndicator = '.version';\nexport const rootfsImageVersion = 'rootfs-image.version';\nexport const softwareTitleMap = { [rootfsImageVersion]: { title: 'Root filesystem', priority: 0, key: rootfsImageVersion } };\nexport const rootfsManifestVersion = 'rootfs-image.update-module.mender-orchestrator-manifest.version';\n"],"mappings":";AAaA,MAAa,2BAA2B,EAAE,aAAa,cAAc;AAErE,MAAa,kBAAkB;AAC/B,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,mBAAmB,GAAG,qBAAqB;CAAE,OAAO;CAAmB,UAAU;CAAG,KAAK;AAAmB,EAAE;AAC3H,MAAa,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["DEVICE_LIST_DEFAULTS","SORTING_OPTIONS"],"sources":["../../src/releasesSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type {\n ArtifactV1 as BackendArtifactV1,\n ArtifactV2 as BackendArtifactV2,\n ReleaseV1 as BackendReleaseV1,\n ReleaseV2 as BackendReleaseV2,\n Update as BackendUpdate,\n DeltaJobDetailsItem,\n DeltaJobsListItem,\n Manifest,\n Software,\n Tags\n} from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\nimport type { SortOptions } from '../constants';\n\ntype Update = Omit<BackendUpdate, 'meta_data'>;\nexport type Artifact = Omit<BackendArtifactV1, 'updates'> &\n Omit<BackendArtifactV2, 'updates'> & { installCount?: number; updates?: Array<Update>; url?: string };\nexport type Release = BackendReleaseV1 & BackendReleaseV2 & { artifacts: Artifact[]; device_types_compatible: string[]; name: string };\n\nexport type SoftwareKind = Software['kind'];\n\nexport const sliceName = 'releases';\n\ntype EnhancedJobDetailsItem = DeltaJobDetailsItem & DeltaJobsListItem;\n\nexport type ReleasesList = {\n isLoading?: boolean;\n page: number;\n perPage: number;\n releaseIds: string[];\n searchedIds: string[];\n searchOnly?: boolean;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n selection: number[];\n sort?: SortOptions;\n total: number;\n type: string;\n};\n\nexport type ManifestsList = {\n isLoading?: boolean;\n manifestIds: string[];\n page: number;\n perPage: number;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n selection: number[];\n sort?: SortOptions;\n total: number;\n};\n\nexport type SoftwareList = {\n isLoading?: boolean;\n kind: SoftwareKind | undefined;\n page: number;\n perPage: number;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n softwareIds: string[];\n sort?: SortOptions;\n total: number;\n type: string;\n};\n\nexport type ReleaseSliceType = {\n artifacts: never[];\n byId: Record<string, Release>;\n deltaJobs: Record<string, EnhancedJobDetailsItem>;\n deltaJobsList: {\n jobIds: string[];\n page: number;\n perPage: number;\n sort?: SortOptions;\n total: 0;\n };\n manifestsById: Record<string, Manifest>;\n manifestsList: ManifestsList;\n releasesList: ReleasesList;\n selectedJob: string | null;\n selectedManifest: string | null;\n selectedRelease: string | null;\n softwareById: Record<string, Software>;\n softwareList: SoftwareList;\n tab?: 'releases' | 'delta' | 'manifests';\n tags: Record<'releases' | 'manifests' | 'software', Tags>;\n updateTypes: string[];\n};\n\nexport const initialState: ReleaseSliceType = {\n /*\n * Return list of saved artifacts objects\n */\n /*\n * return list of artifacts where duplicate names are collated with device compatibility lists combined\n */\n // artifacts: AppStore.getCollatedArtifacts(AppStore.getArtifactsRepo()),\n artifacts: [],\n /*\n * Return list of saved release objects\n */\n byId: {\n /*\n [releaseName]: {\n artifacts: [\n {\n id: '',\n name: '',\n description: '',\n device_types_compatible: [],\n ...\n updates: [{\n files: [\n { size: 123, name: '' }\n ],\n type_info: { type: '' }\n }],\n url: '' // optional\n }\n ],\n modified: ''\n device_types_compatible,\n name: '',\n tags: ['something'],\n notes: ''\n }\n */\n },\n deltaJobs: {\n /*\n [jobId]: {\n id: '',\n ...\n }\n */\n },\n deltaJobsList: {\n ...DEVICE_LIST_DEFAULTS,\n jobIds: [],\n total: 0,\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'started'\n }\n },\n releasesList: {\n ...DEVICE_LIST_DEFAULTS,\n searchedIds: [],\n releaseIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n /*\n * Return list of saved manifest objects\n */\n manifestsById: {\n /*\n [manifestName]: {\n name: '',\n modified: '',\n artifact: { ... },\n manifest: {\n name: '',\n system_types_compatible: [],\n component_types: { ... }\n ...\n },\n tags: ['something'],\n notes: ''\n }\n */\n },\n manifestsList: {\n ...DEVICE_LIST_DEFAULTS,\n manifestIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0\n },\n softwareById: {},\n softwareList: {\n ...DEVICE_LIST_DEFAULTS,\n softwareIds: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n kind: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n tab: 'releases',\n tags: {\n manifests: [],\n releases: [],\n software: []\n },\n updateTypes: [],\n selectedJob: null,\n /*\n * Return single manifest\n */\n selectedManifest: null,\n /*\n * Return single release with corresponding Artifacts\n */\n selectedRelease: null\n};\n\nexport const releaseSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveRelease: (state, action: PayloadAction<Release>) => {\n const { name } = action.payload;\n state.byId[name] = action.payload;\n },\n receiveReleases: (state, action: PayloadAction<Record<string, Release>>) => {\n state.byId = action.payload;\n },\n receiveSoftwareTags: (state, action: PayloadAction<Tags>) => {\n state.tags.software = action.payload;\n },\n receiveReleaseTags: (state, action: PayloadAction<Tags>) => {\n state.tags.releases = action.payload;\n },\n receiveReleaseTypes: (state, action: PayloadAction<string[]>) => {\n state.updateTypes = action.payload;\n },\n removeRelease: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...byId } = state.byId;\n state.byId = byId;\n state.selectedRelease = action.payload === state.selectedRelease ? null : state.selectedRelease;\n },\n selectedRelease: (state, action: PayloadAction<string | null>) => {\n state.selectedRelease = action.payload;\n },\n setReleaseListState: (state, action) => {\n state.releasesList = action.payload;\n },\n receivedDeltaJobs: (state, action) => {\n const { jobs, total } = action.payload;\n state.deltaJobs = jobs.reduce(\n (accu, job) => {\n accu[job.id] = {\n ...accu[job.id],\n ...job\n };\n return accu;\n },\n { ...state.deltaJobs }\n );\n state.deltaJobsList.jobIds = jobs.map(job => job.id);\n state.deltaJobsList.total = total;\n },\n receivedDeltaJobDetails: (state, action) => {\n const job: DeltaJobDetailsItem & { id: string } = action.payload;\n state.deltaJobs[job.id] = {\n ...state.deltaJobs[job.id],\n ...job\n };\n },\n setDeltaJobsListState: (state, action) => {\n state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };\n },\n setSelectedJob: (state, action) => {\n state.selectedJob = action.payload;\n },\n setActiveTab: (state, action: PayloadAction<'releases' | 'delta' | 'manifests'>) => {\n state.tab = action.payload;\n },\n receiveManifest: (state, action: PayloadAction<Manifest>) => {\n const { name } = action.payload;\n state.manifestsById[name] = action.payload;\n },\n receiveManifests: (state, action: PayloadAction<Record<string, Manifest>>) => {\n state.manifestsById = action.payload;\n },\n receiveManifestTags: (state, action: PayloadAction<Tags>) => {\n state.tags.manifests = action.payload;\n },\n removeManifest: (state, action: PayloadAction<string>) => {\n const { [action.payload]: _toBeRemoved, ...manifestsById } = state.manifestsById;\n state.manifestsById = manifestsById;\n state.selectedManifest = action.payload === state.selectedManifest ? null : state.selectedManifest;\n },\n removeManifests: (state, action: PayloadAction<string[]>) => {\n const { manifestsById, selectedManifest } = action.payload.reduce(\n (accu, key) => {\n const { [key]: _toBeRemoved, ...manifestsById } = accu.manifestsById;\n\n return { manifestsById, selectedManifest: key === accu.selectedManifest ? null : accu.selectedManifest };\n },\n { manifestsById: { ...state.manifestsById }, selectedManifest: state.selectedManifest }\n );\n state.manifestsById = manifestsById;\n state.selectedManifest = selectedManifest;\n },\n selectedManifest: (state, action: PayloadAction<string | null>) => {\n state.selectedManifest = action.payload;\n },\n setManifestsListState: (state, action: PayloadAction<ManifestsList>) => {\n state.manifestsList = action.payload;\n },\n receiveSoftwareItems: (state, action: PayloadAction<Record<string, Software>>) => {\n state.softwareById = action.payload;\n },\n setSoftwareListState: (state, action: PayloadAction<SoftwareList>) => {\n state.softwareList = action.payload;\n }\n }\n});\n\nexport const actions = releaseSlice.actions;\nexport default releaseSlice.reducer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["DEVICE_LIST_DEFAULTS","SORTING_OPTIONS","createSlice"],"sources":["../../src/releasesSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type {\n ArtifactV1 as BackendArtifactV1,\n ArtifactV2 as BackendArtifactV2,\n ReleaseV1 as BackendReleaseV1,\n ReleaseV2 as BackendReleaseV2,\n Update as BackendUpdate,\n DeltaJobDetailsItem,\n DeltaJobsListItem,\n Manifest,\n Software,\n Tags\n} from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\nimport type { SortOptions } from '../constants';\n\ntype Update = Omit<BackendUpdate, 'meta_data'>;\nexport type Artifact = Omit<BackendArtifactV1, 'updates'> &\n Omit<BackendArtifactV2, 'updates'> & { installCount?: number; updates?: Array<Update>; url?: string };\nexport type Release = BackendReleaseV1 & BackendReleaseV2 & { artifacts: Artifact[]; device_types_compatible: string[]; name: string };\n\nexport type SoftwareKind = Software['kind'];\n\nexport const sliceName = 'releases';\n\ntype EnhancedJobDetailsItem = DeltaJobDetailsItem & DeltaJobsListItem;\n\nexport type ReleasesList = {\n isLoading?: boolean;\n page: number;\n perPage: number;\n releaseIds: string[];\n searchedIds: string[];\n searchOnly?: boolean;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n selection: number[];\n sort?: SortOptions;\n total: number;\n type: string;\n};\n\nexport type ManifestsList = {\n isLoading?: boolean;\n manifestIds: string[];\n page: number;\n perPage: number;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n selection: number[];\n sort?: SortOptions;\n total: number;\n};\n\nexport type SoftwareList = {\n isLoading?: boolean;\n kind: SoftwareKind | undefined;\n page: number;\n perPage: number;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n softwareIds: string[];\n sort?: SortOptions;\n total: number;\n type: string;\n};\n\nexport type ReleaseSliceType = {\n artifacts: never[];\n byId: Record<string, Release>;\n deltaJobs: Record<string, EnhancedJobDetailsItem>;\n deltaJobsList: {\n jobIds: string[];\n page: number;\n perPage: number;\n sort?: SortOptions;\n total: 0;\n };\n manifestsById: Record<string, Manifest>;\n manifestsList: ManifestsList;\n releasesList: ReleasesList;\n selectedJob: string | null;\n selectedManifest: string | null;\n selectedRelease: string | null;\n softwareById: Record<string, Software>;\n softwareList: SoftwareList;\n tab?: 'releases' | 'delta' | 'manifests';\n tags: Record<'releases' | 'manifests' | 'software', Tags>;\n updateTypes: string[];\n};\n\nexport const initialState: ReleaseSliceType = {\n /*\n * Return list of saved artifacts objects\n */\n /*\n * return list of artifacts where duplicate names are collated with device compatibility lists combined\n */\n // artifacts: AppStore.getCollatedArtifacts(AppStore.getArtifactsRepo()),\n artifacts: [],\n /*\n * Return list of saved release objects\n */\n byId: {\n /*\n [releaseName]: {\n artifacts: [\n {\n id: '',\n name: '',\n description: '',\n device_types_compatible: [],\n ...\n updates: [{\n files: [\n { size: 123, name: '' }\n ],\n type_info: { type: '' }\n }],\n url: '' // optional\n }\n ],\n modified: ''\n device_types_compatible,\n name: '',\n tags: ['something'],\n notes: ''\n }\n */\n },\n deltaJobs: {\n /*\n [jobId]: {\n id: '',\n ...\n }\n */\n },\n deltaJobsList: {\n ...DEVICE_LIST_DEFAULTS,\n jobIds: [],\n total: 0,\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'started'\n }\n },\n releasesList: {\n ...DEVICE_LIST_DEFAULTS,\n searchedIds: [],\n releaseIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n /*\n * Return list of saved manifest objects\n */\n manifestsById: {\n /*\n [manifestName]: {\n name: '',\n modified: '',\n artifact: { ... },\n manifest: {\n name: '',\n system_types_compatible: [],\n component_types: { ... }\n ...\n },\n tags: ['something'],\n notes: ''\n }\n */\n },\n manifestsList: {\n ...DEVICE_LIST_DEFAULTS,\n manifestIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0\n },\n softwareById: {},\n softwareList: {\n ...DEVICE_LIST_DEFAULTS,\n softwareIds: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n kind: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n tab: 'releases',\n tags: {\n manifests: [],\n releases: [],\n software: []\n },\n updateTypes: [],\n selectedJob: null,\n /*\n * Return single manifest\n */\n selectedManifest: null,\n /*\n * Return single release with corresponding Artifacts\n */\n selectedRelease: null\n};\n\nexport const releaseSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveRelease: (state, action: PayloadAction<Release>) => {\n const { name } = action.payload;\n state.byId[name] = action.payload;\n },\n receiveReleases: (state, action: PayloadAction<Record<string, Release>>) => {\n state.byId = action.payload;\n },\n receiveSoftwareTags: (state, action: PayloadAction<Tags>) => {\n state.tags.software = action.payload;\n },\n receiveReleaseTags: (state, action: PayloadAction<Tags>) => {\n state.tags.releases = action.payload;\n },\n receiveReleaseTypes: (state, action: PayloadAction<string[]>) => {\n state.updateTypes = action.payload;\n },\n removeRelease: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...byId } = state.byId;\n state.byId = byId;\n state.selectedRelease = action.payload === state.selectedRelease ? null : state.selectedRelease;\n },\n selectedRelease: (state, action: PayloadAction<string | null>) => {\n state.selectedRelease = action.payload;\n },\n setReleaseListState: (state, action) => {\n state.releasesList = action.payload;\n },\n receivedDeltaJobs: (state, action) => {\n const { jobs, total } = action.payload;\n state.deltaJobs = jobs.reduce(\n (accu, job) => {\n accu[job.id] = {\n ...accu[job.id],\n ...job\n };\n return accu;\n },\n { ...state.deltaJobs }\n );\n state.deltaJobsList.jobIds = jobs.map(job => job.id);\n state.deltaJobsList.total = total;\n },\n receivedDeltaJobDetails: (state, action) => {\n const job: DeltaJobDetailsItem & { id: string } = action.payload;\n state.deltaJobs[job.id] = {\n ...state.deltaJobs[job.id],\n ...job\n };\n },\n setDeltaJobsListState: (state, action) => {\n state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };\n },\n setSelectedJob: (state, action) => {\n state.selectedJob = action.payload;\n },\n setActiveTab: (state, action: PayloadAction<'releases' | 'delta' | 'manifests'>) => {\n state.tab = action.payload;\n },\n receiveManifest: (state, action: PayloadAction<Manifest>) => {\n const { name } = action.payload;\n state.manifestsById[name] = action.payload;\n },\n receiveManifests: (state, action: PayloadAction<Record<string, Manifest>>) => {\n state.manifestsById = action.payload;\n },\n receiveManifestTags: (state, action: PayloadAction<Tags>) => {\n state.tags.manifests = action.payload;\n },\n removeManifest: (state, action: PayloadAction<string>) => {\n const { [action.payload]: _toBeRemoved, ...manifestsById } = state.manifestsById;\n state.manifestsById = manifestsById;\n state.selectedManifest = action.payload === state.selectedManifest ? null : state.selectedManifest;\n },\n removeManifests: (state, action: PayloadAction<string[]>) => {\n const { manifestsById, selectedManifest } = action.payload.reduce(\n (accu, key) => {\n const { [key]: _toBeRemoved, ...manifestsById } = accu.manifestsById;\n\n return { manifestsById, selectedManifest: key === accu.selectedManifest ? null : accu.selectedManifest };\n },\n { manifestsById: { ...state.manifestsById }, selectedManifest: state.selectedManifest }\n );\n state.manifestsById = manifestsById;\n state.selectedManifest = selectedManifest;\n },\n selectedManifest: (state, action: PayloadAction<string | null>) => {\n state.selectedManifest = action.payload;\n },\n setManifestsListState: (state, action: PayloadAction<ManifestsList>) => {\n state.manifestsList = action.payload;\n },\n receiveSoftwareItems: (state, action: PayloadAction<Record<string, Software>>) => {\n state.softwareById = action.payload;\n },\n setSoftwareListState: (state, action: PayloadAction<SoftwareList>) => {\n state.softwareList = action.payload;\n }\n }\n});\n\nexport const actions = releaseSlice.actions;\nexport default releaseSlice.reducer;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { a as ReleasesList, c as _default, d as releaseSlice, f as sliceName, i as ReleaseSliceType, l as actions, n as ManifestsList, o as SoftwareKind, r as Release, s as SoftwareList, t as Artifact, u as initialState } from "../index-VEayiYkv.cjs";
1
+ import { a as ReleasesList, c as _default, d as releaseSlice, f as sliceName, i as ReleaseSliceType, l as actions, n as ManifestsList, o as SoftwareKind, r as Release, s as SoftwareList, t as Artifact, u as initialState } from "../index-DiAjzARZ.cjs";
2
2
  export { Artifact, ManifestsList, Release, ReleaseSliceType, ReleasesList, SoftwareKind, SoftwareList, actions, _default as default, initialState, releaseSlice, sliceName };
@@ -1,2 +1,2 @@
1
- import { a as ReleasesList, c as _default, d as releaseSlice, f as sliceName, i as ReleaseSliceType, l as actions, n as ManifestsList, o as SoftwareKind, r as Release, s as SoftwareList, t as Artifact, u as initialState } from "../index-m1c0qk2s.js";
1
+ import { a as ReleasesList, c as _default, d as releaseSlice, f as sliceName, i as ReleaseSliceType, l as actions, n as ManifestsList, o as SoftwareKind, r as Release, s as SoftwareList, t as Artifact, u as initialState } from "../index-C8uiyxnb.js";
2
2
  export { Artifact, ManifestsList, Release, ReleaseSliceType, ReleasesList, SoftwareKind, SoftwareList, actions, _default as default, initialState, releaseSlice, sliceName };
@@ -1,4 +1,4 @@
1
- import { f as SORTING_OPTIONS, l as DEVICE_LIST_DEFAULTS } from "../constants-xpheFFkA.js";
1
+ import { f as SORTING_OPTIONS, l as DEVICE_LIST_DEFAULTS } from "../constants-CerzXHnQ.js";
2
2
  import { createSlice } from "@reduxjs/toolkit";
3
3
  //#region src/releasesSlice/index.ts
4
4
  const sliceName = "releases";
@@ -1,4 +1,4 @@
1
- import { f as SORTING_OPTIONS, l as DEVICE_LIST_DEFAULTS } from "../constants-xpheFFkA.js";
1
+ import { f as SORTING_OPTIONS, l as DEVICE_LIST_DEFAULTS } from "../constants-CerzXHnQ.js";
2
2
  import { initialState } from "./index.js";
3
3
  //#region src/releasesSlice/mocks.ts
4
4
  const deviceTypes = { qemu: "qemux86-64" };
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.cjs","names":["listItemMapper"],"sources":["../../src/releasesSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Manifest, ReleaseV2, Software } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\nimport { listItemMapper } from '../utils';\n\nconst transformToId = tags => tags.reduce((accu, key) => ({ ...accu, [key]: key }), {});\n\nexport const getActiveTab = (state: RootState) => state.releases.tab;\nconst getSelectedReleaseId = (state: RootState) => state.releases.selectedRelease;\nexport const getReleasesById = (state: RootState) => state.releases.byId;\nconst getTags = (state: RootState) => state.releases.tags;\nexport const getReleaseListState = (state: RootState) => state.releases.releasesList;\nconst getListedReleases = (state: RootState) => state.releases.releasesList.releaseIds;\nexport const getUpdateTypes = (state: RootState) => state.releases.updateTypes;\nconst releaseDefaults = {};\nconst getReleaseMappingDefaults = () => releaseDefaults;\nexport const getSoftwareTags = createSelector([getTags], ({ software }) => software);\nexport const getSoftwareTagsById = createSelector([getSoftwareTags], transformToId);\nexport const getReleasesList = createSelector([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper<ReleaseV2>);\n\nexport const getReleaseTags = createSelector([getTags], ({ releases }) => releases);\nexport const getReleaseTagsById = createSelector([getReleaseTags], transformToId);\nexport const getHasReleases = createSelector(\n [getReleaseListState, getReleasesById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n\nexport const getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedReleases = createSelector([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map(index => releases[index]));\n\nexport const getDeltaJobsListState = (state: RootState) => state.releases.deltaJobsList;\nexport const getDeltaJobsById = (state: RootState) => state.releases.deltaJobs;\nexport const getDeltaJobById = createSelector([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId: string) => byId[jobId]);\nconst getSelectedJobId = (state: RootState) => state.releases.selectedJob;\nexport const getSelectedJob = createSelector([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || '']);\n\nconst getSelectedManifestId = (state: RootState) => state.releases.selectedManifest;\nexport const getManifestTags = createSelector([getTags], ({ manifests }) => manifests);\nexport const getManifestTagsById = createSelector([getManifestTags], transformToId);\nexport const getManifestsById = (state: RootState) => state.releases.manifestsById;\nexport const getManifestsListState = (state: RootState) => state.releases.manifestsList;\nconst getListedManifests = (state: RootState) => state.releases.manifestsList.manifestIds;\nconst manifestDefaults = {};\nconst getManifestMappingDefaults = () => manifestDefaults;\nexport const getManifestsList = createSelector([getManifestsById, getListedManifests, getManifestMappingDefaults], listItemMapper<Manifest>);\n\nexport const getHasManifests = createSelector(\n [getManifestsListState, getManifestsById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n\nexport const getSelectedManifest = createSelector([getManifestsById, getSelectedManifestId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedManifests = createSelector([getManifestsListState, getManifestsList], ({ selection }, manifests) =>\n selection.map(index => manifests[index])\n);\n\nexport const getSoftwareById = (state: RootState) => state.releases.softwareById;\nexport const getSoftwareListState = (state: RootState) => state.releases.softwareList;\nconst getListedSoftware = (state: RootState) => state.releases.softwareList.softwareIds;\nconst softwareDefaults = {};\nconst getSoftwareMappingDefaults = () => softwareDefaults;\nexport const getSoftwareList = createSelector([getSoftwareById, getListedSoftware, getSoftwareMappingDefaults], listItemMapper<Software>);\n\nexport const getHasSoftware = createSelector(\n [getSoftwareListState, getSoftwareById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"selectors.cjs","names":["createSelector","listItemMapper"],"sources":["../../src/releasesSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Manifest, ReleaseV2, Software } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\nimport { listItemMapper } from '../utils';\n\nconst transformToId = tags => tags.reduce((accu, key) => ({ ...accu, [key]: key }), {});\n\nexport const getActiveTab = (state: RootState) => state.releases.tab;\nconst getSelectedReleaseId = (state: RootState) => state.releases.selectedRelease;\nexport const getReleasesById = (state: RootState) => state.releases.byId;\nconst getTags = (state: RootState) => state.releases.tags;\nexport const getReleaseListState = (state: RootState) => state.releases.releasesList;\nconst getListedReleases = (state: RootState) => state.releases.releasesList.releaseIds;\nexport const getUpdateTypes = (state: RootState) => state.releases.updateTypes;\nconst releaseDefaults = {};\nconst getReleaseMappingDefaults = () => releaseDefaults;\nexport const getSoftwareTags = createSelector([getTags], ({ software }) => software);\nexport const getSoftwareTagsById = createSelector([getSoftwareTags], transformToId);\nexport const getReleasesList = createSelector([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper<ReleaseV2>);\n\nexport const getReleaseTags = createSelector([getTags], ({ releases }) => releases);\nexport const getReleaseTagsById = createSelector([getReleaseTags], transformToId);\nexport const getHasReleases = createSelector(\n [getReleaseListState, getReleasesById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n\nexport const getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedReleases = createSelector([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map(index => releases[index]));\n\nexport const getDeltaJobsListState = (state: RootState) => state.releases.deltaJobsList;\nexport const getDeltaJobsById = (state: RootState) => state.releases.deltaJobs;\nexport const getDeltaJobById = createSelector([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId: string) => byId[jobId]);\nconst getSelectedJobId = (state: RootState) => state.releases.selectedJob;\nexport const getSelectedJob = createSelector([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || '']);\n\nconst getSelectedManifestId = (state: RootState) => state.releases.selectedManifest;\nexport const getManifestTags = createSelector([getTags], ({ manifests }) => manifests);\nexport const getManifestTagsById = createSelector([getManifestTags], transformToId);\nexport const getManifestsById = (state: RootState) => state.releases.manifestsById;\nexport const getManifestsListState = (state: RootState) => state.releases.manifestsList;\nconst getListedManifests = (state: RootState) => state.releases.manifestsList.manifestIds;\nconst manifestDefaults = {};\nconst getManifestMappingDefaults = () => manifestDefaults;\nexport const getManifestsList = createSelector([getManifestsById, getListedManifests, getManifestMappingDefaults], listItemMapper<Manifest>);\n\nexport const getHasManifests = createSelector(\n [getManifestsListState, getManifestsById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n\nexport const getSelectedManifest = createSelector([getManifestsById, getSelectedManifestId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedManifests = createSelector([getManifestsListState, getManifestsList], ({ selection }, manifests) =>\n selection.map(index => manifests[index])\n);\n\nexport const getSoftwareById = (state: RootState) => state.releases.softwareById;\nexport const getSoftwareListState = (state: RootState) => state.releases.softwareList;\nconst getListedSoftware = (state: RootState) => state.releases.softwareList.softwareIds;\nconst softwareDefaults = {};\nconst getSoftwareMappingDefaults = () => softwareDefaults;\nexport const getSoftwareList = createSelector([getSoftwareById, getListedSoftware, getSoftwareMappingDefaults], listItemMapper<Software>);\n\nexport const getHasSoftware = createSelector(\n [getSoftwareListState, getSoftwareById],\n ({ searchTotal, total }, byId) => total || searchTotal || !!Object.keys(byId).length\n);\n"],"mappings":"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"}
@@ -1,14 +1,13 @@
1
- import { o as UserSliceType } from "../index-CgPgKMve.cjs";
2
- import { a as ReleasesList, i as ReleaseSliceType, n as ManifestsList, r as Release, s as SoftwareList } from "../index-VEayiYkv.cjs";
3
- import { n as OnboardingSliceType } from "../index-DBUt8xVc.cjs";
4
- import { o as DeploymentsSliceType } from "../index-EPmsL6Lb.cjs";
5
- import { s as DeviceSliceType } from "../index-vXsWdis1.cjs";
6
- import { t as AppSliceType } from "../index-Dn1SqQYh.cjs";
7
- import { t as MonitorSliceType } from "../index-BQCnJ5gh.cjs";
8
- import { t as OrganizationSliceType } from "../index-CSOj22xK.cjs";
9
- import { r as RootState } from "../store-CGP5pCH8.cjs";
1
+ import { o as UserSliceType } from "../index-BgF6rhXn.cjs";
2
+ import { a as ReleasesList, i as ReleaseSliceType, n as ManifestsList, r as Release, s as SoftwareList } from "../index-DiAjzARZ.cjs";
3
+ import { n as OnboardingSliceType } from "../index-CoObjWL4.cjs";
4
+ import { o as DeploymentsSliceType } from "../index-mvxjivTJ.cjs";
5
+ import { c as DeviceSliceType } from "../index-CiQ95u1W.cjs";
6
+ import { t as AppSliceType } from "../index-DeOpb2oK.cjs";
7
+ import { t as MonitorSliceType } from "../index-Ctj2r57a.cjs";
8
+ import { t as OrganizationSliceType } from "../index-C_LGDJN2.cjs";
9
+ import { r as RootState } from "../store-CUUm1GTI.cjs";
10
10
  import { Manifest, ReleaseV2, Software } from "@northern.tech/types/MenderTypes";
11
-
12
11
  //#region src/releasesSlice/selectors.d.ts
13
12
  declare const getActiveTab: (state: RootState) => "releases" | "delta" | "manifests" | undefined;
14
13
  declare const getReleasesById: (state: RootState) => Record<string, Release>;
@@ -1,14 +1,13 @@
1
- import { o as UserSliceType } from "../index-BCErsO5h.js";
2
- import { a as ReleasesList, i as ReleaseSliceType, n as ManifestsList, r as Release, s as SoftwareList } from "../index-m1c0qk2s.js";
3
- import { n as OnboardingSliceType } from "../index-DBUt8xVc.js";
4
- import { o as DeploymentsSliceType } from "../index-Bb4yvvgG.js";
5
- import { s as DeviceSliceType } from "../index-BtGhTFBc.js";
6
- import { t as AppSliceType } from "../index-CnH51JfB.js";
7
- import { t as MonitorSliceType } from "../index-C5oQrJGU.js";
8
- import { t as OrganizationSliceType } from "../index-H9zg_3UV.js";
9
- import { r as RootState } from "../store-CkgokFlk.js";
1
+ import { o as UserSliceType } from "../index-CpfhQHfg.js";
2
+ import { a as ReleasesList, i as ReleaseSliceType, n as ManifestsList, r as Release, s as SoftwareList } from "../index-C8uiyxnb.js";
3
+ import { n as OnboardingSliceType } from "../index-CoObjWL4.js";
4
+ import { o as DeploymentsSliceType } from "../index-B8td4-rY.js";
5
+ import { c as DeviceSliceType } from "../index-Bvyf8OO6.js";
6
+ import { t as AppSliceType } from "../index-Bs0c1-WY.js";
7
+ import { t as MonitorSliceType } from "../index-BAGyeC-q.js";
8
+ import { t as OrganizationSliceType } from "../index-ChKTa1aL.js";
9
+ import { r as RootState } from "../store-CPptM5Ts.js";
10
10
  import { Manifest, ReleaseV2, Software } from "@northern.tech/types/MenderTypes";
11
-
12
11
  //#region src/releasesSlice/selectors.d.ts
13
12
  declare const getActiveTab: (state: RootState) => "releases" | "delta" | "manifests" | undefined;
14
13
  declare const getReleasesById: (state: RootState) => Record<string, Release>;