@northern.tech/store 0.23.0 → 0.24.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.
- package/dist/actions.js +9 -9
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.js +3 -3
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.js +4 -4
- package/dist/appSlice/index.js +2 -2
- package/dist/appSlice/mocks.js +2 -2
- package/dist/appSlice/thunks.cjs +37 -0
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.js +24 -24
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.js +2 -2
- package/dist/{chunk-ZGRY42BZ.js → chunk-2AGBXDGF.js} +2 -2
- package/dist/{chunk-XJLZK4QY.js → chunk-3IXBQAMO.js} +3 -3
- package/dist/{chunk-Y54UJUE4.js → chunk-4LXBO2FO.js} +32 -32
- package/dist/chunk-4LXBO2FO.js.map +1 -0
- package/dist/{chunk-YR65C62H.js → chunk-4NG7EGAG.js} +2 -2
- package/dist/{chunk-IRQRV552.js → chunk-6NLGT2LD.js} +3 -3
- package/dist/{chunk-WWED74SG.js → chunk-AERWBWRM.js} +3 -1
- package/dist/{chunk-WWED74SG.js.map → chunk-AERWBWRM.js.map} +1 -1
- package/dist/{chunk-SVSHXLCN.js → chunk-CEO2PODV.js} +10 -10
- package/dist/{chunk-WR6RQKF5.js → chunk-CXRORJR5.js} +2 -2
- package/dist/{chunk-OLKM53RL.js → chunk-F2ADELYA.js} +2 -2
- package/dist/{chunk-VODRLEDP.js → chunk-GLIQTGWN.js} +2 -2
- package/dist/{chunk-TIL2S3JA.js → chunk-IJ6KKUA2.js} +2 -2
- package/dist/{chunk-PL6RIFD5.js → chunk-IS4RSIX5.js} +2 -2
- package/dist/{chunk-DYUOBPAI.js → chunk-JKLFEHCF.js} +2 -2
- package/dist/{chunk-AROYP5V5.js → chunk-KIKY6LHH.js} +12 -12
- package/dist/{chunk-4ZYLGBJU.js → chunk-NKS5ASWX.js} +3 -3
- package/dist/{chunk-TRKA7XYU.js → chunk-NRHTBY6E.js} +2 -2
- package/dist/{chunk-PVCHKW35.js → chunk-NYDBCHD7.js} +2 -2
- package/dist/{chunk-DDY7IFSE.js → chunk-OH4CWUIK.js} +10 -10
- package/dist/{chunk-73JXR6WS.js → chunk-QSTJRY3C.js} +9 -9
- package/dist/{chunk-7WIISD2N.js → chunk-UTBSK7B6.js} +2 -2
- package/dist/{chunk-UVTLZV34.js → chunk-WKXBJVZ7.js} +2 -2
- package/dist/{chunk-FQ6CCYUU.js → chunk-WTVM2QSK.js} +13 -13
- package/dist/{chunk-ML5CUAQD.js → chunk-X4TGUR22.js} +2 -2
- package/dist/{chunk-ZZQJWNQT.js → chunk-X6AM6P6X.js} +43 -4
- package/dist/chunk-X6AM6P6X.js.map +1 -0
- package/dist/commonConstants.cjs +3 -0
- package/dist/commonConstants.cjs.map +1 -1
- package/dist/commonConstants.d.cts +2 -1
- package/dist/commonConstants.d.ts +2 -1
- package/dist/commonConstants.js +3 -1
- package/dist/commonSelectors.cjs +37 -0
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.js +8 -8
- package/dist/constants.cjs +3 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +3 -1
- package/dist/deploymentsSlice/constants.js +1 -1
- package/dist/deploymentsSlice/index.js +2 -2
- package/dist/deploymentsSlice/mocks.js +2 -2
- package/dist/deploymentsSlice/selectors.js +2 -2
- package/dist/deploymentsSlice/thunks.cjs +37 -0
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.js +24 -24
- package/dist/devicesSlice/constants.js +1 -1
- package/dist/devicesSlice/index.js +2 -2
- package/dist/devicesSlice/mocks.js +2 -2
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.js +2 -2
- package/dist/devicesSlice/thunks.cjs +37 -0
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.js +24 -24
- package/dist/liststatehook.cjs.map +1 -1
- package/dist/liststatehook.js +2 -2
- package/dist/locationutils.cjs.map +1 -1
- package/dist/locationutils.js +2 -2
- package/dist/monitorSlice/index.js +2 -2
- package/dist/monitorSlice/mocks.js +2 -2
- package/dist/monitorSlice/thunks.cjs +37 -0
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.js +20 -20
- package/dist/onboardingSlice/thunks.cjs +37 -0
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.js +24 -24
- package/dist/organizationSlice/constants.js +1 -1
- package/dist/organizationSlice/index.js +2 -2
- package/dist/organizationSlice/mocks.js +2 -2
- package/dist/organizationSlice/selectors.cjs +42 -0
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +287 -3
- package/dist/organizationSlice/selectors.d.ts +287 -3
- package/dist/organizationSlice/selectors.js +8 -2
- package/dist/organizationSlice/thunks.cjs +43 -7
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +7 -9
- package/dist/organizationSlice/thunks.d.ts +7 -9
- package/dist/organizationSlice/thunks.js +26 -26
- package/dist/releasesSlice/index.js +2 -2
- package/dist/releasesSlice/mocks.js +2 -2
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.js +3 -3
- package/dist/releasesSlice/thunks.cjs +37 -0
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.js +21 -21
- package/dist/selectors.cjs +42 -0
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +1 -1
- package/dist/selectors.d.ts +1 -1
- package/dist/selectors.js +23 -17
- package/dist/sockethook.cjs.map +1 -1
- package/dist/sockethook.js +1 -1
- package/dist/store.js +11 -11
- package/dist/storehooks.cjs +41 -5
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +24 -24
- package/dist/thunks.cjs +43 -7
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +1 -1
- package/dist/thunks.d.ts +1 -1
- package/dist/thunks.js +26 -26
- package/dist/useDeploymentDevice.cjs +37 -0
- package/dist/useDeploymentDevice.cjs.map +1 -1
- package/dist/useDeploymentDevice.js +24 -24
- package/dist/usersSlice/constants.js +1 -1
- package/dist/usersSlice/index.js +2 -2
- package/dist/usersSlice/mocks.js +2 -2
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.js +3 -3
- package/dist/usersSlice/thunks.cjs +37 -0
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.js +24 -24
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-Y54UJUE4.js.map +0 -1
- package/dist/chunk-ZZQJWNQT.js.map +0 -1
- /package/dist/{chunk-ZGRY42BZ.js.map → chunk-2AGBXDGF.js.map} +0 -0
- /package/dist/{chunk-XJLZK4QY.js.map → chunk-3IXBQAMO.js.map} +0 -0
- /package/dist/{chunk-YR65C62H.js.map → chunk-4NG7EGAG.js.map} +0 -0
- /package/dist/{chunk-IRQRV552.js.map → chunk-6NLGT2LD.js.map} +0 -0
- /package/dist/{chunk-SVSHXLCN.js.map → chunk-CEO2PODV.js.map} +0 -0
- /package/dist/{chunk-WR6RQKF5.js.map → chunk-CXRORJR5.js.map} +0 -0
- /package/dist/{chunk-OLKM53RL.js.map → chunk-F2ADELYA.js.map} +0 -0
- /package/dist/{chunk-VODRLEDP.js.map → chunk-GLIQTGWN.js.map} +0 -0
- /package/dist/{chunk-TIL2S3JA.js.map → chunk-IJ6KKUA2.js.map} +0 -0
- /package/dist/{chunk-PL6RIFD5.js.map → chunk-IS4RSIX5.js.map} +0 -0
- /package/dist/{chunk-DYUOBPAI.js.map → chunk-JKLFEHCF.js.map} +0 -0
- /package/dist/{chunk-AROYP5V5.js.map → chunk-KIKY6LHH.js.map} +0 -0
- /package/dist/{chunk-4ZYLGBJU.js.map → chunk-NKS5ASWX.js.map} +0 -0
- /package/dist/{chunk-TRKA7XYU.js.map → chunk-NRHTBY6E.js.map} +0 -0
- /package/dist/{chunk-PVCHKW35.js.map → chunk-NYDBCHD7.js.map} +0 -0
- /package/dist/{chunk-DDY7IFSE.js.map → chunk-OH4CWUIK.js.map} +0 -0
- /package/dist/{chunk-73JXR6WS.js.map → chunk-QSTJRY3C.js.map} +0 -0
- /package/dist/{chunk-7WIISD2N.js.map → chunk-UTBSK7B6.js.map} +0 -0
- /package/dist/{chunk-UVTLZV34.js.map → chunk-WKXBJVZ7.js.map} +0 -0
- /package/dist/{chunk-FQ6CCYUU.js.map → chunk-WTVM2QSK.js.map} +0 -0
- /package/dist/{chunk-ML5CUAQD.js.map → chunk-X4TGUR22.js.map} +0 -0
package/dist/selectors.js
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
getTenantCapabilities,
|
|
20
20
|
getUserCapabilities,
|
|
21
21
|
getUserRoles
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-KIKY6LHH.js";
|
|
23
23
|
import {
|
|
24
24
|
getDeltaJobById,
|
|
25
25
|
getDeltaJobsById,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
getSelectedRelease,
|
|
35
35
|
getSelectedReleases,
|
|
36
36
|
getUpdateTypes
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-IS4RSIX5.js";
|
|
38
38
|
import {
|
|
39
39
|
getCurrentSession,
|
|
40
40
|
getCurrentUser,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
getUserSettingsInitialized,
|
|
57
57
|
getUsersById,
|
|
58
58
|
getUsersList
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-NKS5ASWX.js";
|
|
60
60
|
import {
|
|
61
61
|
getAuditLog,
|
|
62
62
|
getAuditLogEntry,
|
|
@@ -65,24 +65,37 @@ import {
|
|
|
65
65
|
getBillingProfile,
|
|
66
66
|
getCard,
|
|
67
67
|
getDeviceTwinIntegrations,
|
|
68
|
+
getDisabledTiers,
|
|
68
69
|
getExternalIntegrations,
|
|
69
70
|
getIsServiceProvider,
|
|
70
71
|
getOrganization,
|
|
71
72
|
getProducts,
|
|
73
|
+
getSpLimits,
|
|
72
74
|
getSsoConfig,
|
|
73
75
|
getSubscription,
|
|
76
|
+
getTenantListWithLimits,
|
|
74
77
|
getTenantsList,
|
|
75
78
|
getWebhookEventInfo,
|
|
76
79
|
getWebhookEventTotal,
|
|
77
80
|
getWebhookEvents,
|
|
78
81
|
getWebhooks
|
|
79
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-X6AM6P6X.js";
|
|
80
83
|
import {
|
|
81
84
|
getIssueCountsByType
|
|
82
85
|
} from "./chunk-YO22XLHI.js";
|
|
83
86
|
import {
|
|
84
87
|
getOnboarding
|
|
85
88
|
} from "./chunk-JIS4PA3R.js";
|
|
89
|
+
import {
|
|
90
|
+
DEPLOYMENT_CUTOFF,
|
|
91
|
+
getDeploymentById,
|
|
92
|
+
getDeploymentsById,
|
|
93
|
+
getDeploymentsByStatus,
|
|
94
|
+
getDeploymentsSelectionState,
|
|
95
|
+
getMappedDeploymentSelection,
|
|
96
|
+
getRecentDeployments,
|
|
97
|
+
getSelectedDeploymentDeviceIds
|
|
98
|
+
} from "./chunk-CXRORJR5.js";
|
|
86
99
|
import {
|
|
87
100
|
getAcceptedDevices,
|
|
88
101
|
getAttributesList,
|
|
@@ -108,17 +121,7 @@ import {
|
|
|
108
121
|
getSelectedGroup,
|
|
109
122
|
getSelectedGroupInfo,
|
|
110
123
|
getSortedFilteringAttributes
|
|
111
|
-
} from "./chunk-
|
|
112
|
-
import {
|
|
113
|
-
DEPLOYMENT_CUTOFF,
|
|
114
|
-
getDeploymentById,
|
|
115
|
-
getDeploymentsById,
|
|
116
|
-
getDeploymentsByStatus,
|
|
117
|
-
getDeploymentsSelectionState,
|
|
118
|
-
getMappedDeploymentSelection,
|
|
119
|
-
getRecentDeployments,
|
|
120
|
-
getSelectedDeploymentDeviceIds
|
|
121
|
-
} from "./chunk-WR6RQKF5.js";
|
|
124
|
+
} from "./chunk-2AGBXDGF.js";
|
|
122
125
|
import {
|
|
123
126
|
getAppInitDone,
|
|
124
127
|
getCommit,
|
|
@@ -141,8 +144,8 @@ import {
|
|
|
141
144
|
getUploads,
|
|
142
145
|
getVersionInformation
|
|
143
146
|
} from "./chunk-4BHM6WVX.js";
|
|
144
|
-
import "./chunk-
|
|
145
|
-
import "./chunk-
|
|
147
|
+
import "./chunk-UTBSK7B6.js";
|
|
148
|
+
import "./chunk-AERWBWRM.js";
|
|
146
149
|
import "./chunk-2DYA3X77.js";
|
|
147
150
|
import "./chunk-FAJ3I2UQ.js";
|
|
148
151
|
import "./chunk-ZKAH3APE.js";
|
|
@@ -188,6 +191,7 @@ export {
|
|
|
188
191
|
getDeviceTypes,
|
|
189
192
|
getDevicesById,
|
|
190
193
|
getDevicesByStatus,
|
|
194
|
+
getDisabledTiers,
|
|
191
195
|
getDocsVersion,
|
|
192
196
|
getExternalIntegrations,
|
|
193
197
|
getFeatures,
|
|
@@ -251,10 +255,12 @@ export {
|
|
|
251
255
|
getShowSecurityAlert,
|
|
252
256
|
getSnackbar,
|
|
253
257
|
getSortedFilteringAttributes,
|
|
258
|
+
getSpLimits,
|
|
254
259
|
getSsoConfig,
|
|
255
260
|
getStripeKey,
|
|
256
261
|
getSubscription,
|
|
257
262
|
getTenantCapabilities,
|
|
263
|
+
getTenantListWithLimits,
|
|
258
264
|
getTenantsList,
|
|
259
265
|
getTooltipsById,
|
|
260
266
|
getTooltipsState,
|
package/dist/sockethook.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sockethook.ts","../src/constants.ts","../src/commonConstants.tsx","../src/devicesSlice/constants.ts"],"sourcesContent":["// Copyright 2022 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//@ts-nocheck\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { blobToString, byteArrayToString } from '@northern.tech/utils/helpers';\nimport msgpack5 from 'msgpack5';\nimport Cookies from 'universal-cookie';\n\nimport { DEVICE_MESSAGE_PROTOCOLS as MessageProtocols, DEVICE_MESSAGE_TYPES as MessageTypes, TIMEOUTS, apiUrl } from './constants';\n\nconst cookies = new Cookies();\n\nconst MessagePack = msgpack5();\n\nexport const useSession = ({ onClose, onHealthCheckFailed, onMessageReceived, onNotify, onOpen, token }) => {\n const [sessionId, setSessionId] = useState();\n const healthcheckTimeout = useRef();\n const socketRef = useRef();\n const sendMessage = useCallback(({ typ, body, props }) => {\n if (!socketRef.current) {\n return;\n }\n const proto_header = { proto: MessageProtocols.Shell, typ, sid: socketRef.current.sessionId, props };\n const encodedData = MessagePack.encode({ hdr: proto_header, body });\n socketRef.current.send(encodedData);\n }, []);\n\n const close = useCallback(() => {\n if (!socketRef.current || socketRef.current?.readyState !== WebSocket.OPEN) {\n return;\n }\n sendMessage({ typ: MessageTypes.Stop, props: {} });\n socketRef.current.close();\n setSessionId();\n }, [sendMessage]);\n\n const healthcheckFailed = useCallback(() => {\n onHealthCheckFailed();\n close();\n }, [close, onHealthCheckFailed]);\n\n const onSocketMessage = useCallback(\n event =>\n blobToString(event.data).then(data => {\n const {\n hdr: { props = {}, proto, sid, typ },\n body\n } = MessagePack.decode(data);\n if (proto !== MessageProtocols.Shell) {\n return;\n }\n switch (typ) {\n case MessageTypes.New: {\n if (props.status == WebSocket.CLOSING) {\n onNotify(`Error: ${byteArrayToString(body)}`);\n setSessionId();\n return close();\n } else {\n clearTimeout(healthcheckTimeout.current);\n healthcheckTimeout.current = setTimeout(healthcheckFailed, 65 * TIMEOUTS.oneSecond);\n socketRef.current.sessionId = sid;\n return setSessionId(sid);\n }\n }\n case MessageTypes.Shell:\n return onMessageReceived(body);\n case MessageTypes.Stop:\n return close();\n case MessageTypes.Ping: {\n if (healthcheckTimeout.current) {\n clearTimeout(healthcheckTimeout.current);\n }\n sendMessage({ typ: MessageTypes.Pong });\n //\n const timeout = parseInt(props.timeout);\n if (timeout > 0) {\n healthcheckTimeout.current = setTimeout(healthcheckFailed, timeout * TIMEOUTS.oneSecond);\n }\n return;\n }\n default:\n break;\n }\n }),\n [close, healthcheckFailed, onMessageReceived, onNotify, sendMessage]\n );\n\n const onSocketError = useCallback(\n error => {\n onNotify(`WebSocket error: ${error.message}`);\n close();\n clearTimeout(healthcheckTimeout.current);\n },\n [close, onNotify]\n );\n\n const onSocketOpen = useCallback(() => {\n sendMessage({ typ: MessageTypes.New, props: {} });\n onOpen(true);\n }, [onOpen, sendMessage]);\n\n const onSocketClose = useCallback(\n e => {\n console.log('closing');\n onClose(e);\n close();\n },\n [close, onClose]\n );\n\n const connect = useCallback(\n deviceId => {\n const uri = `wss://${window.location.host}${apiUrl.v1}/deviceconnect/devices/${deviceId}/connect`;\n setSessionId();\n cookies.set('JWT', token, { path: '/', secure: true, sameSite: 'strict', maxAge: 5 });\n try {\n socketRef.current = new WebSocket(uri);\n } catch (error) {\n console.log(error);\n }\n },\n [token]\n );\n\n useEffect(() => {\n if (!socketRef.current) {\n return;\n }\n\n socketRef.current.addEventListener('close', onSocketClose);\n socketRef.current.addEventListener('error', onSocketError);\n socketRef.current.addEventListener('message', onSocketMessage);\n socketRef.current.addEventListener('open', onSocketOpen);\n\n return () => {\n socketRef.current.removeEventListener('close', onSocketClose);\n socketRef.current.removeEventListener('error', onSocketError);\n socketRef.current.removeEventListener('message', onSocketMessage);\n socketRef.current.removeEventListener('open', onSocketOpen);\n };\n // eslint-disable-next-line react-hooks/refs\n }, [onSocketClose, onSocketError, onSocketMessage, onSocketOpen, socketRef.current?.readyState]);\n\n // eslint-disable-next-line react-hooks/refs\n return [connect, sendMessage, close, socketRef.current?.readyState ?? WebSocket.CLOSED, sessionId];\n};\n","// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//@ts-nocheck\nimport {\n ALL_DEVICES,\n ALL_DEVICE_STATES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n PermissionTypes,\n SORTING_OPTIONS,\n alertChannels,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n limitDefault,\n maxSessionAge,\n monitorApiUrlv1,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n} from '@northern.tech/utils/constants';\nimport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n} from '@northern.tech/utils/constants';\n\nexport {\n alertChannels,\n ALL_DEVICE_STATES,\n ALL_DEVICES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n monitorApiUrlv1,\n limitDefault,\n maxSessionAge,\n PermissionTypes,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n SORTING_OPTIONS,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n};\n\nexport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n};\n\nexport * from './appSlice/constants';\nexport * from './commonConstants';\nexport * from './deploymentsSlice/constants';\nexport * from './devicesSlice/constants';\nexport * from './monitorSlice/constants';\nexport * from './onboardingSlice/constants';\nexport * from './organizationSlice/constants';\nexport * from './releasesSlice/constants';\nexport * from './usersSlice/constants';\n","// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport { mdiAws as AWS, mdiMicrosoftAzure as Azure } from '@mdi/js';\nimport type { Integration } from '@northern.tech/types/MenderTypes';\n\nimport type { DEVICE_FILTERING_OPTIONS } from './constants';\nimport { ATTRIBUTE_SCOPES } from './constants';\n\nexport const timeUnits = {\n days: 'days',\n minutes: 'minutes',\n hours: 'hours'\n};\n\nexport const UNGROUPED_GROUP = { id: '*|=ungrouped=|*', name: 'Unassigned' };\n\nexport const DEVICE_LIST_MAXIMUM_LENGTH = 50;\n\nexport type FilterOperator = keyof typeof DEVICE_FILTERING_OPTIONS;\n\nconst oneSecond = 1000;\nexport const TIMEOUTS = {\n debounceDefault: 700,\n debounceShort: 300,\n halfASecond: 0.5 * oneSecond,\n oneSecond,\n twoSeconds: 2 * oneSecond,\n threeSeconds: 3 * oneSecond,\n fiveSeconds: 5 * oneSecond,\n refreshDefault: 10 * oneSecond,\n refreshLong: 60 * oneSecond\n};\n\nexport const DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };\n\nexport interface IdAttribute {\n attribute: string;\n scope: string;\n}\nexport const defaultIdAttribute: Readonly<IdAttribute> = Object.freeze({ attribute: 'id', scope: ATTRIBUTE_SCOPES.identity });\n\nexport const credentialTypes = {\n aws: 'aws',\n http: 'http',\n sas: 'sas',\n x509: 'x509'\n};\nexport const EXTERNAL_PROVIDER = {\n 'iot-core': {\n credentialsType: credentialTypes.aws,\n icon: AWS,\n title: 'AWS IoT Core',\n twinTitle: 'Device Shadow',\n provider: 'iot-core',\n enabled: true,\n deviceTwin: true,\n configHint: <>For help finding your AWS IoT Core connection string, check the AWS IoT documentation.</>\n },\n 'iot-hub': {\n credentialsType: credentialTypes.sas,\n icon: Azure,\n title: 'Azure IoT Hub',\n twinTitle: 'Device Twin',\n provider: 'iot-hub',\n enabled: true,\n deviceTwin: true,\n configHint: (\n <span>\n For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described{' '}\n {\n <a\n href=\"https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n here\n </a>\n }\n .\n </span>\n )\n },\n webhook: {\n credentialsType: credentialTypes.http,\n deviceTwin: false,\n twinTitle: '',\n // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.\n enabled: false,\n provider: 'webhook'\n }\n} as const;\n\nexport interface Webhook extends Integration {\n provider: 'webhook';\n}\n\nexport const emptyWebhook: Webhook = {\n description: '',\n provider: 'webhook',\n credentials: {\n type: EXTERNAL_PROVIDER.webhook.credentialsType,\n [EXTERNAL_PROVIDER.webhook.credentialsType]: {\n secret: '',\n url: ''\n }\n }\n};\n\ninterface CountryType {\n code: string;\n label: string;\n}\nexport const MAX_PAGE_SIZE = 500;\nconst regionNames = new Intl.DisplayNames(['en'], { type: 'region' });\nexport const countries: readonly CountryType[] = [\n 'AD',\n 'AE',\n 'AF',\n 'AG',\n 'AI',\n 'AL',\n 'AM',\n 'AO',\n 'AQ',\n 'AR',\n 'AS',\n 'AT',\n 'AU',\n 'AW',\n 'AX',\n 'AZ',\n 'BA',\n 'BB',\n 'BD',\n 'BE',\n 'BF',\n 'BG',\n 'BH',\n 'BI',\n 'BJ',\n 'BL',\n 'BM',\n 'BN',\n 'BO',\n 'BR',\n 'BS',\n 'BT',\n 'BV',\n 'BW',\n 'BY',\n 'BZ',\n 'CA',\n 'CC',\n 'CD',\n 'CF',\n 'CG',\n 'CH',\n 'CI',\n 'CK',\n 'CL',\n 'CM',\n 'CN',\n 'CO',\n 'CR',\n 'CU',\n 'CV',\n 'CW',\n 'CX',\n 'CY',\n 'CZ',\n 'DE',\n 'DJ',\n 'DK',\n 'DM',\n 'DO',\n 'DZ',\n 'EC',\n 'EE',\n 'EG',\n 'EH',\n 'ER',\n 'ES',\n 'ET',\n 'FI',\n 'FJ',\n 'FK',\n 'FM',\n 'FO',\n 'FR',\n 'GA',\n 'GB',\n 'GD',\n 'GE',\n 'GF',\n 'GG',\n 'GH',\n 'GI',\n 'GL',\n 'GM',\n 'GN',\n 'GP',\n 'GQ',\n 'GR',\n 'GS',\n 'GT',\n 'GU',\n 'GW',\n 'GY',\n 'HK',\n 'HM',\n 'HN',\n 'HR',\n 'HT',\n 'HU',\n 'ID',\n 'IE',\n 'IL',\n 'IM',\n 'IN',\n 'IO',\n 'IQ',\n 'IR',\n 'IS',\n 'IT',\n 'JE',\n 'JM',\n 'JO',\n 'JP',\n 'KE',\n 'KG',\n 'KH',\n 'KI',\n 'KM',\n 'KN',\n 'KP',\n 'KR',\n 'KW',\n 'KY',\n 'KZ',\n 'LA',\n 'LB',\n 'LC',\n 'LI',\n 'LK',\n 'LR',\n 'LS',\n 'LT',\n 'LU',\n 'LV',\n 'LY',\n 'MA',\n 'MC',\n 'MD',\n 'ME',\n 'MF',\n 'MG',\n 'MH',\n 'MK',\n 'ML',\n 'MM',\n 'MN',\n 'MO',\n 'MP',\n 'MQ',\n 'MR',\n 'MS',\n 'MT',\n 'MU',\n 'MV',\n 'MW',\n 'MX',\n 'MY',\n 'MZ',\n 'NA',\n 'NC',\n 'NE',\n 'NF',\n 'NG',\n 'NI',\n 'NL',\n 'NO',\n 'NP',\n 'NR',\n 'NU',\n 'NZ',\n 'OM',\n 'PA',\n 'PE',\n 'PF',\n 'PG',\n 'PH',\n 'PK',\n 'PL',\n 'PM',\n 'PN',\n 'PR',\n 'PS',\n 'PT',\n 'PW',\n 'PY',\n 'QA',\n 'RE',\n 'RO',\n 'RS',\n 'RU',\n 'RW',\n 'SA',\n 'SB',\n 'SC',\n 'SD',\n 'SE',\n 'SG',\n 'SH',\n 'SI',\n 'SJ',\n 'SK',\n 'SL',\n 'SM',\n 'SN',\n 'SO',\n 'SR',\n 'SS',\n 'ST',\n 'SV',\n 'SX',\n 'SY',\n 'SZ',\n 'TC',\n 'TD',\n 'TF',\n 'TG',\n 'TH',\n 'TJ',\n 'TK',\n 'TL',\n 'TM',\n 'TN',\n 'TO',\n 'TR',\n 'TT',\n 'TV',\n 'TW',\n 'TZ',\n 'UA',\n 'UG',\n 'US',\n 'UY',\n 'UZ',\n 'VA',\n 'VC',\n 'VE',\n 'VG',\n 'VI',\n 'VN',\n 'VU',\n 'WF',\n 'WS',\n 'XK',\n 'YE',\n 'YT',\n 'ZA',\n 'ZM',\n 'ZW'\n]\n .map(code => ({ code, label: regionNames.of(code) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n","// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { DEVICE_STATES, FilterOperator } from '../constants';\nimport { DEVICE_FILTERING_OPTIONS } from '../constants';\n\nexport const emptyFilter = { key: null, value: '', operator: DEVICE_FILTERING_OPTIONS.$eq.key as FilterOperator, scope: 'inventory' };\n\n// see https://github.com/mendersoftware/go-lib-micro/tree/master/ws\n// for the description of proto_header and the consts\n// *Note*: this needs to be aligned with mender-connect and deviceconnect.\nexport const DEVICE_MESSAGE_PROTOCOLS = {\n Shell: 1\n};\nexport const DEVICE_MESSAGE_TYPES = {\n Delay: 'delay',\n New: 'new',\n Ping: 'ping',\n Pong: 'pong',\n Resize: 'resize',\n Shell: 'shell',\n Stop: 'stop'\n};\n\n// we can't include the dismiss state with the rest since this would include dismissed devices in several queries\nexport const DEVICE_DISMISSAL_STATE = 'dismiss';\n\nexport type DeviceAuthState = (typeof DEVICE_STATES)[keyof typeof DEVICE_STATES];\n\nexport const DEVICE_CONNECT_STATES = {\n connected: 'connected',\n disconnected: 'disconnected',\n unknown: 'unknown'\n};\n\nexport const geoAttributes = ['geo-lat', 'geo-lon'].map(attribute => ({ attribute, scope: 'inventory' }));\n\nexport const REPORT_CHART_SIZE_LIMIT = 6;\n"],"mappings":"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A;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAC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","names":["import_constants","AWS","Azure","Cookies","msgpack5"]}
|
|
1
|
+
{"version":3,"sources":["../src/sockethook.ts","../src/constants.ts","../src/commonConstants.tsx","../src/devicesSlice/constants.ts"],"sourcesContent":["// Copyright 2022 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//@ts-nocheck\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { blobToString, byteArrayToString } from '@northern.tech/utils/helpers';\nimport msgpack5 from 'msgpack5';\nimport Cookies from 'universal-cookie';\n\nimport { DEVICE_MESSAGE_PROTOCOLS as MessageProtocols, DEVICE_MESSAGE_TYPES as MessageTypes, TIMEOUTS, apiUrl } from './constants';\n\nconst cookies = new Cookies();\n\nconst MessagePack = msgpack5();\n\nexport const useSession = ({ onClose, onHealthCheckFailed, onMessageReceived, onNotify, onOpen, token }) => {\n const [sessionId, setSessionId] = useState();\n const healthcheckTimeout = useRef();\n const socketRef = useRef();\n const sendMessage = useCallback(({ typ, body, props }) => {\n if (!socketRef.current) {\n return;\n }\n const proto_header = { proto: MessageProtocols.Shell, typ, sid: socketRef.current.sessionId, props };\n const encodedData = MessagePack.encode({ hdr: proto_header, body });\n socketRef.current.send(encodedData);\n }, []);\n\n const close = useCallback(() => {\n if (!socketRef.current || socketRef.current?.readyState !== WebSocket.OPEN) {\n return;\n }\n sendMessage({ typ: MessageTypes.Stop, props: {} });\n socketRef.current.close();\n setSessionId();\n }, [sendMessage]);\n\n const healthcheckFailed = useCallback(() => {\n onHealthCheckFailed();\n close();\n }, [close, onHealthCheckFailed]);\n\n const onSocketMessage = useCallback(\n event =>\n blobToString(event.data).then(data => {\n const {\n hdr: { props = {}, proto, sid, typ },\n body\n } = MessagePack.decode(data);\n if (proto !== MessageProtocols.Shell) {\n return;\n }\n switch (typ) {\n case MessageTypes.New: {\n if (props.status == WebSocket.CLOSING) {\n onNotify(`Error: ${byteArrayToString(body)}`);\n setSessionId();\n return close();\n } else {\n clearTimeout(healthcheckTimeout.current);\n healthcheckTimeout.current = setTimeout(healthcheckFailed, 65 * TIMEOUTS.oneSecond);\n socketRef.current.sessionId = sid;\n return setSessionId(sid);\n }\n }\n case MessageTypes.Shell:\n return onMessageReceived(body);\n case MessageTypes.Stop:\n return close();\n case MessageTypes.Ping: {\n if (healthcheckTimeout.current) {\n clearTimeout(healthcheckTimeout.current);\n }\n sendMessage({ typ: MessageTypes.Pong });\n //\n const timeout = parseInt(props.timeout);\n if (timeout > 0) {\n healthcheckTimeout.current = setTimeout(healthcheckFailed, timeout * TIMEOUTS.oneSecond);\n }\n return;\n }\n default:\n break;\n }\n }),\n [close, healthcheckFailed, onMessageReceived, onNotify, sendMessage]\n );\n\n const onSocketError = useCallback(\n error => {\n onNotify(`WebSocket error: ${error.message}`);\n close();\n clearTimeout(healthcheckTimeout.current);\n },\n [close, onNotify]\n );\n\n const onSocketOpen = useCallback(() => {\n sendMessage({ typ: MessageTypes.New, props: {} });\n onOpen(true);\n }, [onOpen, sendMessage]);\n\n const onSocketClose = useCallback(\n e => {\n console.log('closing');\n onClose(e);\n close();\n },\n [close, onClose]\n );\n\n const connect = useCallback(\n deviceId => {\n const uri = `wss://${window.location.host}${apiUrl.v1}/deviceconnect/devices/${deviceId}/connect`;\n setSessionId();\n cookies.set('JWT', token, { path: '/', secure: true, sameSite: 'strict', maxAge: 5 });\n try {\n socketRef.current = new WebSocket(uri);\n } catch (error) {\n console.log(error);\n }\n },\n [token]\n );\n\n useEffect(() => {\n if (!socketRef.current) {\n return;\n }\n\n socketRef.current.addEventListener('close', onSocketClose);\n socketRef.current.addEventListener('error', onSocketError);\n socketRef.current.addEventListener('message', onSocketMessage);\n socketRef.current.addEventListener('open', onSocketOpen);\n\n return () => {\n socketRef.current.removeEventListener('close', onSocketClose);\n socketRef.current.removeEventListener('error', onSocketError);\n socketRef.current.removeEventListener('message', onSocketMessage);\n socketRef.current.removeEventListener('open', onSocketOpen);\n };\n // eslint-disable-next-line react-hooks/refs\n }, [onSocketClose, onSocketError, onSocketMessage, onSocketOpen, socketRef.current?.readyState]);\n\n // eslint-disable-next-line react-hooks/refs\n return [connect, sendMessage, close, socketRef.current?.readyState ?? WebSocket.CLOSED, sessionId];\n};\n","// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//@ts-nocheck\nimport {\n ALL_DEVICES,\n ALL_DEVICE_STATES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n PermissionTypes,\n SORTING_OPTIONS,\n alertChannels,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n limitDefault,\n maxSessionAge,\n monitorApiUrlv1,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n} from '@northern.tech/utils/constants';\nimport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n} from '@northern.tech/utils/constants';\n\nexport {\n alertChannels,\n ALL_DEVICE_STATES,\n ALL_DEVICES,\n ALL_RELEASES,\n APPLICATION_JSON_CONTENT_TYPE,\n APPLICATION_JWT_CONTENT_TYPE,\n ATTRIBUTE_SCOPES,\n apiRoot,\n apiUrl,\n auditLogsApiUrl,\n defaultPermissionSets,\n deploymentsApiUrl,\n deploymentsApiUrlV2,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_DEFAULTS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n emptyRole,\n emptyUiPermissions,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL,\n monitorApiUrlv1,\n limitDefault,\n maxSessionAge,\n PermissionTypes,\n reportingApiUrl,\n rolesById,\n rolesByName,\n scopedPermissionAreas,\n serviceProviderRolesById,\n SORTING_OPTIONS,\n ssoIdpApiUrlv1,\n tenantadmApiUrlv1,\n tenantadmApiUrlv2,\n twoFAStates,\n uiPermissionsByArea,\n uiPermissionsById,\n useradmApiUrl,\n useradmApiUrlv1,\n useradmApiUrlv2\n};\n\nexport type {\n AnyPermission,\n AuditLogPermission,\n DeploymentPermission,\n DeviceIssueOptionKey,\n GroupsPermission,\n PermissionObject,\n PermissionSet,\n PermissionSetId,\n ReleasesPermission,\n Role,\n ScopedPermissionsByAreaKey,\n SortOptions,\n UiPermissionsByAreaKey,\n UiPermissionsByIdKey,\n UiPermissionsDefinition,\n UserManagementPermission\n};\n\nexport * from './appSlice/constants';\nexport * from './commonConstants';\nexport * from './deploymentsSlice/constants';\nexport * from './devicesSlice/constants';\nexport * from './monitorSlice/constants';\nexport * from './onboardingSlice/constants';\nexport * from './organizationSlice/constants';\nexport * from './releasesSlice/constants';\nexport * from './usersSlice/constants';\n","// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport { mdiAws as AWS, mdiMicrosoftAzure as Azure } from '@mdi/js';\nimport type { Integration } from '@northern.tech/types/MenderTypes';\n\nimport type { DEVICE_FILTERING_OPTIONS } from './constants';\nimport { ATTRIBUTE_SCOPES } from './constants';\n\nexport const timeUnits = {\n days: 'days',\n minutes: 'minutes',\n hours: 'hours'\n};\n\nexport const UNGROUPED_GROUP = { id: '*|=ungrouped=|*', name: 'Unassigned' };\n\nexport const DEVICE_LIST_MAXIMUM_LENGTH = 50;\n\nexport type FilterOperator = keyof typeof DEVICE_FILTERING_OPTIONS;\n\nconst oneSecond = 1000;\nexport const TIMEOUTS = {\n debounceDefault: 700,\n debounceShort: 300,\n halfASecond: 0.5 * oneSecond,\n oneSecond,\n twoSeconds: 2 * oneSecond,\n threeSeconds: 3 * oneSecond,\n fiveSeconds: 5 * oneSecond,\n refreshDefault: 10 * oneSecond,\n refreshLong: 60 * oneSecond\n};\n\nexport const DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };\n\nexport interface IdAttribute {\n attribute: string;\n scope: string;\n}\nexport const defaultIdAttribute: Readonly<IdAttribute> = Object.freeze({ attribute: 'id', scope: ATTRIBUTE_SCOPES.identity });\n\nexport const productOrder = ['micro', 'standard', 'system'];\n\nexport const credentialTypes = {\n aws: 'aws',\n http: 'http',\n sas: 'sas',\n x509: 'x509'\n};\nexport const EXTERNAL_PROVIDER = {\n 'iot-core': {\n credentialsType: credentialTypes.aws,\n icon: AWS,\n title: 'AWS IoT Core',\n twinTitle: 'Device Shadow',\n provider: 'iot-core',\n enabled: true,\n deviceTwin: true,\n configHint: <>For help finding your AWS IoT Core connection string, check the AWS IoT documentation.</>\n },\n 'iot-hub': {\n credentialsType: credentialTypes.sas,\n icon: Azure,\n title: 'Azure IoT Hub',\n twinTitle: 'Device Twin',\n provider: 'iot-hub',\n enabled: true,\n deviceTwin: true,\n configHint: (\n <span>\n For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described{' '}\n {\n <a\n href=\"https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n here\n </a>\n }\n .\n </span>\n )\n },\n webhook: {\n credentialsType: credentialTypes.http,\n deviceTwin: false,\n twinTitle: '',\n // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.\n enabled: false,\n provider: 'webhook'\n }\n} as const;\n\nexport interface Webhook extends Integration {\n provider: 'webhook';\n}\n\nexport const emptyWebhook: Webhook = {\n description: '',\n provider: 'webhook',\n credentials: {\n type: EXTERNAL_PROVIDER.webhook.credentialsType,\n [EXTERNAL_PROVIDER.webhook.credentialsType]: {\n secret: '',\n url: ''\n }\n }\n};\n\ninterface CountryType {\n code: string;\n label: string;\n}\nexport const MAX_PAGE_SIZE = 500;\nconst regionNames = new Intl.DisplayNames(['en'], { type: 'region' });\nexport const countries: readonly CountryType[] = [\n 'AD',\n 'AE',\n 'AF',\n 'AG',\n 'AI',\n 'AL',\n 'AM',\n 'AO',\n 'AQ',\n 'AR',\n 'AS',\n 'AT',\n 'AU',\n 'AW',\n 'AX',\n 'AZ',\n 'BA',\n 'BB',\n 'BD',\n 'BE',\n 'BF',\n 'BG',\n 'BH',\n 'BI',\n 'BJ',\n 'BL',\n 'BM',\n 'BN',\n 'BO',\n 'BR',\n 'BS',\n 'BT',\n 'BV',\n 'BW',\n 'BY',\n 'BZ',\n 'CA',\n 'CC',\n 'CD',\n 'CF',\n 'CG',\n 'CH',\n 'CI',\n 'CK',\n 'CL',\n 'CM',\n 'CN',\n 'CO',\n 'CR',\n 'CU',\n 'CV',\n 'CW',\n 'CX',\n 'CY',\n 'CZ',\n 'DE',\n 'DJ',\n 'DK',\n 'DM',\n 'DO',\n 'DZ',\n 'EC',\n 'EE',\n 'EG',\n 'EH',\n 'ER',\n 'ES',\n 'ET',\n 'FI',\n 'FJ',\n 'FK',\n 'FM',\n 'FO',\n 'FR',\n 'GA',\n 'GB',\n 'GD',\n 'GE',\n 'GF',\n 'GG',\n 'GH',\n 'GI',\n 'GL',\n 'GM',\n 'GN',\n 'GP',\n 'GQ',\n 'GR',\n 'GS',\n 'GT',\n 'GU',\n 'GW',\n 'GY',\n 'HK',\n 'HM',\n 'HN',\n 'HR',\n 'HT',\n 'HU',\n 'ID',\n 'IE',\n 'IL',\n 'IM',\n 'IN',\n 'IO',\n 'IQ',\n 'IR',\n 'IS',\n 'IT',\n 'JE',\n 'JM',\n 'JO',\n 'JP',\n 'KE',\n 'KG',\n 'KH',\n 'KI',\n 'KM',\n 'KN',\n 'KP',\n 'KR',\n 'KW',\n 'KY',\n 'KZ',\n 'LA',\n 'LB',\n 'LC',\n 'LI',\n 'LK',\n 'LR',\n 'LS',\n 'LT',\n 'LU',\n 'LV',\n 'LY',\n 'MA',\n 'MC',\n 'MD',\n 'ME',\n 'MF',\n 'MG',\n 'MH',\n 'MK',\n 'ML',\n 'MM',\n 'MN',\n 'MO',\n 'MP',\n 'MQ',\n 'MR',\n 'MS',\n 'MT',\n 'MU',\n 'MV',\n 'MW',\n 'MX',\n 'MY',\n 'MZ',\n 'NA',\n 'NC',\n 'NE',\n 'NF',\n 'NG',\n 'NI',\n 'NL',\n 'NO',\n 'NP',\n 'NR',\n 'NU',\n 'NZ',\n 'OM',\n 'PA',\n 'PE',\n 'PF',\n 'PG',\n 'PH',\n 'PK',\n 'PL',\n 'PM',\n 'PN',\n 'PR',\n 'PS',\n 'PT',\n 'PW',\n 'PY',\n 'QA',\n 'RE',\n 'RO',\n 'RS',\n 'RU',\n 'RW',\n 'SA',\n 'SB',\n 'SC',\n 'SD',\n 'SE',\n 'SG',\n 'SH',\n 'SI',\n 'SJ',\n 'SK',\n 'SL',\n 'SM',\n 'SN',\n 'SO',\n 'SR',\n 'SS',\n 'ST',\n 'SV',\n 'SX',\n 'SY',\n 'SZ',\n 'TC',\n 'TD',\n 'TF',\n 'TG',\n 'TH',\n 'TJ',\n 'TK',\n 'TL',\n 'TM',\n 'TN',\n 'TO',\n 'TR',\n 'TT',\n 'TV',\n 'TW',\n 'TZ',\n 'UA',\n 'UG',\n 'US',\n 'UY',\n 'UZ',\n 'VA',\n 'VC',\n 'VE',\n 'VG',\n 'VI',\n 'VN',\n 'VU',\n 'WF',\n 'WS',\n 'XK',\n 'YE',\n 'YT',\n 'ZA',\n 'ZM',\n 'ZW'\n]\n .map(code => ({ code, label: regionNames.of(code) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n","// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { DEVICE_STATES, FilterOperator } from '../constants';\nimport { DEVICE_FILTERING_OPTIONS } from '../constants';\n\nexport const emptyFilter = { key: null, value: '', operator: DEVICE_FILTERING_OPTIONS.$eq.key as FilterOperator, scope: 'inventory' };\n\n// see https://github.com/mendersoftware/go-lib-micro/tree/master/ws\n// for the description of proto_header and the consts\n// *Note*: this needs to be aligned with mender-connect and deviceconnect.\nexport const DEVICE_MESSAGE_PROTOCOLS = {\n Shell: 1\n};\nexport const DEVICE_MESSAGE_TYPES = {\n Delay: 'delay',\n New: 'new',\n Ping: 'ping',\n Pong: 'pong',\n Resize: 'resize',\n Shell: 'shell',\n Stop: 'stop'\n};\n\n// we can't include the dismiss state with the rest since this would include dismissed devices in several queries\nexport const DEVICE_DISMISSAL_STATE = 'dismiss';\n\nexport type DeviceAuthState = (typeof DEVICE_STATES)[keyof typeof DEVICE_STATES];\n\nexport const DEVICE_CONNECT_STATES = {\n connected: 'connected',\n disconnected: 'disconnected',\n unknown: 'unknown'\n};\n\nexport const geoAttributes = ['geo-lat', 'geo-lon'].map(attribute => ({ attribute, scope: 'inventory' }));\n\nexport const REPORT_CHART_SIZE_LIMIT = 6;\n"],"mappings":"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A;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EACG,IAAI,WAAS,EAAE,MAAM,OAAO,YAAY,GAAG,IAAI,EAAE,EAAE,EACnD,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,cAAc,EAAE,KAAK,CAAC;;;AC3WzC,IAAM,cAAc,EAAE,KAAK,MAAM,OAAO,IAAI,UAAU,2CAAyB,IAAI,KAAuB,OAAO,YAAY;AAK7H,IAAM,2BAA2B;AAAA,EACtC,OAAO;AACT;AACO,IAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AACR;AAaO,IAAM,gBAAgB,CAAC,WAAW,SAAS,EAAE,IAAI,gBAAc,EAAE,WAAW,OAAO,YAAY,EAAE;;;AHvBxG,IAAM,UAAU,IAAI,wBAAAC,QAAQ;AAE5B,IAAM,kBAAc,gBAAAC,SAAS;AAEtB,IAAM,aAAa,CAAC,EAAE,SAAS,qBAAqB,mBAAmB,UAAU,QAAQ,MAAM,MAAM;AAC1G,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS;AAC3C,QAAM,yBAAqB,qBAAO;AAClC,QAAM,gBAAY,qBAAO;AACzB,QAAM,kBAAc,0BAAY,CAAC,EAAE,KAAK,MAAM,MAAM,MAAM;AACxD,QAAI,CAAC,UAAU,SAAS;AACtB;AAAA,IACF;AACA,UAAM,eAAe,EAAE,OAAO,yBAAiB,OAAO,KAAK,KAAK,UAAU,QAAQ,WAAW,MAAM;AACnG,UAAM,cAAc,YAAY,OAAO,EAAE,KAAK,cAAc,KAAK,CAAC;AAClE,cAAU,QAAQ,KAAK,WAAW;AAAA,EACpC,GAAG,CAAC,CAAC;AAEL,QAAM,YAAQ,0BAAY,MAAM;AAC9B,QAAI,CAAC,UAAU,WAAW,UAAU,SAAS,eAAe,UAAU,MAAM;AAC1E;AAAA,IACF;AACA,gBAAY,EAAE,KAAK,qBAAa,MAAM,OAAO,CAAC,EAAE,CAAC;AACjD,cAAU,QAAQ,MAAM;AACxB,iBAAa;AAAA,EACf,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,wBAAoB,0BAAY,MAAM;AAC1C,wBAAoB;AACpB,UAAM;AAAA,EACR,GAAG,CAAC,OAAO,mBAAmB,CAAC;AAE/B,QAAM,sBAAkB;AAAA,IACtB,eACE,6BAAa,MAAM,IAAI,EAAE,KAAK,UAAQ;AACpC,YAAM;AAAA,QACJ,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,KAAK,IAAI;AAAA,QACnC;AAAA,MACF,IAAI,YAAY,OAAO,IAAI;AAC3B,UAAI,UAAU,yBAAiB,OAAO;AACpC;AAAA,MACF;AACA,cAAQ,KAAK;AAAA,QACX,KAAK,qBAAa,KAAK;AACrB,cAAI,MAAM,UAAU,UAAU,SAAS;AACrC,qBAAS,cAAU,kCAAkB,IAAI,CAAC,EAAE;AAC5C,yBAAa;AACb,mBAAO,MAAM;AAAA,UACf,OAAO;AACL,yBAAa,mBAAmB,OAAO;AACvC,+BAAmB,UAAU,WAAW,mBAAmB,KAAK,SAAS,SAAS;AAClF,sBAAU,QAAQ,YAAY;AAC9B,mBAAO,aAAa,GAAG;AAAA,UACzB;AAAA,QACF;AAAA,QACA,KAAK,qBAAa;AAChB,iBAAO,kBAAkB,IAAI;AAAA,QAC/B,KAAK,qBAAa;AAChB,iBAAO,MAAM;AAAA,QACf,KAAK,qBAAa,MAAM;AACtB,cAAI,mBAAmB,SAAS;AAC9B,yBAAa,mBAAmB,OAAO;AAAA,UACzC;AACA,sBAAY,EAAE,KAAK,qBAAa,KAAK,CAAC;AAEtC,gBAAM,UAAU,SAAS,MAAM,OAAO;AACtC,cAAI,UAAU,GAAG;AACf,+BAAmB,UAAU,WAAW,mBAAmB,UAAU,SAAS,SAAS;AAAA,UACzF;AACA;AAAA,QACF;AAAA,QACA;AACE;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,IACH,CAAC,OAAO,mBAAmB,mBAAmB,UAAU,WAAW;AAAA,EACrE;AAEA,QAAM,oBAAgB;AAAA,IACpB,WAAS;AACP,eAAS,oBAAoB,MAAM,OAAO,EAAE;AAC5C,YAAM;AACN,mBAAa,mBAAmB,OAAO;AAAA,IACzC;AAAA,IACA,CAAC,OAAO,QAAQ;AAAA,EAClB;AAEA,QAAM,mBAAe,0BAAY,MAAM;AACrC,gBAAY,EAAE,KAAK,qBAAa,KAAK,OAAO,CAAC,EAAE,CAAC;AAChD,WAAO,IAAI;AAAA,EACb,GAAG,CAAC,QAAQ,WAAW,CAAC;AAExB,QAAM,oBAAgB;AAAA,IACpB,OAAK;AACH,cAAQ,IAAI,SAAS;AACrB,cAAQ,CAAC;AACT,YAAM;AAAA,IACR;AAAA,IACA,CAAC,OAAO,OAAO;AAAA,EACjB;AAEA,QAAM,cAAU;AAAA,IACd,cAAY;AACV,YAAM,MAAM,SAAS,OAAO,SAAS,IAAI,GAAG,yBAAO,EAAE,0BAA0B,QAAQ;AACvF,mBAAa;AACb,cAAQ,IAAI,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,MAAM,UAAU,UAAU,QAAQ,EAAE,CAAC;AACpF,UAAI;AACF,kBAAU,UAAU,IAAI,UAAU,GAAG;AAAA,MACvC,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,KAAK;AAAA,EACR;AAEA,8BAAU,MAAM;AACd,QAAI,CAAC,UAAU,SAAS;AACtB;AAAA,IACF;AAEA,cAAU,QAAQ,iBAAiB,SAAS,aAAa;AACzD,cAAU,QAAQ,iBAAiB,SAAS,aAAa;AACzD,cAAU,QAAQ,iBAAiB,WAAW,eAAe;AAC7D,cAAU,QAAQ,iBAAiB,QAAQ,YAAY;AAEvD,WAAO,MAAM;AACX,gBAAU,QAAQ,oBAAoB,SAAS,aAAa;AAC5D,gBAAU,QAAQ,oBAAoB,SAAS,aAAa;AAC5D,gBAAU,QAAQ,oBAAoB,WAAW,eAAe;AAChE,gBAAU,QAAQ,oBAAoB,QAAQ,YAAY;AAAA,IAC5D;AAAA,EAEF,GAAG,CAAC,eAAe,eAAe,iBAAiB,cAAc,UAAU,SAAS,UAAU,CAAC;AAG/F,SAAO,CAAC,SAAS,aAAa,OAAO,UAAU,SAAS,cAAc,UAAU,QAAQ,SAAS;AACnG;","names":["import_constants","AWS","Azure","Cookies","msgpack5"]}
|
package/dist/sockethook.js
CHANGED
package/dist/store.js
CHANGED
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
sessionReducer,
|
|
7
7
|
store,
|
|
8
8
|
useAppDispatch
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-WTVM2QSK.js";
|
|
10
|
+
import "./chunk-CEO2PODV.js";
|
|
11
|
+
import "./chunk-NRHTBY6E.js";
|
|
12
|
+
import "./chunk-4NG7EGAG.js";
|
|
13
|
+
import "./chunk-IJ6KKUA2.js";
|
|
14
|
+
import "./chunk-NYDBCHD7.js";
|
|
15
15
|
import "./chunk-CQXDAXQF.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-GLIQTGWN.js";
|
|
17
|
+
import "./chunk-JKLFEHCF.js";
|
|
18
|
+
import "./chunk-F2ADELYA.js";
|
|
19
|
+
import "./chunk-WKXBJVZ7.js";
|
|
20
|
+
import "./chunk-AERWBWRM.js";
|
|
21
21
|
import "./chunk-2DYA3X77.js";
|
|
22
22
|
import "./chunk-FAJ3I2UQ.js";
|
|
23
23
|
import "./chunk-ZKAH3APE.js";
|
package/dist/storehooks.cjs
CHANGED
|
@@ -166,6 +166,7 @@ var TIMEOUTS = {
|
|
|
166
166
|
};
|
|
167
167
|
var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
|
|
168
168
|
var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants5.ATTRIBUTE_SCOPES.identity });
|
|
169
|
+
var productOrder = ["micro", "standard", "system"];
|
|
169
170
|
var credentialTypes = {
|
|
170
171
|
aws: "aws",
|
|
171
172
|
http: "http",
|
|
@@ -1932,6 +1933,41 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
|
|
|
1932
1933
|
const [eventAction, eventTime] = atob(selectedId).split("|");
|
|
1933
1934
|
return events.find((item) => item.action === eventAction && item.time === eventTime);
|
|
1934
1935
|
});
|
|
1936
|
+
var toTierName = (key) => key.replace(/max_|_?devices/g, "") || "standard";
|
|
1937
|
+
var processDeviceLimits = (deviceLimits, skipFilter = false) => {
|
|
1938
|
+
const result = { limits: {}, disabled: [] };
|
|
1939
|
+
if (!deviceLimits) return result;
|
|
1940
|
+
const tiersByName = Object.fromEntries(Object.entries(deviceLimits).map(([key, limit]) => [toTierName(key), { key, limit }]));
|
|
1941
|
+
return productOrder.reduce((accu, tierName) => {
|
|
1942
|
+
const entry = tiersByName[tierName];
|
|
1943
|
+
if (!entry) return accu;
|
|
1944
|
+
const { key, limit } = entry;
|
|
1945
|
+
if (limit.value === 0) {
|
|
1946
|
+
accu.disabled.push(tierName);
|
|
1947
|
+
if (!skipFilter) return accu;
|
|
1948
|
+
}
|
|
1949
|
+
accu.limits[tierName] = {
|
|
1950
|
+
id: tierName,
|
|
1951
|
+
backendId: key,
|
|
1952
|
+
limit: limit.value,
|
|
1953
|
+
current: limit.current_value,
|
|
1954
|
+
name: tierName,
|
|
1955
|
+
quotaLeft: Math.max(limit.value - limit.current_value, 0),
|
|
1956
|
+
limitReached: limit.value !== -1 && limit.value <= limit.current_value
|
|
1957
|
+
};
|
|
1958
|
+
return accu;
|
|
1959
|
+
}, result);
|
|
1960
|
+
};
|
|
1961
|
+
var getDeviceLimitsInfo = (0, import_toolkit12.createSelector)([getOrganization], ({ device_limits }) => processDeviceLimits(device_limits));
|
|
1962
|
+
var getDisabledTiers = (0, import_toolkit12.createSelector)([getDeviceLimitsInfo], ({ disabled }) => disabled);
|
|
1963
|
+
var getSpLimits = (0, import_toolkit12.createSelector)([getDeviceLimitsInfo], ({ limits }) => limits);
|
|
1964
|
+
var getTenantListWithLimits = (0, import_toolkit12.createSelector)([getTenantsList], (tenantList) => ({
|
|
1965
|
+
...tenantList,
|
|
1966
|
+
tenants: tenantList.tenants.map((tenant) => ({
|
|
1967
|
+
...tenant,
|
|
1968
|
+
device_limits: processDeviceLimits(tenant.device_limits, true).limits
|
|
1969
|
+
}))
|
|
1970
|
+
}));
|
|
1935
1971
|
|
|
1936
1972
|
// src/releasesSlice/selectors.ts
|
|
1937
1973
|
var import_toolkit13 = require("@reduxjs/toolkit");
|
|
@@ -4276,7 +4312,7 @@ var addTenant = createAppAsyncThunk(
|
|
|
4276
4312
|
);
|
|
4277
4313
|
var tenantListRetrieval = async (config) => {
|
|
4278
4314
|
const { page, perPage } = config;
|
|
4279
|
-
const params = new URLSearchParams({ page, per_page: perPage }).toString();
|
|
4315
|
+
const params = new URLSearchParams({ page, per_page: perPage, tiers: "true" }).toString();
|
|
4280
4316
|
const tenantList = await general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/tenants?${params}`);
|
|
4281
4317
|
const totalCount = tenantList.headers[import_constants5.headerNames.total] || TENANT_LIST_DEFAULT.perPage;
|
|
4282
4318
|
return [tenantList.data, Number(totalCount)];
|
|
@@ -4301,11 +4337,11 @@ var setTenantsListState = createAppAsyncThunk(
|
|
|
4301
4337
|
return dispatch(actions6.setTenantListState({ ...nextState }));
|
|
4302
4338
|
}
|
|
4303
4339
|
);
|
|
4304
|
-
var
|
|
4340
|
+
var editTenant = createAppAsyncThunk(
|
|
4305
4341
|
`${sliceName6}/editDeviceLimit`,
|
|
4306
|
-
({
|
|
4342
|
+
({ device_limits, id, name }, { dispatch }) => general_api_default.put(`${import_constants5.tenantadmApiUrlv2}/tenants/${id}/child`, { device_limits, name }).catch((err) => commonErrorHandler(err, `Device Limit cannot be changed`, dispatch)).then(
|
|
4307
4343
|
() => Promise.all([
|
|
4308
|
-
dispatch(setSnackbar4("
|
|
4344
|
+
dispatch(setSnackbar4("Tenant was changed successfully")),
|
|
4309
4345
|
dispatch(getUserOrganization()),
|
|
4310
4346
|
new Promise((resolve) => setTimeout(() => resolve(dispatch(getTenants())), TIMEOUTS.oneSecond))
|
|
4311
4347
|
])
|
|
@@ -4331,7 +4367,7 @@ var removeTenant = createAppAsyncThunk(
|
|
|
4331
4367
|
);
|
|
4332
4368
|
var getUserOrganization = createAppAsyncThunk(
|
|
4333
4369
|
`${sliceName6}/getUserOrganization`,
|
|
4334
|
-
(_, { dispatch, getState }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv1}/user/tenant`).then((res) => {
|
|
4370
|
+
(_, { dispatch, getState }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv1}/user/tenant?tiers=true`).then((res) => {
|
|
4335
4371
|
const tasks = [dispatch(actions6.setOrganization(res.data))];
|
|
4336
4372
|
const { addons, plan, trial } = res.data;
|
|
4337
4373
|
const { token } = getCurrentSession(getState());
|