livstream-player
Version:
A lightweight livestream player SDK for React apps
1,267 lines • 51.3 kB
JavaScript
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