@webex/calling 3.12.0-next.5 → 3.12.0-next.51
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/CallingClient/CallingClient.js +506 -223
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +236 -77
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +589 -445
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +695 -445
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +53 -30
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +35 -0
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +2 -0
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/constants.js +27 -3
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +4 -1
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +16 -1
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/registration/register.js +714 -407
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +311 -58
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/registration/types.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.js +41 -104
- package/dist/CallingClient/registration/webWorker.js.map +1 -1
- package/dist/CallingClient/registration/webWorker.test.js +39 -153
- package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js +1 -1
- package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/CallingClient/utils/constants.js +58 -0
- package/dist/CallingClient/utils/constants.js.map +1 -0
- package/dist/CallingClient/utils/index.js +63 -0
- package/dist/CallingClient/utils/index.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js +221 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.js +415 -0
- package/dist/CallingClient/utils/request.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +968 -0
- package/dist/CallingClient/utils/request.test.js.map +1 -0
- package/dist/CallingClient/utils/types.js +7 -0
- package/dist/CallingClient/utils/types.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
- package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
- package/dist/Contacts/ContactsClient.js +13 -11
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Contacts/ContactsClient.test.js +3 -8
- package/dist/Contacts/ContactsClient.test.js.map +1 -1
- package/dist/Events/types.js +11 -11
- package/dist/Events/types.js.map +1 -1
- package/dist/Metrics/index.js +63 -2
- package/dist/Metrics/index.js.map +1 -1
- package/dist/Metrics/index.test.js +357 -1
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/Metrics/types.js +19 -1
- package/dist/Metrics/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/common/Utils.js +138 -44
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/testUtil.js +8 -4
- package/dist/common/testUtil.js.map +1 -1
- package/dist/common/types.js +2 -0
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/mobius-socket/config.js +24 -0
- package/dist/mobius-socket/config.js.map +1 -0
- package/dist/mobius-socket/errors.js +143 -0
- package/dist/mobius-socket/errors.js.map +1 -0
- package/dist/mobius-socket/errors.test.js +20 -0
- package/dist/mobius-socket/errors.test.js.map +1 -0
- package/dist/mobius-socket/index.js +57 -0
- package/dist/mobius-socket/index.js.map +1 -0
- package/dist/mobius-socket/mobius-socket-events.test.js +492 -0
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.js +849 -0
- package/dist/mobius-socket/mobius-socket.js.map +1 -0
- package/dist/mobius-socket/mobius-socket.test.js +1898 -0
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
- package/dist/mobius-socket/socket/constants.js +55 -0
- package/dist/mobius-socket/socket/constants.js.map +1 -0
- package/dist/mobius-socket/socket/index.js +15 -0
- package/dist/mobius-socket/socket/index.js.map +1 -0
- package/dist/mobius-socket/socket/socket-base.js +604 -0
- package/dist/mobius-socket/socket/socket-base.js.map +1 -0
- package/dist/mobius-socket/socket/socket.js +19 -0
- package/dist/mobius-socket/socket/socket.js.map +1 -0
- package/dist/mobius-socket/socket/socket.shim.js +26 -0
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
- package/dist/mobius-socket/socket/types.js +7 -0
- package/dist/mobius-socket/socket/types.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +727 -0
- package/dist/mobius-socket/socket.test.js.map +1 -0
- package/dist/mobius-socket/test/mocha-helpers.js +23 -0
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
- package/dist/mobius-socket/test/promise-tick.js +28 -0
- package/dist/mobius-socket/test/promise-tick.js.map +1 -0
- package/dist/mobius-socket/types.js +7 -0
- package/dist/mobius-socket/types.js.map +1 -0
- package/dist/module/CallingClient/CallingClient.js +148 -10
- package/dist/module/CallingClient/calling/call.js +177 -61
- package/dist/module/CallingClient/calling/callManager.js +27 -7
- package/dist/module/CallingClient/calling/types.js +2 -0
- package/dist/module/CallingClient/constants.js +23 -0
- package/dist/module/CallingClient/line/index.js +2 -2
- package/dist/module/CallingClient/registration/register.js +236 -63
- package/dist/module/CallingClient/registration/webWorker.js +42 -61
- package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
- package/dist/module/CallingClient/utils/constants.js +36 -0
- package/dist/module/CallingClient/utils/index.js +5 -0
- package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
- package/dist/module/CallingClient/utils/request.js +204 -0
- package/dist/module/CallingClient/utils/types.js +1 -0
- package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
- package/dist/module/Contacts/ContactsClient.js +1 -1
- package/dist/module/Events/types.js +4 -10
- package/dist/module/Metrics/index.js +48 -1
- package/dist/module/Metrics/types.js +18 -0
- package/dist/module/common/Utils.js +52 -12
- package/dist/module/common/testUtil.js +5 -1
- package/dist/module/common/types.js +2 -0
- package/dist/module/index.js +1 -1
- package/dist/module/mobius-socket/config.js +15 -0
- package/dist/module/mobius-socket/errors.js +58 -0
- package/dist/module/mobius-socket/index.js +24 -0
- package/dist/module/mobius-socket/mobius-socket.js +593 -0
- package/dist/module/mobius-socket/socket/constants.js +26 -0
- package/dist/module/mobius-socket/socket/index.js +4 -0
- package/dist/module/mobius-socket/socket/socket-base.js +368 -0
- package/dist/module/mobius-socket/socket/socket.js +9 -0
- package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
- package/dist/module/mobius-socket/socket/types.js +1 -0
- package/dist/module/mobius-socket/types.js +1 -0
- package/dist/types/CallingClient/CallingClient.d.ts +8 -0
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +12 -0
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +3 -2
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +34 -9
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +23 -0
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +1 -1
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +7 -1
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/types.d.ts +4 -2
- package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
- package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
- package/dist/types/CallingClient/types.d.ts +1 -0
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/constants.d.ts +35 -0
- package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/index.d.ts +6 -0
- package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
- package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/request.d.ts +27 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/types.d.ts +34 -0
- package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
- package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
- package/dist/types/Events/types.d.ts +14 -13
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/Metrics/index.d.ts.map +1 -1
- package/dist/types/Metrics/types.d.ts +19 -2
- package/dist/types/Metrics/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +24 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/common/Utils.d.ts +9 -2
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/testUtil.d.ts +4 -1
- package/dist/types/common/testUtil.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +3 -0
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/config.d.ts +17 -0
- package/dist/types/mobius-socket/config.d.ts.map +1 -0
- package/dist/types/mobius-socket/errors.d.ts +32 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -0
- package/dist/types/mobius-socket/index.d.ts +14 -0
- package/dist/types/mobius-socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/constants.d.ts +27 -0
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/index.d.ts +5 -0
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
- package/dist/types/mobius-socket/socket/types.d.ts +61 -0
- package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
- package/dist/types/mobius-socket/types.d.ts +21 -0
- package/dist/types/mobius-socket/types.d.ts.map +1 -0
- package/package.json +20 -5
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/socket.ts +14 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import * as Media from '@webex/internal-media-core';\nimport {LOGGER} from '../Logger/types';\nimport {ISDKConnector} from '../SDKConnector/types';\nimport {Eventing} from '../Events/impl';\nimport {CallingClientEventTypes} from '../Events/types';\nimport {DeviceType, ServiceData} from '../common/types';\nimport {ICall} from './calling/types';\nimport {CallingClientError} from '../Errors';\nimport {ILine} from './line/types';\n\nexport interface LoggerConfig {\n level: LOGGER;\n}\n\ninterface DiscoveryConfig {\n country: string;\n region: string;\n}\n\nexport interface CallingClientConfig {\n logger?: LoggerConfig;\n discovery?: DiscoveryConfig;\n serviceData?: ServiceData;\n jwe?: string;\n}\n\nexport type CallingClientErrorEmitterCallback = (\n err: CallingClientError,\n finalError?: boolean\n) => void;\n\n/**\n * An interface for the `CallingClient` module.\n * The `CallingClient` module is designed to provide a set of APIs related to line registration and calling functionalities within the SDK.\n *\n * @example\n * ```javascript\n * const callingClient = createClient(webex, callingConfig);\n * ```\n */\nexport interface ICallingClient extends Eventing<CallingClientEventTypes> {\n /**\n * Represents the `mediaEngine for managing media-related operations within the CallingClient.\n * The media engine provides access to audio and video devices such as cameras, microphones, and speakers within the media layer.\n *\n * @public\n * @example\n * ```\n * const microphones = await callingClient.mediaEngine.Media.getMicrophones();\n * const speakers = await callingClient.mediaEngine.Media.getSpeakers();\n * const cameras = await callingClient.mediaEngine.Media.getCameras();\n * ```\n */\n mediaEngine: typeof Media;\n\n /**\n * @ignore\n */\n getSDKConnector(): ISDKConnector;\n\n /**\n * @ignore\n */\n getLoggingLevel(): LOGGER;\n\n /**\n * Retrieves details of the line object(s) belonging to a user.\n *\n * This method gathers all the {@link ILine} objects and organizes them into a dictionary\n * where keys represent `lineId`s and values are arrays of {@link ILine} objects registered with\n * the `callingClient`\n *\n * @example\n * ```typescript\n * const lines = callingClient.getLines();\n * ```\n * The `lines` response object will have `lineId` as its key and\n * a list {@link ILine} objects as it's value.\n * ```\n * {\n * 'lineId1': lineObj1,\n * 'lineId2': lineObj2,\n * }\n * ```\n */\n getLines(): Record<string, ILine>;\n\n /**\n * Retrieves the list of devices registered for the given userId from Mobius.\n * @param userId - The user identifier whose devices should be fetched.\n * @returns List of devices associated with the user.\n */\n getDevices(userId?: string): Promise<DeviceType[]>;\n\n /**\n * Retrieves a dictionary of active calls grouped by `lineId`.\n *\n * This method gathers active {@link ICall} objects and organizes them into a dictionary\n * where keys represent `lineId`s and values are arrays of {@link ICall} objects of active calls associated\n * with each line.\n *\n * @example\n * ```typescript\n * const activeCalls = callingClient.getActiveCalls();\n * ```\n * The `activeCalls` response object will have `lineId` as its key and\n * a list {@link ICall} objects as it's value.\n *\n * ```\n * {\n * 'line1': [call1, call2],\n * 'line2': [call3],\n * }\n * ```\n */\n getActiveCalls(): Record<string, ICall[]>;\n\n /**\n * Retrieves the {@link ICall} object for the currently connected call in the client.\n *\n * This method iterates through active call objects and returns the call\n * that is currently connected (not on hold).\n *\n * @example\n * ```typescript\n * const connectedCall : ICall = callingClient.getConnectedCall();\n * ```\n * The `connectedCall` object will be the Call object of the connected call with the client\n */\n getConnectedCall(): ICall | undefined;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import * as Media from '@webex/internal-media-core';\nimport {LOGGER} from '../Logger/types';\nimport {ISDKConnector} from '../SDKConnector/types';\nimport {Eventing} from '../Events/impl';\nimport {CallingClientEventTypes} from '../Events/types';\nimport {DeviceType, ServiceData} from '../common/types';\nimport {ICall} from './calling/types';\nimport {CallingClientError} from '../Errors';\nimport {ILine} from './line/types';\n\nexport interface LoggerConfig {\n level: LOGGER;\n}\n\ninterface DiscoveryConfig {\n country: string;\n region: string;\n}\n\nexport interface CallingClientConfig {\n logger?: LoggerConfig;\n discovery?: DiscoveryConfig;\n serviceData?: ServiceData;\n jwe?: string;\n}\n\nexport type CallingClientErrorEmitterCallback = (\n err: CallingClientError,\n finalError?: boolean\n) => void;\n\n/**\n * An interface for the `CallingClient` module.\n * The `CallingClient` module is designed to provide a set of APIs related to line registration and calling functionalities within the SDK.\n *\n * @example\n * ```javascript\n * const callingClient = createClient(webex, callingConfig);\n * ```\n */\nexport interface ICallingClient extends Eventing<CallingClientEventTypes> {\n /**\n * Represents the `mediaEngine for managing media-related operations within the CallingClient.\n * The media engine provides access to audio and video devices such as cameras, microphones, and speakers within the media layer.\n *\n * @public\n * @example\n * ```\n * const microphones = await callingClient.mediaEngine.Media.getMicrophones();\n * const speakers = await callingClient.mediaEngine.Media.getSpeakers();\n * const cameras = await callingClient.mediaEngine.Media.getCameras();\n * ```\n */\n mediaEngine: typeof Media;\n\n /**\n * @ignore\n */\n getSDKConnector(): ISDKConnector;\n\n /**\n * @ignore\n */\n getLoggingLevel(): LOGGER;\n\n /**\n * Retrieves details of the line object(s) belonging to a user.\n *\n * This method gathers all the {@link ILine} objects and organizes them into a dictionary\n * where keys represent `lineId`s and values are arrays of {@link ILine} objects registered with\n * the `callingClient`\n *\n * @example\n * ```typescript\n * const lines = callingClient.getLines();\n * ```\n * The `lines` response object will have `lineId` as its key and\n * a list {@link ILine} objects as it's value.\n * ```\n * {\n * 'lineId1': lineObj1,\n * 'lineId2': lineObj2,\n * }\n * ```\n */\n getLines(): Record<string, ILine>;\n\n /**\n * Retrieves the list of devices registered for the given userId from Mobius.\n * @param userId - The user identifier whose devices should be fetched.\n * @returns List of devices associated with the user.\n */\n getDevices(userId?: string): Promise<DeviceType[]>;\n\n /**\n * Retrieves a dictionary of active calls grouped by `lineId`.\n *\n * This method gathers active {@link ICall} objects and organizes them into a dictionary\n * where keys represent `lineId`s and values are arrays of {@link ICall} objects of active calls associated\n * with each line.\n *\n * @example\n * ```typescript\n * const activeCalls = callingClient.getActiveCalls();\n * ```\n * The `activeCalls` response object will have `lineId` as its key and\n * a list {@link ICall} objects as it's value.\n *\n * ```\n * {\n * 'line1': [call1, call2],\n * 'line2': [call3],\n * }\n * ```\n */\n getActiveCalls(): Record<string, ICall[]>;\n\n /**\n * Retrieves the {@link ICall} object for the currently connected call in the client.\n *\n * This method iterates through active call objects and returns the call\n * that is currently connected (not on hold).\n *\n * @example\n * ```typescript\n * const connectedCall : ICall = callingClient.getConnectedCall();\n * ```\n * The `connectedCall` object will be the Call object of the connected call with the client\n */\n getConnectedCall(): ICall | undefined;\n\n /**\n * Indicates whether the Mobius WebSocket transport is currently connected.\n *\n * The `callingClient:mobius_socket_connected` event is emitted during client\n * initialization, so consumers that subscribe afterwards may miss it. This method\n * lets them reconcile the current connection state right after subscribing. Returns\n * `false` when the WebSocket transport is not in use.\n *\n * @example\n * ```typescript\n * callingClient.on(CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED, onConnected);\n * if (callingClient.isMobiusSocketConnected()) {\n * onConnected();\n * }\n * ```\n */\n isMobiusSocketConnected(): boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.MOBIUS_SOCKET_MESSAGE_TYPE = exports.MOBIUS_SOCKET_DISCONNECT_REASON = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Mobius WebSocket event names for request and response messages
|
|
10
|
+
* Response events follow the pattern: `{request_event}.response`
|
|
11
|
+
*/
|
|
12
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
13
|
+
var MOBIUS_SOCKET_MESSAGE_TYPE = exports.MOBIUS_SOCKET_MESSAGE_TYPE = /*#__PURE__*/function (MOBIUS_SOCKET_MESSAGE_TYPE) {
|
|
14
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["UNKNOWN"] = "UNKNOWN";
|
|
15
|
+
// Registration messages
|
|
16
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["REGISTER"] = "register";
|
|
17
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["REGISTER_RESPONSE"] = "register.response";
|
|
18
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["UNREGISTER"] = "unregister";
|
|
19
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["UNREGISTER_RESPONSE"] = "unregister.response";
|
|
20
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["DEVICE_STATUS"] = "device_status";
|
|
21
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["DEVICE_STATUS_RESPONSE"] = "device_status.response";
|
|
22
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["DEVICE_GET"] = "device_get";
|
|
23
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["DEVICE_GET_RESPONSE"] = "device_get.response";
|
|
24
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["DEVICE_LIST"] = "device_list";
|
|
25
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["DEVICE_LIST_RESPONSE"] = "device_list.response";
|
|
26
|
+
// Call messages
|
|
27
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_SETUP"] = "call_setup";
|
|
28
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_SETUP_RESPONSE"] = "call_setup.response";
|
|
29
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_STATE"] = "call_state";
|
|
30
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_STATE_RESPONSE"] = "call_state.response";
|
|
31
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_STATUS"] = "call_status";
|
|
32
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_STATUS_RESPONSE"] = "call_status.response";
|
|
33
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_MEDIA"] = "call_media";
|
|
34
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_MEDIA_RESPONSE"] = "call_media.response";
|
|
35
|
+
// Supplementary services messages
|
|
36
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_HOLD"] = "call_hold";
|
|
37
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_HOLD_RESPONSE"] = "call_hold.response";
|
|
38
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_RESUME"] = "call_resume";
|
|
39
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_RESUME_RESPONSE"] = "call_resume.response";
|
|
40
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_TRANSFER"] = "call_transfer";
|
|
41
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_TRANSFER_RESPONSE"] = "call_transfer.response";
|
|
42
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_DELETE"] = "call_delete";
|
|
43
|
+
MOBIUS_SOCKET_MESSAGE_TYPE["CALL_DELETE_RESPONSE"] = "call_delete.response";
|
|
44
|
+
return MOBIUS_SOCKET_MESSAGE_TYPE;
|
|
45
|
+
}({});
|
|
46
|
+
/**
|
|
47
|
+
* Reason describing why the Mobius WebSocket disconnected.
|
|
48
|
+
* - `PERMANENT`: socket closed and will not be reconnected automatically.
|
|
49
|
+
* - `TRANSIENT`: socket closed and a reconnect attempt is in progress.
|
|
50
|
+
* - `REPLACED`: socket was replaced by a newer connection.
|
|
51
|
+
*/
|
|
52
|
+
var MOBIUS_SOCKET_DISCONNECT_REASON = exports.MOBIUS_SOCKET_DISCONNECT_REASON = /*#__PURE__*/function (MOBIUS_SOCKET_DISCONNECT_REASON) {
|
|
53
|
+
MOBIUS_SOCKET_DISCONNECT_REASON["PERMANENT"] = "permanent";
|
|
54
|
+
MOBIUS_SOCKET_DISCONNECT_REASON["TRANSIENT"] = "transient";
|
|
55
|
+
MOBIUS_SOCKET_DISCONNECT_REASON["REPLACED"] = "replaced";
|
|
56
|
+
return MOBIUS_SOCKET_DISCONNECT_REASON;
|
|
57
|
+
}({});
|
|
58
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MOBIUS_SOCKET_MESSAGE_TYPE","exports","MOBIUS_SOCKET_DISCONNECT_REASON"],"sources":["constants.ts"],"sourcesContent":["/**\n * Mobius WebSocket event names for request and response messages\n * Response events follow the pattern: `{request_event}.response`\n */\n// eslint-disable-next-line import/prefer-default-export\nexport enum MOBIUS_SOCKET_MESSAGE_TYPE {\n UNKNOWN = 'UNKNOWN',\n\n // Registration messages\n REGISTER = 'register',\n REGISTER_RESPONSE = 'register.response',\n UNREGISTER = 'unregister',\n UNREGISTER_RESPONSE = 'unregister.response',\n DEVICE_STATUS = 'device_status',\n DEVICE_STATUS_RESPONSE = 'device_status.response',\n DEVICE_GET = 'device_get',\n DEVICE_GET_RESPONSE = 'device_get.response',\n DEVICE_LIST = 'device_list',\n DEVICE_LIST_RESPONSE = 'device_list.response',\n\n // Call messages\n CALL_SETUP = 'call_setup',\n CALL_SETUP_RESPONSE = 'call_setup.response',\n CALL_STATE = 'call_state',\n CALL_STATE_RESPONSE = 'call_state.response',\n CALL_STATUS = 'call_status',\n CALL_STATUS_RESPONSE = 'call_status.response',\n CALL_MEDIA = 'call_media',\n CALL_MEDIA_RESPONSE = 'call_media.response',\n\n // Supplementary services messages\n CALL_HOLD = 'call_hold',\n CALL_HOLD_RESPONSE = 'call_hold.response',\n CALL_RESUME = 'call_resume',\n CALL_RESUME_RESPONSE = 'call_resume.response',\n CALL_TRANSFER = 'call_transfer',\n CALL_TRANSFER_RESPONSE = 'call_transfer.response',\n\n CALL_DELETE = 'call_delete',\n CALL_DELETE_RESPONSE = 'call_delete.response',\n}\n\n/**\n * Reason describing why the Mobius WebSocket disconnected.\n * - `PERMANENT`: socket closed and will not be reconnected automatically.\n * - `TRANSIENT`: socket closed and a reconnect attempt is in progress.\n * - `REPLACED`: socket was replaced by a newer connection.\n */\nexport enum MOBIUS_SOCKET_DISCONNECT_REASON {\n PERMANENT = 'permanent',\n TRANSIENT = 'transient',\n REPLACED = 'replaced',\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAA,IACYA,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,0BAA1BA,0BAA0B;EAA1BA,0BAA0B;EAGpC;EAHUA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAepC;EAfUA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAyBpC;EAzBUA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAAA,OAA1BA,0BAA0B;AAAA;AAqCtC;AACA;AACA;AACA;AACA;AACA;AALA,IAMYE,+BAA+B,GAAAD,OAAA,CAAAC,+BAAA,0BAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAAA,OAA/BA,+BAA+B;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
var _request = require("./request");
|
|
9
|
+
_Object$keys(_request).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _request[key]) return;
|
|
12
|
+
_Object$defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _request[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
var _types = require("./types");
|
|
20
|
+
_Object$keys(_types).forEach(function (key) {
|
|
21
|
+
if (key === "default" || key === "__esModule") return;
|
|
22
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
23
|
+
_Object$defineProperty(exports, key, {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function get() {
|
|
26
|
+
return _types[key];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
var _mobiusSocketMapper = require("./mobiusSocketMapper");
|
|
31
|
+
_Object$keys(_mobiusSocketMapper).forEach(function (key) {
|
|
32
|
+
if (key === "default" || key === "__esModule") return;
|
|
33
|
+
if (key in exports && exports[key] === _mobiusSocketMapper[key]) return;
|
|
34
|
+
_Object$defineProperty(exports, key, {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function get() {
|
|
37
|
+
return _mobiusSocketMapper[key];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
var _constants = require("./constants");
|
|
42
|
+
_Object$keys(_constants).forEach(function (key) {
|
|
43
|
+
if (key === "default" || key === "__esModule") return;
|
|
44
|
+
if (key in exports && exports[key] === _constants[key]) return;
|
|
45
|
+
_Object$defineProperty(exports, key, {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function get() {
|
|
48
|
+
return _constants[key];
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
var _wsFeatureFlag = require("./wsFeatureFlag");
|
|
53
|
+
_Object$keys(_wsFeatureFlag).forEach(function (key) {
|
|
54
|
+
if (key === "default" || key === "__esModule") return;
|
|
55
|
+
if (key in exports && exports[key] === _wsFeatureFlag[key]) return;
|
|
56
|
+
_Object$defineProperty(exports, key, {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function get() {
|
|
59
|
+
return _wsFeatureFlag[key];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_request","require","_Object$keys","forEach","key","exports","_Object$defineProperty","enumerable","get","_types","_mobiusSocketMapper","_constants","_wsFeatureFlag"],"sources":["index.ts"],"sourcesContent":["export * from './request';\nexport * from './types';\nexport * from './mobiusSocketMapper';\nexport * from './constants';\nexport * from './wsFeatureFlag';\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,YAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAR,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAR,OAAA;AAAAC,YAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,mBAAA,GAAAT,OAAA;AAAAC,YAAA,CAAAQ,mBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,mBAAA,CAAAN,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,mBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,UAAA,GAAAV,OAAA;AAAAC,YAAA,CAAAS,UAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,UAAA,CAAAP,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,UAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,cAAA,GAAAX,OAAA;AAAAC,YAAA,CAAAU,cAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,cAAA,CAAAR,GAAA;EAAAE,sBAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAI,cAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.deriveMobiusSocketMessageType = deriveMobiusSocketMessageType;
|
|
9
|
+
exports.isSupplementaryServiceMessageType = void 0;
|
|
10
|
+
var _types = require("../../common/types");
|
|
11
|
+
var _Logger = _interopRequireDefault(require("../../Logger"));
|
|
12
|
+
var _constants = require("../constants");
|
|
13
|
+
var _constants2 = require("./constants");
|
|
14
|
+
/**
|
|
15
|
+
* Derives the Mobius Socket message type from the URI and HTTP method.
|
|
16
|
+
* Uses both the URI path pattern and the HTTP method to disambiguate operations
|
|
17
|
+
* that share the same endpoint (e.g., PATCH vs DELETE on calls/{callId}).
|
|
18
|
+
*
|
|
19
|
+
* @param uri - The request URI
|
|
20
|
+
* @param httpMethodType - The HTTP method used for the request
|
|
21
|
+
* @returns The socket message type based on the URI pattern and HTTP method
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* deriveMobiusSocketMessageType('/api/v1/calling/web/device', HTTP_METHODS.POST)
|
|
25
|
+
* // returns 'register'
|
|
26
|
+
*
|
|
27
|
+
* deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.PATCH)
|
|
28
|
+
* // returns 'call_state'
|
|
29
|
+
*
|
|
30
|
+
* deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.DELETE)
|
|
31
|
+
* // returns 'call_delete'
|
|
32
|
+
*/
|
|
33
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
34
|
+
function deriveMobiusSocketMessageType(uri, httpMethodType) {
|
|
35
|
+
var logContext = {
|
|
36
|
+
file: _constants.MOBIUS_SOCKET_MAPPER_FILE,
|
|
37
|
+
method: _constants.METHODS.DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE
|
|
38
|
+
};
|
|
39
|
+
if (!uri) {
|
|
40
|
+
_Logger.default.warn('Cannot derive Mobius socket message type: uri is empty', logContext);
|
|
41
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// --- Supplementary services: .../services/{service}/{action} ---
|
|
45
|
+
if (uri.includes('/services')) {
|
|
46
|
+
if (uri.includes('/callhold/hold')) {
|
|
47
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD;
|
|
48
|
+
}
|
|
49
|
+
if (uri.includes('/callhold/resume')) {
|
|
50
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME;
|
|
51
|
+
}
|
|
52
|
+
if (uri.includes('/calltransfer/commit')) {
|
|
53
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER;
|
|
54
|
+
}
|
|
55
|
+
_Logger.default.warn("Unrecognized supplementary service uri - uri: ".concat(uri, ", httpMethod: ").concat(httpMethodType), logContext);
|
|
56
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// --- Call sub-resource actions (checked before bare calls/{callId}) ---
|
|
60
|
+
|
|
61
|
+
// Call media: .../calls/{callId}/media
|
|
62
|
+
if (uri.includes('/calls/') && uri.includes('/media')) {
|
|
63
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Call status: .../calls/{callId}/status
|
|
67
|
+
if (uri.includes('/calls/') && uri.includes('/status')) {
|
|
68
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Call state or delete: .../calls/{callId} (PATCH → state, DELETE → delete)
|
|
72
|
+
if (uri.match(/\/calls\/[^/]+$/)) {
|
|
73
|
+
if (httpMethodType === _types.HTTP_METHODS.PATCH) {
|
|
74
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE;
|
|
75
|
+
}
|
|
76
|
+
if (httpMethodType === _types.HTTP_METHODS.DELETE) {
|
|
77
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE;
|
|
78
|
+
}
|
|
79
|
+
_Logger.default.warn("Unrecognized httpMethod for calls/{callId} - uri: ".concat(uri, ", httpMethod: ").concat(httpMethodType), logContext);
|
|
80
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Call setup: .../devices/{deviceId}/call (singular)
|
|
84
|
+
if (uri.endsWith('/call')) {
|
|
85
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// --- Device-level operations ---
|
|
89
|
+
|
|
90
|
+
// Device keepalive: .../devices/{deviceId}/status (no /calls/ in path)
|
|
91
|
+
if (!uri.includes('/calls/') && uri.endsWith('/status')) {
|
|
92
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Device registration: .../calling/web/device (singular)
|
|
96
|
+
if (uri.endsWith('/device')) {
|
|
97
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Device unregister or get: .../devices/{deviceId} (DELETE → unregister, GET → device_get)
|
|
101
|
+
if (uri.match(/\/devices\/[^/?]+$/) && !uri.includes('/calls')) {
|
|
102
|
+
if (httpMethodType === _types.HTTP_METHODS.DELETE) {
|
|
103
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER;
|
|
104
|
+
}
|
|
105
|
+
if (httpMethodType === _types.HTTP_METHODS.GET) {
|
|
106
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET;
|
|
107
|
+
}
|
|
108
|
+
_Logger.default.warn("Unrecognized httpMethod for devices/{deviceId} - uri: ".concat(uri, ", httpMethod: ").concat(httpMethodType), logContext);
|
|
109
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Device list: .../devices or .../devices?userid=...
|
|
113
|
+
if (uri.includes('/devices') && !uri.match(/\/devices\/[^/?]+/)) {
|
|
114
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST;
|
|
115
|
+
}
|
|
116
|
+
_Logger.default.warn("Unrecognized uri pattern for Mobius socket - uri: ".concat(uri, ", httpMethod: ").concat(httpMethodType), logContext);
|
|
117
|
+
return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;
|
|
118
|
+
}
|
|
119
|
+
var isSupplementaryServiceMessageType = exports.isSupplementaryServiceMessageType = function isSupplementaryServiceMessageType(type) {
|
|
120
|
+
return [_constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD, _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME, _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER].includes(type);
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=mobiusSocketMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","_Logger","_interopRequireDefault","_constants","_constants2","deriveMobiusSocketMessageType","uri","httpMethodType","logContext","file","MOBIUS_SOCKET_MAPPER_FILE","method","METHODS","DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE","log","warn","MOBIUS_SOCKET_MESSAGE_TYPE","UNKNOWN","includes","CALL_HOLD","CALL_RESUME","CALL_TRANSFER","concat","CALL_MEDIA","CALL_STATUS","match","HTTP_METHODS","PATCH","CALL_STATE","DELETE","CALL_DELETE","endsWith","CALL_SETUP","DEVICE_STATUS","REGISTER","UNREGISTER","GET","DEVICE_GET","DEVICE_LIST","isSupplementaryServiceMessageType","exports","type"],"sources":["mobiusSocketMapper.ts"],"sourcesContent":["import {HTTP_METHODS} from '../../common/types';\nimport log from '../../Logger';\nimport {METHODS, MOBIUS_SOCKET_MAPPER_FILE} from '../constants';\nimport {MOBIUS_SOCKET_MESSAGE_TYPE} from './constants';\n\n/**\n * Derives the Mobius Socket message type from the URI and HTTP method.\n * Uses both the URI path pattern and the HTTP method to disambiguate operations\n * that share the same endpoint (e.g., PATCH vs DELETE on calls/{callId}).\n *\n * @param uri - The request URI\n * @param httpMethodType - The HTTP method used for the request\n * @returns The socket message type based on the URI pattern and HTTP method\n *\n * @example\n * deriveMobiusSocketMessageType('/api/v1/calling/web/device', HTTP_METHODS.POST)\n * // returns 'register'\n *\n * deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.PATCH)\n * // returns 'call_state'\n *\n * deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.DELETE)\n * // returns 'call_delete'\n */\n// eslint-disable-next-line import/prefer-default-export\nexport function deriveMobiusSocketMessageType(\n uri?: string,\n httpMethodType?: HTTP_METHODS\n): MOBIUS_SOCKET_MESSAGE_TYPE {\n const logContext = {\n file: MOBIUS_SOCKET_MAPPER_FILE,\n method: METHODS.DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE,\n };\n\n if (!uri) {\n log.warn('Cannot derive Mobius socket message type: uri is empty', logContext);\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // --- Supplementary services: .../services/{service}/{action} ---\n if (uri.includes('/services')) {\n if (uri.includes('/callhold/hold')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD;\n }\n if (uri.includes('/callhold/resume')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME;\n }\n if (uri.includes('/calltransfer/commit')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER;\n }\n\n log.warn(\n `Unrecognized supplementary service uri - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // --- Call sub-resource actions (checked before bare calls/{callId}) ---\n\n // Call media: .../calls/{callId}/media\n if (uri.includes('/calls/') && uri.includes('/media')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA;\n }\n\n // Call status: .../calls/{callId}/status\n if (uri.includes('/calls/') && uri.includes('/status')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS;\n }\n\n // Call state or delete: .../calls/{callId} (PATCH → state, DELETE → delete)\n if (uri.match(/\\/calls\\/[^/]+$/)) {\n if (httpMethodType === HTTP_METHODS.PATCH) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE;\n }\n if (httpMethodType === HTTP_METHODS.DELETE) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE;\n }\n\n log.warn(\n `Unrecognized httpMethod for calls/{callId} - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // Call setup: .../devices/{deviceId}/call (singular)\n if (uri.endsWith('/call')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP;\n }\n\n // --- Device-level operations ---\n\n // Device keepalive: .../devices/{deviceId}/status (no /calls/ in path)\n if (!uri.includes('/calls/') && uri.endsWith('/status')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS;\n }\n\n // Device registration: .../calling/web/device (singular)\n if (uri.endsWith('/device')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER;\n }\n\n // Device unregister or get: .../devices/{deviceId} (DELETE → unregister, GET → device_get)\n if (uri.match(/\\/devices\\/[^/?]+$/) && !uri.includes('/calls')) {\n if (httpMethodType === HTTP_METHODS.DELETE) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER;\n }\n if (httpMethodType === HTTP_METHODS.GET) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET;\n }\n\n log.warn(\n `Unrecognized httpMethod for devices/{deviceId} - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // Device list: .../devices or .../devices?userid=...\n if (uri.includes('/devices') && !uri.match(/\\/devices\\/[^/?]+/)) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST;\n }\n\n log.warn(\n `Unrecognized uri pattern for Mobius socket - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n}\n\nexport const isSupplementaryServiceMessageType = (type: MOBIUS_SOCKET_MESSAGE_TYPE): boolean =>\n [\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD,\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME,\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER,\n ].includes(type);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
4
|
+
var _types = require("../../common/types");
|
|
5
|
+
var _Logger = _interopRequireDefault(require("../../Logger"));
|
|
6
|
+
var _mobiusSocketMapper = require("./mobiusSocketMapper");
|
|
7
|
+
var _constants = require("./constants");
|
|
8
|
+
describe('mobiusSocketMapper', function () {
|
|
9
|
+
var warnSpy;
|
|
10
|
+
beforeEach(function () {
|
|
11
|
+
jest.clearAllMocks();
|
|
12
|
+
warnSpy = jest.spyOn(_Logger.default, 'warn');
|
|
13
|
+
});
|
|
14
|
+
describe('deriveMobiusSocketMessageType', function () {
|
|
15
|
+
describe('Supplementary services', function () {
|
|
16
|
+
it('should return CALL_HOLD for hold service URI', function () {
|
|
17
|
+
var uri = '/api/v1/calling/web/devices/device-123/services/callhold/hold';
|
|
18
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
19
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);
|
|
20
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
21
|
+
});
|
|
22
|
+
it('should return CALL_RESUME for resume service URI', function () {
|
|
23
|
+
var uri = '/api/v1/calling/web/devices/device-123/services/callhold/resume';
|
|
24
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
25
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);
|
|
26
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
27
|
+
});
|
|
28
|
+
it('should return CALL_TRANSFER for transfer commit service URI', function () {
|
|
29
|
+
var uri = '/api/v1/calling/web/devices/device-123/services/calltransfer/commit';
|
|
30
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
31
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);
|
|
32
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
33
|
+
});
|
|
34
|
+
it('should return UNKNOWN and log warning for unrecognized supplementary service', function () {
|
|
35
|
+
var uri = '/api/v1/calling/web/devices/device-123/services/unknown/action';
|
|
36
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
37
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
38
|
+
expect(warnSpy).toHaveBeenCalledWith("Unrecognized supplementary service uri - uri: ".concat(uri, ", httpMethod: ").concat(_types.HTTP_METHODS.POST), {
|
|
39
|
+
file: 'mobiusSocketMapper',
|
|
40
|
+
method: 'deriveMobiusSocketMessageType'
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe('Call operations', function () {
|
|
45
|
+
it('should return CALL_SETUP for call setup URI', function () {
|
|
46
|
+
var uri = '/api/v1/calling/web/devices/device-123/call';
|
|
47
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
48
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);
|
|
49
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
50
|
+
});
|
|
51
|
+
it('should return CALL_MEDIA for call media URI', function () {
|
|
52
|
+
var uri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';
|
|
53
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
|
|
54
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA);
|
|
55
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
56
|
+
});
|
|
57
|
+
it('should return CALL_STATUS for call status URI', function () {
|
|
58
|
+
var uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';
|
|
59
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
|
|
60
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);
|
|
61
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
62
|
+
});
|
|
63
|
+
it('should return CALL_STATE for calls/{callId} with PATCH method', function () {
|
|
64
|
+
var uri = '/api/v1/calling/web/devices/device-123/calls/call-456';
|
|
65
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
|
|
66
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);
|
|
67
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
68
|
+
});
|
|
69
|
+
it('should return CALL_DELETE for calls/{callId} with DELETE method', function () {
|
|
70
|
+
var uri = '/api/v1/calling/web/devices/device-123/calls/call-456';
|
|
71
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.DELETE);
|
|
72
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);
|
|
73
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
74
|
+
});
|
|
75
|
+
it('should return UNKNOWN and log warning for calls/{callId} with unrecognized HTTP method', function () {
|
|
76
|
+
var uri = '/api/v1/calling/web/devices/device-123/calls/call-456';
|
|
77
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.GET);
|
|
78
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
79
|
+
expect(warnSpy).toHaveBeenCalledWith("Unrecognized httpMethod for calls/{callId} - uri: ".concat(uri, ", httpMethod: ").concat(_types.HTTP_METHODS.GET), {
|
|
80
|
+
file: 'mobiusSocketMapper',
|
|
81
|
+
method: 'deriveMobiusSocketMessageType'
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
describe('Device operations', function () {
|
|
86
|
+
it('should return REGISTER for device registration URI', function () {
|
|
87
|
+
var uri = '/api/v1/calling/web/device';
|
|
88
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
89
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);
|
|
90
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
91
|
+
});
|
|
92
|
+
it('should return UNREGISTER for devices/{deviceId} with DELETE method', function () {
|
|
93
|
+
var uri = '/api/v1/calling/web/devices/device-123';
|
|
94
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.DELETE);
|
|
95
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER);
|
|
96
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
97
|
+
});
|
|
98
|
+
it('should return DEVICE_GET for devices/{deviceId} with GET method', function () {
|
|
99
|
+
var uri = '/api/v1/calling/web/devices/device-123';
|
|
100
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.GET);
|
|
101
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET);
|
|
102
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
103
|
+
});
|
|
104
|
+
it('should return UNKNOWN and log warning for devices/{deviceId} with unrecognized HTTP method', function () {
|
|
105
|
+
var uri = '/api/v1/calling/web/devices/device-123';
|
|
106
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
|
|
107
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
108
|
+
expect(warnSpy).toHaveBeenCalledWith("Unrecognized httpMethod for devices/{deviceId} - uri: ".concat(uri, ", httpMethod: ").concat(_types.HTTP_METHODS.PATCH), {
|
|
109
|
+
file: 'mobiusSocketMapper',
|
|
110
|
+
method: 'deriveMobiusSocketMessageType'
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
it('should return DEVICE_STATUS for devices/{deviceId}/status URI', function () {
|
|
114
|
+
var uri = '/api/v1/calling/web/devices/device-123/status';
|
|
115
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
|
|
116
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
|
|
117
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
118
|
+
});
|
|
119
|
+
it('should return DEVICE_STATUS for /status URI without /devices/ segment in path', function () {
|
|
120
|
+
var uri = '/api/v1/calling/web/status';
|
|
121
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
122
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
|
|
123
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
124
|
+
});
|
|
125
|
+
it('should return DEVICE_LIST for devices list URI without trailing ID', function () {
|
|
126
|
+
var uri = '/api/v1/calling/web/devices';
|
|
127
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.GET);
|
|
128
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);
|
|
129
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
130
|
+
});
|
|
131
|
+
it('should return DEVICE_LIST for devices list URI with query parameters', function () {
|
|
132
|
+
var uri = '/api/v1/calling/web/devices?userid=user-789';
|
|
133
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.GET);
|
|
134
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);
|
|
135
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
describe('Edge cases', function () {
|
|
139
|
+
it('should return UNKNOWN and log warning when uri is undefined', function () {
|
|
140
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(undefined, _types.HTTP_METHODS.GET);
|
|
141
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
142
|
+
expect(warnSpy).toHaveBeenCalledWith('Cannot derive Mobius socket message type: uri is empty', {
|
|
143
|
+
file: 'mobiusSocketMapper',
|
|
144
|
+
method: 'deriveMobiusSocketMessageType'
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
it('should return UNKNOWN and log warning when uri is empty string', function () {
|
|
148
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)('', _types.HTTP_METHODS.GET);
|
|
149
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
150
|
+
expect(warnSpy).toHaveBeenCalledWith('Cannot derive Mobius socket message type: uri is empty', {
|
|
151
|
+
file: 'mobiusSocketMapper',
|
|
152
|
+
method: 'deriveMobiusSocketMessageType'
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
it('should return UNKNOWN and log warning for completely unrecognized URI pattern', function () {
|
|
156
|
+
var uri = '/api/v1/completely/unrecognized/path';
|
|
157
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
|
|
158
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
159
|
+
expect(warnSpy).toHaveBeenCalledWith("Unrecognized uri pattern for Mobius socket - uri: ".concat(uri, ", httpMethod: ").concat(_types.HTTP_METHODS.POST), {
|
|
160
|
+
file: 'mobiusSocketMapper',
|
|
161
|
+
method: 'deriveMobiusSocketMessageType'
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
it('should never return DEVICE_STATUS when /calls/ is present in path ending with /status', function () {
|
|
165
|
+
// The DEVICE_STATUS check explicitly excludes URIs containing /calls/. Any
|
|
166
|
+
// call-scoped /status URI must resolve to CALL_STATUS via the earlier branch,
|
|
167
|
+
// and must never fall through to DEVICE_STATUS even if check ordering changes.
|
|
168
|
+
var uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';
|
|
169
|
+
var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
|
|
170
|
+
expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);
|
|
171
|
+
expect(result).not.toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
|
|
172
|
+
expect(warnSpy).not.toHaveBeenCalled();
|
|
173
|
+
});
|
|
174
|
+
it('should prioritize call sub-resources over bare call patterns', function () {
|
|
175
|
+
var mediaUri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';
|
|
176
|
+
var statusUri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';
|
|
177
|
+
expect((0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(mediaUri, _types.HTTP_METHODS.PATCH)).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA);
|
|
178
|
+
expect((0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(statusUri, _types.HTTP_METHODS.PATCH)).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
describe('isSupplementaryServiceMessageType', function () {
|
|
183
|
+
it('should return true for CALL_HOLD message type', function () {
|
|
184
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);
|
|
185
|
+
expect(result).toBe(true);
|
|
186
|
+
});
|
|
187
|
+
it('should return true for CALL_RESUME message type', function () {
|
|
188
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);
|
|
189
|
+
expect(result).toBe(true);
|
|
190
|
+
});
|
|
191
|
+
it('should return true for CALL_TRANSFER message type', function () {
|
|
192
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);
|
|
193
|
+
expect(result).toBe(true);
|
|
194
|
+
});
|
|
195
|
+
it('should return false for REGISTER message type', function () {
|
|
196
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);
|
|
197
|
+
expect(result).toBe(false);
|
|
198
|
+
});
|
|
199
|
+
it('should return false for CALL_SETUP message type', function () {
|
|
200
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);
|
|
201
|
+
expect(result).toBe(false);
|
|
202
|
+
});
|
|
203
|
+
it('should return false for CALL_STATE message type', function () {
|
|
204
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);
|
|
205
|
+
expect(result).toBe(false);
|
|
206
|
+
});
|
|
207
|
+
it('should return false for CALL_DELETE message type', function () {
|
|
208
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);
|
|
209
|
+
expect(result).toBe(false);
|
|
210
|
+
});
|
|
211
|
+
it('should return false for DEVICE_STATUS message type', function () {
|
|
212
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
|
|
213
|
+
expect(result).toBe(false);
|
|
214
|
+
});
|
|
215
|
+
it('should return false for UNKNOWN message type', function () {
|
|
216
|
+
var result = (0, _mobiusSocketMapper.isSupplementaryServiceMessageType)(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);
|
|
217
|
+
expect(result).toBe(false);
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
//# sourceMappingURL=mobiusSocketMapper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","_Logger","_interopRequireDefault","_mobiusSocketMapper","_constants","describe","warnSpy","beforeEach","jest","clearAllMocks","spyOn","log","it","uri","result","deriveMobiusSocketMessageType","HTTP_METHODS","POST","expect","toBe","MOBIUS_SOCKET_MESSAGE_TYPE","CALL_HOLD","not","toHaveBeenCalled","CALL_RESUME","CALL_TRANSFER","UNKNOWN","toHaveBeenCalledWith","concat","file","method","CALL_SETUP","PATCH","CALL_MEDIA","CALL_STATUS","CALL_STATE","DELETE","CALL_DELETE","GET","REGISTER","UNREGISTER","DEVICE_GET","DEVICE_STATUS","DEVICE_LIST","undefined","mediaUri","statusUri","isSupplementaryServiceMessageType"],"sources":["mobiusSocketMapper.test.ts"],"sourcesContent":["import {HTTP_METHODS} from '../../common/types';\nimport log from '../../Logger';\nimport {\n deriveMobiusSocketMessageType,\n isSupplementaryServiceMessageType,\n} from './mobiusSocketMapper';\nimport {MOBIUS_SOCKET_MESSAGE_TYPE} from './constants';\n\ndescribe('mobiusSocketMapper', () => {\n let warnSpy: jest.SpyInstance;\n\n beforeEach(() => {\n jest.clearAllMocks();\n warnSpy = jest.spyOn(log, 'warn');\n });\n\n describe('deriveMobiusSocketMessageType', () => {\n describe('Supplementary services', () => {\n it('should return CALL_HOLD for hold service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/callhold/hold';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_RESUME for resume service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/callhold/resume';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_TRANSFER for transfer commit service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/calltransfer/commit';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for unrecognized supplementary service', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/unknown/action';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized supplementary service uri - uri: ${uri}, httpMethod: ${HTTP_METHODS.POST}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n });\n\n describe('Call operations', () => {\n it('should return CALL_SETUP for call setup URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/call';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_MEDIA for call media URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_STATUS for call status URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_STATE for calls/{callId} with PATCH method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_DELETE for calls/{callId} with DELETE method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.DELETE);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for calls/{callId} with unrecognized HTTP method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized httpMethod for calls/{callId} - uri: ${uri}, httpMethod: ${HTTP_METHODS.GET}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n });\n\n describe('Device operations', () => {\n it('should return REGISTER for device registration URI', () => {\n const uri = '/api/v1/calling/web/device';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNREGISTER for devices/{deviceId} with DELETE method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.DELETE);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_GET for devices/{deviceId} with GET method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for devices/{deviceId} with unrecognized HTTP method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized httpMethod for devices/{deviceId} - uri: ${uri}, httpMethod: ${HTTP_METHODS.PATCH}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return DEVICE_STATUS for devices/{deviceId}/status URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_STATUS for /status URI without /devices/ segment in path', () => {\n const uri = '/api/v1/calling/web/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_LIST for devices list URI without trailing ID', () => {\n const uri = '/api/v1/calling/web/devices';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_LIST for devices list URI with query parameters', () => {\n const uri = '/api/v1/calling/web/devices?userid=user-789';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('Edge cases', () => {\n it('should return UNKNOWN and log warning when uri is undefined', () => {\n const result = deriveMobiusSocketMessageType(undefined, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n 'Cannot derive Mobius socket message type: uri is empty',\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return UNKNOWN and log warning when uri is empty string', () => {\n const result = deriveMobiusSocketMessageType('', HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n 'Cannot derive Mobius socket message type: uri is empty',\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return UNKNOWN and log warning for completely unrecognized URI pattern', () => {\n const uri = '/api/v1/completely/unrecognized/path';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized uri pattern for Mobius socket - uri: ${uri}, httpMethod: ${HTTP_METHODS.POST}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should never return DEVICE_STATUS when /calls/ is present in path ending with /status', () => {\n // The DEVICE_STATUS check explicitly excludes URIs containing /calls/. Any\n // call-scoped /status URI must resolve to CALL_STATUS via the earlier branch,\n // and must never fall through to DEVICE_STATUS even if check ordering changes.\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);\n expect(result).not.toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should prioritize call sub-resources over bare call patterns', () => {\n const mediaUri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';\n const statusUri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n\n expect(deriveMobiusSocketMessageType(mediaUri, HTTP_METHODS.PATCH)).toBe(\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA\n );\n expect(deriveMobiusSocketMessageType(statusUri, HTTP_METHODS.PATCH)).toBe(\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS\n );\n });\n });\n });\n\n describe('isSupplementaryServiceMessageType', () => {\n it('should return true for CALL_HOLD message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);\n\n expect(result).toBe(true);\n });\n\n it('should return true for CALL_RESUME message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);\n\n expect(result).toBe(true);\n });\n\n it('should return true for CALL_TRANSFER message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);\n\n expect(result).toBe(true);\n });\n\n it('should return false for REGISTER message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_SETUP message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_STATE message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_DELETE message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);\n\n expect(result).toBe(false);\n });\n\n it('should return false for DEVICE_STATUS message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n\n expect(result).toBe(false);\n });\n\n it('should return false for UNKNOWN message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n\n expect(result).toBe(false);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|