UNPKG

podchat

Version:
159 lines (147 loc) 4.58 kB
import {chatEvents} from "../events.module"; const errorList = { INVALID_CALLID: { code: 12000, message:"[SDK] Call not started or invalid callId" }, SOCKET_NOT_CONNECTED: { code: 12002, message:"[SDK] Async is not connected" }, SOCKET_CONNECTION_FAILED: { code: 12003, message:"[SDK] Async socket connection failed" }, CALL_NO_ANSWER_TIMEOUT: {message: "Call request timed out, Participant(s) didn't answer"}, CALL_STARTED_ELSEWHERE: {message: 'Call already started somewhere else..., aborting...'}, INVALID_APP_ID: { code: 12005, message:"[SDK] AppId is not valid. it should be a string with maximum of 30 characters" }, INVALID_USER_OBJECT: { code: 12006, message: `[SDK] userObject is not valid. example of valid userObject is: { "id": 1111, (required) (number) "coreUserId": 1111, (optional) (number) "username": "xxx", (required) (string) "name": "xxx", (optional) (string) "email": "xx@xx.xx", (optional) (string) "cellphoneNumber": "09111111111", (optional) "image": "" (optional) } ` }, PARAMETER_REQUIRED: { code: 12007, message: "[SDK] Parameter {parameterName} value is not valid.", variables: ['{parameterName}'] }, /** * 12350-12399 */ INVITEES_LIST_REQUIRED: { code: 12350, message: "Invitees list is required" }, /** * 12400-12499 Media devices */ VIDEO_PERMISSION_ERROR: { code: 12400, message: "Could not grant video input permission" }, AUDIO_PERMISSION_ERROR: { code: 12401, message: "Could not grant audio input permission" }, AUDIO_OUT_PERMISSION_ERROR: { code: 12402, message: "Could not grant audio out permission" }, MEDIA_DEVICES_NOT_SUPPORTED: { code: 12403, message: "Current environment does not supports user media devices" }, SCREENSHARE_PERMISSION_ERROR: { code: 12404, message: "Could not grant screen share permission" }, NO_AUDIO_TRACKS_AVAILABLE: { code: 12405, message: "Audio stream has no tracks" }, AUDIO_TRACK_MUTED: { code: 12406, message: "Audio track is muted and is not useful anymore, request the permission again" }, AUDIO_TRACK_ENDED: { code: 12407, message: "Audio track is ended and is not useful anymore, request the permission again" }, AUDIO_TRACK_DISABLED: { code: 12408, message: "Audio track is disabled, enable it to be able to send voice" }, /** * 12550-12570 ScreenShare */ SCREENSHARE_NOT_STARTED: { code: 12550, message: "ScreenShare not started " }, NOT_SCREENSHARE_OWNER: { code: 12551, message: "You are not ScreenShare owner" }, SCREENSHARE_ALREADY_STARTED: { code: 12552, message: "ScreenShare already started " }, /** * 12700-12720 Call stickers */ INVALID_STICKER_NAME: { code: 12700, message: "[SDK] Invalid sticker name. Use SDK.callStickerTypes" }, }; function ErrorHandler(app) { function handleError(error) { let item = Object.values(errorList).filter(item => item.code == error); if (!item.length) return {}; return item[0]; } function getFilledErrorObject(errorObject) { for (let i in errorObject.variables) { errorObject.message = errorObject.message.replace(errorObject.variables[i], errorObject.replacements[i]) } return errorObject; } function raiseError(errorObject, callback, fireEvent = false, { eventName = 'error', eventType = null, environmentDetails = null }) { callback && callback({ hasError: true, errorCode: errorObject.code, errorMessage: errorObject.message }); fireEvent && app.chatEvents.fireEvent(eventName, { type: eventType, code: errorObject.code, message: errorObject.message, environmentDetails }); return {hasError: true, ...errorObject}; } return { handleError, raiseError, getFilledErrorObject } } export default ErrorHandler export {errorList}