UNPKG

livstream-player

Version:

A lightweight livestream player SDK for React apps

1,267 lines 51.3 kB
import io from 'socket.io-client'; import * as ACTION from '@constants/action.types'; import * as SERVICE from '@constants/service.types'; import { KEY_EVENT, NOTIFIES } from '@constants/system.keys'; import * as ACTIONS from './actions'; import { socketEmitEvent } from './actions'; import { EDEVICETYPE } from '@constants'; let dataEncryptToken; export const resetDataToken = () => { dataEncryptToken = null; }; const socketMiddleware = (url) => { return (storeAPI) => { let socket = io.connect(url); socket.on('connect', () => { let dataObj = { appServiceType: SERVICE.GET_SLAVE_SERVER, requestId: new Date().getTime(), body: JSON.stringify({}), }; storeAPI.dispatch(ACTIONS.socketEmitEvent(dataObj)); storeAPI.dispatch(ACTIONS.updateSocketState(1)); return; }); socket.on('disconnect', () => { console.log('disconnect socket'); storeAPI.dispatch(ACTIONS.updateSocketState(-1)); return; }); socket.on('reconnect', () => { console.log('reconnect socket'); storeAPI.dispatch(ACTIONS.updateSocketState(1)); window.location.reload(); return; }); socket.on(KEY_EVENT, (res) => { console.log("ON: KEY_EVENT"); if (Object.keys(JSON.parse(res)).length > 0) { console.log('🚀 ~ socket.on: KEY_EVENT ~ res:', JSON.parse(res)); } // console.log('ON:', JSON.parse(res)); // if (JSON.parse(res).result === -101) { // console.log('SESSION_EXPIRED: ', JSON.parse(res)); // resetDataToken(); // return; // } // if (JSON.parse(res).result === -99) { // ACTIONS.openMessage(NOTIFIES.WARNING, 'Do not permission'); // return; // } storeAPI.dispatch(socketOnEvent(res)); return; }); return (next) => (action) => { var _a, _b; console.log('🚀 ~ return ~ action:', action); if (action.type === ACTION.SOCKET_EMIT) { let dataBody; if (dataEncryptToken && ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.body) && ((_b = action.payload) === null || _b === void 0 ? void 0 : _b.appServiceType) !== SERVICE.AUTHENTICATION) { dataBody = Object.assign(Object.assign({}, action.payload), { body: {}, checksum: null }); } else { dataBody = action.payload; } console.log('EMIT:', dataBody, dataEncryptToken); socket.emit(KEY_EVENT, dataBody); return; } return next(action); }; }; }; export default socketMiddleware; const socketOnEvent = (response) => (dispatch) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j; const dataRes = JSON.parse(response); let res; if ((dataRes === null || dataRes === void 0 ? void 0 : dataRes.appServiceType) === SERVICE.AUTHENTICATION && dataRes.data && (dataRes === null || dataRes === void 0 ? void 0 : dataRes.isEncrypt) === 1) { if (dataRes.result === 1 || dataRes.result === 3) { const dataCRC = data_render.str(decrypt(dataRes.data)) >>> 0; if (dataCRC === (dataRes === null || dataRes === void 0 ? void 0 : dataRes.checksum)) { res = Object.assign(Object.assign({}, dataRes), { data: decrypt(dataRes.data) }); } else { res = {}; } } else { res = dataRes; } } else if ((dataRes === null || dataRes === void 0 ? void 0 : dataRes.isEncrypt) === 1 && dataRes.data) { const dataDecrypt = decryptDynamic(dataRes.data, `beex${dataEncryptToken}`); const dataCRC = data_render.str(dataDecrypt) >>> 0; if (dataCRC === (dataRes === null || dataRes === void 0 ? void 0 : dataRes.checksum)) { res = Object.assign(Object.assign({}, dataRes), { data: dataDecrypt }); } else { res = {}; } } else { res = dataRes; } switch (res.appServiceType) { case SERVICE.GET_SLAVE_SERVER: { return; } case SERVICE.AUTHENTICATION: { if (res.result === 1 || res.result === 3) { dataEncryptToken = (_a = JSON.parse(res.data)) === null || _a === void 0 ? void 0 : _a.encryptToken; dispatch(ACTIONS.authReturnToken(JSON.parse(res.data))); } else if (res.result === -1 || res.result === -5 || res.result === -6 || res.result === -7) { dispatch(ACTIONS.authInvalidReturn({ requestId: res.requestId, result: res.result, message: res.message, })); resetDataToken(); } else { resetDataToken(); dispatch(ACTIONS.authLoginReturn(res)); } return; } case SERVICE.GET_DEVICE_INFO_EXTRA: { // console.log('GET_DEVICE_INFO_EXTRA', res); if (res.result === -100) { ACTIONS.openMessage(NOTIFIES.ERROR, res.message); } else if (res.result === 1) { console.log('Data=====>', JSON.parse(res.data)); dispatch(ACTIONS.getDeviceInfoExtraReturn(JSON.parse(res.data))); } return; } case SERVICE.GATEWAY_UPDATE_INFO: { if (res.result === 1) { dispatch(ACTIONS.gatewayUpdateInfoReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_DEVICE_AND_SHARE: { if (res.result === 1) { dispatch(ACTIONS.listDeviceAndShareExtendReturn(Object.assign(Object.assign({}, JSON.parse(res.data)), { key: res.requestId }))); } return; } case SERVICE.LIST_CAMERA_STORAGE_FILE: { if (res.result === 1) { dispatch(ACTIONS.listCameraStorageReturn(JSON.parse(res.data))); } return; } case SERVICE.GENERATE_LINK_STORAGE_FILE: { if (res.result === 1) { dispatch(ACTIONS.generateLinkStorageFileReturn(JSON.parse(res.data))); } return; } case SERVICE.SEARCH_CONTACT: { if (res.result === 1) { dispatch(ACTIONS.listSearchContactReturn(JSON.parse(res.data))); } return; } case SERVICE.REQUIRE_ACTIVE_DEVICE: { dispatch(ACTIONS.requireActiveDeviceReturn(res)); return; } case SERVICE.CHECK_EXTERNAL_DEVICE: { dispatch(ACTIONS.checkExternalDeviceReturn(res)); return; } case SERVICE.ADD_DEVICE: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); } dispatch(ACTIONS.requireAddDeviceReturn(res)); return; } case SERVICE.LIST_STATE_DEVICES: { if (res.result === 1) { if (res.requestId === 1646116091999) { dispatch(ACTIONS.devicesMapReturn(JSON.parse(res.data))); } else { let devices = JSON.parse(res.data); const gateways = devices.filter((device) => device.deviceType === 'gateway'); const cameras = devices.filter((device) => device.deviceType === 'camera'); if (gateways.length > 0) { dispatch(ACTIONS.getStateGatewaysReturn({ requestId: res.requestId, data: JSON.parse(res.data), })); } else { if (cameras.length > 0) { dispatch(ACTIONS.getStateCamerasReturn({ requestId: res.requestId, data: JSON.parse(res.data), })); } } } return; } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.DEVICE_CHANGE_STATE: { if (res.result === 1) { const deviceChangeState = JSON.parse(res.data); const deviceType = deviceChangeState.device.deviceType; dispatch(ACTIONS.deviceChangeStateReturn(deviceChangeState)); // Update notify on maps if (deviceType === 'gateway' || deviceType === 'camera') { dispatch(ACTIONS.updateNotificationDeviceOnMaps(deviceChangeState)); // Call update state devices on maps const reqTime = new Date().getTime(); let data = { deviceType: JSON.parse(res.data).device.deviceType, timeRequest: reqTime, namespace: localStorage.getItem('namespace'), }; let dataObj = { appServiceType: SERVICE.STATISTIC_DEVICE_STATUS, requestId: reqTime, body: JSON.stringify(data), }; dispatch(socketEmitEvent(dataObj)); } } return; } case SERVICE.UPDATE_DEVICE: { if (res.data) { dispatch(ACTIONS.updateDeviceReturn({ isSuccess: res.result === 1, serial: JSON.parse(res.data).serial, requestId: res.requestId, data: JSON.parse(res.data), })); if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, `Update device ${(_c = (_b = JSON.parse(res.data)) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : ''} successful!`); } } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.UPDATE_CAMERA_INFO: { if (res.data) { if (res.result === 1) { dispatch(ACTIONS.cameraUpdateInfoReturn({ dataUpdateCamera: JSON.parse(res.data), requestId: res.requestId, })); } } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.REMOVE_DEVICE: { if (res.result === 1) { return dispatch(ACTIONS.removeDeviceReturn(JSON.parse(res.data).serial)); } else { ACTIONS.openMessage(NOTIFIES.ERROR, res.message); return; } } case SERVICE.SEARCH_DEVICE_BY_NAME: { if (res.result === 1) { dispatch(ACTIONS.searchDeviceByNameReturn(JSON.parse(res.data).devices)); } return; } case SERVICE.LIST_ALL_DEVICE_BY_PAGE: { if (res.result === 1) { if (JSON.parse(res.data).deviceType === 'camera') { if (JSON.parse(res.data).tag === 'select_device') { dispatch(ACTIONS.getListCameraSelect(JSON.parse(res.data))); } else { dispatch(ACTIONS.getListCameraByPageReturn(JSON.parse(res.data))); } } else if (JSON.parse(res.data).deviceType === 'gateway') { dispatch(ACTIONS.getListGatewayByPageReturn(JSON.parse(res.data))); } else if (JSON.parse(res.data).deviceType === EDEVICETYPE.GPS) { dispatch(ACTIONS.getListGpsLocation(JSON.parse(res.data).devices)); } else if (JSON.parse(res.data).deviceType === EDEVICETYPE.SPEAKER) { dispatch(ACTIONS.getListSpeakerSip(JSON.parse(res.data).devices)); } } else { if (res.message !== 'Unknown') { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } return; } case SERVICE.LIST_DEVICE_BY_TAGS: { if (res.result === 1) { if (JSON.parse(res.data).deviceType === 'camera') { if (JSON.parse(res.data).tag === 'select_device') { dispatch(ACTIONS.getListCameraSelect(JSON.parse(res.data))); } else { dispatch(ACTIONS.getListCameraByPageReturn(JSON.parse(res.data))); } } else if (JSON.parse(res.data).deviceType === 'gateway') { dispatch(ACTIONS.getListGatewayByPageReturn(JSON.parse(res.data))); } } else { if (res.message !== 'Unknown') { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } return; } case SERVICE.STATISTIC_DEVICE: { if (res.result === 1) { if (JSON.parse(res.data).deviceType === 'camera') { dispatch(ACTIONS.getListCameraByPageReturn(JSON.parse(res.data))); } else if (JSON.parse(res.data).deviceType === 'gateway') { dispatch(ACTIONS.getListGatewayByPageReturn(JSON.parse(res.data))); } } else { if (res.message !== 'Unknown') { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } return; } case SERVICE.LIST_USER_SHARE_DEVICE: { if (res.result === 1) { dispatch(ACTIONS.getListUserShareDeviceReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_GROUP_ACCOUNT_BY_DEVICE_GROUP_BY_PAGE: { if (res.result === 1) { dispatch(ACTIONS.getListAccountByDeviceGroupReturn(JSON.parse(res.data))); } return; } case SERVICE.SHARE_PERMISSION_USER: { dispatch(ACTIONS.sharePermissionUserReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); return; } case SERVICE.UN_SHARE_PERMISSION_USER: { if (res.result === 1) { return dispatch(ACTIONS.unSharePermissionUserReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.SCAN_NEW_CAMERA: { if (res.result === 1) { dispatch(ACTIONS.scanStreamReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } else { ACTIONS.openMessage(NOTIFIES.INFO, res.message); } return; } case SERVICE.REQUEST_CHECK_STREAM: { return dispatch(ACTIONS.checkStreamReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.CHECK_RTSP_STREAM: { return dispatch(ACTIONS.checkRtspStreamReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.REQUEST_ADD_EXTERNAL_DEVICE: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); dispatch(ACTIONS.addExternalDeviceReturn(JSON.parse(res.data))); } else { ACTIONS.openMessage(NOTIFIES.ERROR, res.message); } return; } case SERVICE.ROTATE_VIEW_CAMERA: { console.log('ROTATE_VIEW_CAMERA', res); return; } case SERVICE.ZOOM_VIEW_CAMERA: { console.log('ZOOM_VIEW_CAMERA', res); return; } // STREAMING case SERVICE.CREATE_STREAM: { if (res.result === 1) { dispatch(ACTIONS.getCreateStreamReturn(JSON.parse(res.data))); } else { dispatch(ACTIONS.reConnectStreamReturn({ requestId: res.requestId, serial: JSON.parse(res.data).serial, })); ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.CREATE_RTSP_STREAM: { if (res.result === 1) { dispatch(ACTIONS.getCreateStreamReturn(JSON.parse(res.data))); } else { dispatch(ACTIONS.reConnectStreamReturn({ requestId: res.requestId, serial: JSON.parse(res.data).serial, })); ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.START_STREAM_MONITOR: { if (res.result === 1) { dispatch(ACTIONS.getStartStreamMonitorReturn(JSON.parse(res.data))); } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.WATCH_STREAM: { if (res.result === 1) { dispatch(ACTIONS.getWatchStreamReturn(JSON.parse(res.data))); } return; } case SERVICE.START_STREAM: { if (res.result === 1 && res.message === 'ok') { const { state, streamId } = JSON.parse(res.data); if ((state === 'started' || state === 'starting') && streamId) { dispatch(ACTIONS.getStartStreamReturn({ streamId, started: true })); } } return; } case SERVICE.UPDATE_STREAM: { // console.log('UPDATE_STREAM', res); return; } case SERVICE.ZOOM_STATE_STREAM: { // console.log('ZOOM_STATE_STREAM', res); return; } case SERVICE.STOP_STREAM: { // console.log('STOP_STREAM', res); return; } case SERVICE.UPDATE_STREAM_INFO: { // console.log('UPDATE_STREAM_INFO', res); if (res.result === 1) { dispatch(ACTIONS.updateStreamInfoReturn(JSON.parse(res.data))); } return; } // STREAMING // USER PROFILE case SERVICE.GET_USER_INFO: { if (res.result === 1) { dispatch(ACTIONS.getUserInfoReturn(JSON.parse(res.data))); } return; } case SERVICE.UPDATE_USER_INFO: { if (res.result === 1) { dispatch(ACTIONS.getUserInfoReturn(JSON.parse(res.data))); ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message ? res.message : 'Cập nhật tài khoản thành công!'); } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message ? res.message : 'Cập nhật tài khoản thất bại!'); } return; } // USER PROFILE // NOTIFICATION case SERVICE.LIST_NOTIFICATION: { if (res.result === 1) { dispatch(ACTIONS.getListNotificationReturn(JSON.parse(res.data))); } return; } case SERVICE.UPDATE_NOTIFICATION: { if (res.result === 1) { dispatch(ACTIONS.updateNotificationStatus(JSON.parse(res.data))); } return; } case SERVICE.MARK_READ_NOTIFICATION: { if (res.result === 1) { dispatch(ACTIONS.markReadNotification(res)); } return; } case SERVICE.NEW_NOTIFICATION: { if (res.result === 1 && res.data) { dispatch(ACTIONS.getNewNotificationReturn(JSON.parse(res.data))); } return; } case SERVICE.FILTER_NOTIFICATION: { if (res.result === 1) { dispatch(ACTIONS.getFilterNotificationReturn(JSON.parse(res.data))); } return; } // NOTIFICATION // SERVICE case SERVICE.LIST_SERVICE: { if (res.result === 1) { dispatch(ACTIONS.getListServiceReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_SERVICE_BY_DEVICE_SERIAL: { if (res.result === 1) { dispatch(ACTIONS.getListServicebyDeviceSerialReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_DEVICE_BY_SERVICE_ID: { if (res.result === 1) { dispatch(ACTIONS.getListDeviceByServiceIdReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_TARGET_BY_SERVICE_ID: { if (res.result === 1) { dispatch(ACTIONS.getListTargetByServiceIdReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_DEVICE_ACTIVE_SERVICE_ID: { if (res.result === 1) { dispatch(ACTIONS.getListDeviceActiveByServiceIdReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_TARGET_ACTIVE_BY_SERVICE_ID: { if (res.result === 1) { dispatch(ACTIONS.getListTargetActiveByServiceIdReturn(JSON.parse(res.data))); } return; } case SERVICE.ACTIVE_LICENSE_SERVICE: { switch (res.result) { case 1: ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message ? res.message : 'Kích hoạt license thành công!'); break; case -11: ACTIONS.openMessage(NOTIFIES.WARNING, res.message ? res.message : 'License không hợp lệ!'); break; case -14: ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message ? res.message : 'License đã hết hạn!'); break; default: ACTIONS.openMessage(NOTIFIES.WARNING, res.message ? res.message : 'Kích hoạt license thất bại!'); break; } return dispatch(ACTIONS.activeLicenseServiceReturn(res)); } case SERVICE.CANCEL_SERVICE: { switch (res.result) { case 1: ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message ? res.message : 'Huỷ kích hoạt thành công!'); break; default: ACTIONS.openMessage(NOTIFIES.WARNING, res.message ? res.message : ' Huỷ kích hoạt thất bại!'); break; } return dispatch(ACTIONS.cancelLicenseServiceReturn(JSON.parse(res.data))); } case SERVICE.GET_LICENSE_INFO_SERVICE: { return dispatch(ACTIONS.getLicenseInfoServiceReturn(res)); } // SERVICE // SYSTEM case SERVICE.LIST_NAMESPACE_BY_ACCOUNT: { if (res.result === 1) { return dispatch(ACTIONS.getListNamespaceReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_ACTION_LOG_BY_NAMESPACE: { if (res.result === 1) { return dispatch(ACTIONS.getActionLogByNamespaceReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_ACTION_LOG_BY_PHONENUMBER: { if (res.result === 1) { return dispatch(ACTIONS.getActionLogByNamespaceReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_ACCOUNT_BY_NAMESPACE: { if (res.result === 1) { return dispatch(ACTIONS.getListAccountByNamespaceReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_ACCOUNT_BY_NAMESPACE_BY_PAGE: { if (res.result === 1) { return dispatch(ACTIONS.getListAccountByNamespaceByPageReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DETAIL_ROLE_OF_CUSTOMER: { if (res.result === 1) { return dispatch(ACTIONS.getListDetailRoleOfCustomerReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_WHITE_LIST_IP_BY_NAMESPACE: { if (res.result === 1) { return dispatch(ACTIONS.getWhiteListIpReturn(JSON.parse(res.data).whiteLists)); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.ADD_WHITE_LIST_IP: { return dispatch(ACTIONS.createWhitelistIpReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.DELETE_WHITE_LIST_IP: { return dispatch(ACTIONS.deleteWhitelistIpReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.ADD_MEMBER: { return dispatch(ACTIONS.addMemberToNamespaceReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.UPDATE_MEMBER: { return dispatch(ACTIONS.updateMemberToNamespaceReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.RESET_USER_PASSWORD: { return dispatch(ACTIONS.updatePasswordMemberToNamespaceReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.REMOVE_MEMBER: { if (res.result === 1) { dispatch(ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message ? res.message : 'Xoá thành viên thành công!')); return dispatch(ACTIONS.removeMemberToNamespaceReturn(JSON.parse(res.data))); } return dispatch(ACTIONS.openMessage(NOTIFIES.WARNING, res.message ? res.message : 'Xoá thành viên thất bại!')); } case SERVICE.RESET_TOKEN: { if (res.result === 1) { return dispatch(ACTIONS.onResetTokenReturn({ requestId: res.requestId, token: JSON.parse(res.data).accessToken, })); } return; } case SERVICE.GENERATE_API_ACCESS_TOKEN: { if (res.result === 1) { return dispatch(ACTIONS.onRenewTokenReturn({ requestId: res.requestId, apiToken: JSON.parse(res.data).apiAccessToken, })); } return; } case SERVICE.SUMMARY_CAMERA: { return dispatch(ACTIONS.getSumaryCamera({ requestId: res.requestId, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.LIST_DEVICE_GROUP: { if (res.result === 1) { return dispatch(ACTIONS.getListDeviceGroup(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.GET_DEVICE_GROUP_BY_ID: { console.log('325=>>>>>>>>>>>>>>>', JSON.parse(res.data)); const data = JSON.parse(res.data); const serials = (_e = (_d = data === null || data === void 0 ? void 0 : data.deviceGroup) === null || _d === void 0 ? void 0 : _d.devices) === null || _e === void 0 ? void 0 : _e.map((item) => item.serial); dispatch(ACTIONS.setCameraSerials(serials)); if (res.result === 1) { return dispatch(ACTIONS.getDeviceGroupById({ requestId: res.requestId, deviceGroup: JSON.parse(res.data).deviceGroup, totalDevicesGroup: JSON.parse(res.data).total, })); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DEVICE_GROUP_BY_PARENT_DEVICE_GROUP: { if (res.result === 1) { return dispatch(ACTIONS.getListDeviceGroupByParentDeviceGroupSuccess({ data: JSON.parse(res.data).deviceGroups, })); } else { dispatch(ACTIONS.getListDeviceGroupByParentDeviceGroupFail()); return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DEVICE_GROUP_BY_PAGE: { if (res.result === 1) { return dispatch(ACTIONS.getListDeviceGroupByPage(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DEVICE_GROUP_BY_PAGE_V2: { if (res.result === 1) { return dispatch(ACTIONS.getListDeviceGroupByPage(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DEVICE_BY_DEVICE_GROUP_ID: { if (res.result === 1) { return dispatch(ACTIONS.getListDeviceByDeviceGroupId(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.ADD_DEVICE_GROUP: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, 'Create success'); return dispatch(ACTIONS.addDeviceGroup(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.UPDATE_DEVICE_GROUP: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, 'Update success'); return dispatch(ACTIONS.updateDeviceGroup(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.DELETE_DEVICE_GROUP: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, 'Delete success'); return dispatch(ACTIONS.deleteDeviceGroup(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_LICENSE_BY_NAMESPACE: { if (res.result === 1) { return dispatch(ACTIONS.getListLicenseByNamespace(JSON.parse(res.data))); } return; } case SERVICE.LIST_CAMERA_STORAGE_FILE_DATE: { if (res.result === 1) { return dispatch(ACTIONS.getListCameraDate(JSON.parse(res.data))); } return; } case SERVICE.LIST_WHITE_LIST_DEVICE_BY_NAMESPACE: { if (res.result === 1) { return dispatch(ACTIONS.getWhiteListDeviceReturn(JSON.parse(res.data).whiteLists)); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.ADD_WHITE_LIST_DEVICE: { return dispatch(ACTIONS.createWhitelistDeviceReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.DELETE_WHITE_LIST_DEVICE: { return dispatch(ACTIONS.deleteWhitelistDeviceReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.LIST_GROUP_MEMBER: { if (res.result === 1) { return dispatch(ACTIONS.getGroupMemberReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.ADD_GROUP_MEMBER: { if (res.result === 1) { return dispatch(ACTIONS.addGroupMemberReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.UPDATE_GROUP_MEMBER: { if (res.result === 1) { return dispatch(ACTIONS.updateGroupMemberReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.DELETE_GROUP_MEMBER: { return dispatch(ACTIONS.deleteGroupMemberReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.SEARCH_GROUP_BY_NAME: { if (res.result === 1) { return dispatch(ACTIONS.getGroupMemberReturn((_f = JSON.parse(res.data)) === null || _f === void 0 ? void 0 : _f.groups)); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.SEARCH_ADVANCE: { if (res.result === 1) { const data = JSON.parse(res.data); const records = []; const totalSize = data === null || data === void 0 ? void 0 : data.totalRecords; if ((_g = data === null || data === void 0 ? void 0 : data.records) === null || _g === void 0 ? void 0 : _g.TbAccountNamespace) { records.push(...data.records.TbAccountNamespace); } if ((_h = data === null || data === void 0 ? void 0 : data.records) === null || _h === void 0 ? void 0 : _h.TbAccount) { records.push(...data.records.TbAccount); } return dispatch(ACTIONS.getDataSearchReturn(records.length > 0 ? { records, totalSize } : {})); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_ACCOUNT_GROUP_MEMBER: { if (res.result === 1) { return dispatch(ACTIONS.getGroupAccountMemberReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_GROUP_BY_PARENT_GROUP: { if (res.result === 1) { return dispatch(ACTIONS.getListGroupByParentGroupReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.CHECK_REMOVE_GROUP: { if (res.result === 1) { return dispatch(ACTIONS.getCheckRemoveGroupReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.ADD_ACCOUNT_GROUP_MEMBER: { if (res.result === 1) { return ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.DELETE_ACCOUNT_GROUP_MEMBER: { if (res.result === 1) { return ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.SHARE_PERMISSION_GROUP: { if (res.result === 1) { return dispatch(ACTIONS.getSharePermissionGroupReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.UPDATE_SHARE_PERMISSION_USER: { if (res.result === 1) { return dispatch(ACTIONS.updateSharePermissionGroupReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.DELETE_SHARE_PERMISSION_GROUP: { return dispatch(ACTIONS.deleteSharePermissionGroupReturn({ requestId: res.requestId, result: res.result, data: res.result === 1 ? JSON.parse(res.data) : {}, message: res.message, })); } case SERVICE.CHOOSE_NAMESPACE: { // console.log('CHOOSE_NAMESPACE', res); // if (res.result === 1) { // dispatch(ACTIONS.getUserInfoReturn(JSON.parse(res.data))); // } return; } case SERVICE.GET_DEVICE_CONTACT_INFO: { if (res.result === 1 || res.result === -100) { dispatch(ACTIONS.getDeviceContactInfoReturn(JSON.parse(res.data))); } return; } case SERVICE.LIST_ALERT: { if (res.result === 1) { dispatch(ACTIONS.getListAlertReturn(JSON.parse(res.data))); } return; } case SERVICE.STATISTIC_ACTION_LOG_BY_NAMESPACE: { if (res.result === 1) { dispatch(ACTIONS.getStatisticActionLogByNamespaceReturn(JSON.parse(res.data))); } return; } case SERVICE.CHECK_LDAP_ACCOUNT: { dispatch(ACTIONS.getCheckLdapAccountReturn(res)); return; } case SERVICE.AUTHENTICATION_LDAP: { if (res.result === 1 || res.result === 2 || res.result === 3) { dispatch(ACTIONS.authReturnToken(JSON.parse(res.data))); } else { dispatch(ACTIONS.getAuthenticationLdapReturn(res)); } return; } case SERVICE.AUTHENTICATION_PASSWORD: { if (res.result === 1 || res.result === 2 || res.result === 3) { dispatch(ACTIONS.authReturnToken(JSON.parse(res.data))); } else { dispatch(ACTIONS.getAuthenticationLdapReturn(res)); } return; } case SERVICE.AUTHENTICATION_AZURE: { if (res.result === 1 || res.result === 2 || res.result === 3) { return dispatch(ACTIONS.authReturnToken(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.AUTHENTICATION_GOOGLE: { console.log('Enter AUTHENTICATION_GOOGLE: ', JSON.parse(res.data)); if (res.result === 1 || res.result === 2 || res.result === 3) { return dispatch(ACTIONS.authReturnToken(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.CONFIGURATION_SERVICE: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); return dispatch(ACTIONS.getConfigurationServiceReturn(JSON.parse(res.data))); } else { if (res.result === -8) { dispatch(ACTIONS.getConfigurationServiceReturn(res)); } return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.REQUEST_UPLOAD_FILE: { if (res.result === 1) { return dispatch(ACTIONS.getRequestUploadFileReturn({ isSuccess: true, data: JSON.parse(res.data), })); } else { return dispatch(ACTIONS.getRequestUploadFileReturn({ isSuccess: false, message: res.message, })); } } case SERVICE.UPLOAD_STORAGE_FILE: { if (res.result === 1) { return dispatch(ACTIONS.getRequestUploadStorageFileReturn({ isSuccess: true, data: JSON.parse(res.data), })); } else { return dispatch(ACTIONS.getRequestUploadStorageFileReturn({ isSuccess: false, message: res.message, })); } } case SERVICE.REMOVE_STORAGE_FILE: { if (res.result === 1) { return dispatch(ACTIONS.removeStorageFileReturn(res === null || res === void 0 ? void 0 : res.requestId)); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_STORAGE_FILE_BY_TAG: { if (res.result === 1) { return dispatch(ACTIONS.listStorageFileByTag(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.UPDATE_TAGS_STORAGE_FILE: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); return dispatch(ACTIONS.updateTagsStorageFile({ success: true })); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DEVICE_BY_STATE: { if (res.result === 1) { if (JSON.parse(res.data).deviceType === 'camera') { return dispatch(ACTIONS.listCameraByState(JSON.parse(res.data))); } else if (JSON.parse(res.data).deviceType === 'gateway') { return dispatch(ACTIONS.listgatewayByState(JSON.parse(res.data))); } return; } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_NOTIFICATION_EVENT: { if (res.result === 1) { dispatch(ACTIONS.setListNotification(JSON.parse(res.data))); return; } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.LIST_DEVICE_BY_USER: { if (res.result === 1) { return dispatch(ACTIONS.getListDeviceByUserReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.UPDATE_STATE_DEVICES: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, `Maintain device successful!`); return dispatch(ACTIONS.getUpdateStateDevicesReturn(JSON.parse(res.data))); } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.SEND_EMAIL_NOTIFICATION: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, `Send email successful!`); } else { ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } return; } case SERVICE.LIST_ALL_PLACE_BY_PAGE: { if (res.result === 1) { return dispatch(ACTIONS.listPlaceByPage(res.data ? JSON.parse(res.data) : {})); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.ADD_PLACE: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, 'Create success'); return dispatch(ACTIONS.addPlaceReturn(JSON.parse(res.data))); } else { return ACTIONS.openMessage(NOTIFIES.WARNING, res.message); } } case SERVICE.REMOVE_PLACE: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, 'Delete success'); return dispatch(ACTIONS.removePlaceReturn((_j = JSON.parse(res.data)) === null || _j === void 0 ? void 0 : _j.placeId)); } else { ACTIONS.openMessage(NOTIFIES.ERROR, res.message); return; } } case SERVICE.REQUEST_MAKE_CALL_OUT: { if (res.result === 1) { return dispatch(ACTIONS.requestMakeCallReturn(JSON.parse(res.data))); } else { console.warn('Request call out: ', res.message); } return; } case SERVICE.STATISTIC_DEVICE_STATUS: { if (res.result === 1) { return dispatch(ACTIONS.statisticDeviceStatusReturn(JSON.parse(res.data))); } else { } return; } case SERVICE.GENERATE_LINK_STORAGE_FILE_BY_TIME: { if (res.result === 1) { return dispatch(ACTIONS.generateLinkStorageFileByTimeReturn(JSON.parse(res.data))); } else { } return; } case SERVICE.CHANGE_USER_PASSWORD: { if (res.result === 1) { ACTIONS.openMessage(NOTIFIES.SUCCESS, res.message); } else { ACTIONS.openMessage(NOTIFIES.ERROR, res.message); } return; } case SERVICE.GENERATE_SHORT_TOKEN: { if (res.result === 1) { dispatch(ACTIONS.generateShortTokenReturn(JSON.parse(res.data))); } return; } case SERVICE