UNPKG

podchat

Version:
449 lines (443 loc) 17.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _constants = require("../../constants"); var _utility = _interopRequireDefault(require("../../../utility/utility")); var _dataFormatters = require("../../helpers/dataFormatters"); var _errorHandler = require("../../errorHandler"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function ContactsV2(app) { var publicized = { add: function add(params) { var urlencoded = new URLSearchParams(); if (params) { if (!params.contacts || !Array.isArray(params.contacts)) { app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.PARAMETER_REQUIRED), {}, { variables: ['parameterName'], replacements: ["contacts"] })), null, true, {}); return; } for (var i in params.contacts) { if (typeof params.contacts[i].firstName === 'string') { urlencoded.append("firstName", params.contacts[i].firstName); } else { urlencoded.append("firstName", ""); } if (typeof params.contacts[i].lastName === 'string') { urlencoded.append("lastName", params.contacts[i].lastName); } else { urlencoded.append("lastName", ""); } if (typeof params.contacts[i].email === 'string') { urlencoded.append("email", params.contacts[i].email); } else { urlencoded.append("email", ""); } if (typeof params.contacts[i].username === 'string') { urlencoded.append("username", params.contacts[i].username); } else { urlencoded.append("username", ""); } if (typeof params.contacts[i].cellphoneNumber === 'string') { urlencoded.append("cellphoneNumber", params.contacts[i].cellphoneNumber); } else { urlencoded.append("cellphoneNumber", ""); } if (typeof params.contacts[i].metadata === 'string') { urlencoded.append("metadata", params.contacts[i].metadata); } else { urlencoded.append("metadata", ""); } if (typeof params.contacts[i].uniqueId === 'string') { urlencoded.append("uniqueId", params.contacts[i].uniqueId); } else { urlencoded.append("uniqueId", ""); } } if (typeof params.typeCode === 'string') { urlencoded.append("typeCode", params.typeCode); } else { urlencoded.append("typeCode", app.sdkParams.generalTypeCode); } if (typeof params.ownerId === 'string') { urlencoded.append("ownerId", params.ownerId); } else { urlencoded.append("ownerId", app.sdkParams.typeCodeOwnerId || 1); } } var reqUniqueId = _utility["default"].generateUUID(); var requestParams = { url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS + _constants.SERVICES_PATH.CONTACTS_V2_ADD, method: 'POST', body: urlencoded, data: {}, headers: { '_token_': app.sdkParams.token, '_token_issuer_': 1, "Content-Type": "application/x-www-form-urlencoded" } }; app.httpRequest.httpRequest(requestParams, function (result) { if (!result.hasError) { var responseData = JSON.parse(result.result.responseText), returnData = { hasError: responseData.hasError, errorMessage: responseData.message, errorCode: responseData.errorCode }; if (!responseData.hasError) { var messageContent = responseData.result, messageLength = responseData.result.length, resultData = { contacts: [], contentCount: messageLength }, contactData; for (var _i = 0; _i < messageLength; _i++) { contactData = (0, _dataFormatters.formatDataToMakeContact)(messageContent[_i]); if (contactData) { resultData.contacts.push(contactData); } } // app.store.contacts.addOrUpdate(contactData); returnData.result = resultData; app.chatEvents.fireEvent('contactEvents', { type: 'ADD_CONTACT', result: returnData, uniqueId: reqUniqueId }); } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, response: responseData, uniqueId: reqUniqueId }); } // callback && callback(returnData); } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, error: result, uniqueId: reqUniqueId }); } }); return { uniqueId: reqUniqueId }; }, update: function update(params) { var urlencoded = new URLSearchParams(); if (params) { if (!params.contacts || !Array.isArray(params.contacts)) { app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.PARAMETER_REQUIRED), {}, { variables: ['parameterName'], replacements: ["contacts"] })), null, true, {}); return; } for (var i in params.contacts) { if (typeof params.contacts[i].id !== "undefined") { urlencoded.append("id", params.contacts[i].id); } else { app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.PARAMETER_REQUIRED), {}, { variables: ['parameterName'], replacements: ["id"] })), null, true, {}); continue; } if (typeof params.contacts[i].firstName === 'string') { urlencoded.append("firstName", params.contacts[i].firstName); } else { urlencoded.append("firstName", ""); } if (typeof params.contacts[i].lastName === 'string') { urlencoded.append("lastName", params.contacts[i].lastName); } else { urlencoded.append("lastName", ""); } if (typeof params.contacts[i].email === 'string') { urlencoded.append("email", params.contacts[i].email); } else { urlencoded.append("email", ""); } if (typeof params.contacts[i].username === 'string') { urlencoded.append("username", params.contacts[i].username); } else { urlencoded.append("username", ""); } if (typeof params.contacts[i].cellphoneNumber === 'string') { urlencoded.append("cellphoneNumber", params.contacts[i].cellphoneNumber); } else { urlencoded.append("cellphoneNumber", ""); } if (typeof params.contacts[i].metadata === 'string') { urlencoded.append("metadata", params.contacts[i].metadata); } else { urlencoded.append("metadata", ""); } if (typeof params.contacts[i].uniqueId === 'string') { urlencoded.append("uniqueId", params.contacts[i].uniqueId); } else { urlencoded.append("uniqueId", ""); } } if (typeof params.typeCode === 'string') { urlencoded.append("typeCode", params.typeCode); } else { urlencoded.append("typeCode", app.sdkParams.generalTypeCode); } if (typeof params.ownerId === 'string') { urlencoded.append("ownerId", params.ownerId); } else { urlencoded.append("ownerId", app.sdkParams.typeCodeOwnerId || 1); } } var reqUniqueId = _utility["default"].generateUUID(); var requestParams = { url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS + _constants.SERVICES_PATH.CONTACTS_V2_UPDATE, method: 'POST', body: urlencoded, data: {}, headers: { '_token_': app.sdkParams.token, '_token_issuer_': 1 } }; app.httpRequest.httpRequest(requestParams, function (result) { if (!result.hasError) { var responseData = JSON.parse(result.result.responseText), returnData = { hasError: responseData.hasError, errorMessage: responseData.message, errorCode: responseData.errorCode }; if (!responseData.hasError) { var messageContent = responseData.result, messageLength = responseData.result.length, resultData = { contacts: [], contentCount: messageLength }, contactData; for (var _i2 = 0; _i2 < messageLength; _i2++) { contactData = (0, _dataFormatters.formatDataToMakeContact)(messageContent[_i2]); if (contactData) { resultData.contacts.push(contactData); } } // app.store.contacts.addOrUpdate(contactData) returnData.result = resultData; app.chatEvents.fireEvent('contactEvents', { type: 'UPDATE_CONTACT', result: returnData, uniqueId: reqUniqueId }); } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, response: responseData, uniqueId: reqUniqueId }); } } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, error: result, uniqueId: reqUniqueId }); } }); return { uniqueId: reqUniqueId }; }, remove: function remove(params) { var data = {}; var urlencoded = new URLSearchParams(); if (params) { if (!params.contacts || !Array.isArray(params.contacts)) { app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.PARAMETER_REQUIRED), {}, { variables: ['parameterName'], replacements: ["contacts"] })), null, true, {}); return; } for (var i in params.contacts) { if (typeof params.contacts[i].id !== "undefined") { urlencoded.append("id", params.contacts[i].id); } else { app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.PARAMETER_REQUIRED), {}, { variables: ['parameterName'], replacements: ["id"] })), null, true, {}); continue; } } } var reqUniqueId = _utility["default"].generateUUID(); var requestParams = { url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS + _constants.SERVICES_PATH.CONTACTS_V2_REMOVE, method: 'POST', data: {}, body: urlencoded, headers: { '_token_': app.sdkParams.token, '_token_issuer_': 1 } }; app.httpRequest.httpRequest(requestParams, function (result) { if (!result.hasError) { var responseData = JSON.parse(result.result.responseText), returnData = { hasError: responseData.hasError, errorMessage: responseData.message, errorCode: responseData.errorCode }; if (!responseData.hasError) { returnData.result = responseData.result; //app.store.contacts.remove(data.id) app.chatEvents.fireEvent('contactEvents', { type: 'REMOVE_CONTACT', result: returnData, uniqueId: reqUniqueId }); } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, response: responseData, uniqueId: reqUniqueId }); } } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, error: result, uniqueId: reqUniqueId }); } }); return { uniqueId: reqUniqueId }; }, get: function get(params) { var data = {}; if (params) { if (typeof params.uniqueId === 'string') { data.uniqueId = params.uniqueId; } if (typeof params.id === 'string') { data.id = params.id; } if (typeof params.firstName === 'string') { data.firstName = params.firstName; } if (typeof params.lastName === 'string') { data.lastName = params.lastName; } if (typeof params.email === 'string') { data.email = params.email; } if (typeof params.q === 'string') { data.q = params.q; } if (typeof params.linkedUserId === 'number') { data.linkedUserId = params.linkedUserId; } if (typeof params.targetUserId === 'string') { data.targetUserId = params.targetUserId; } if (typeof params.typeCode === 'string') { data.typeCode = params.typeCode; } if (typeof params.ownerId === 'string') { data.ownerId = params.ownerId; } if (typeof params.cellphoneNumber === 'string') { data.cellphoneNumber = params.cellphoneNumber; } if (typeof params.email === 'string') { data.email = params.email; } if (typeof params.username === 'string') { data.userName = params.username; } if (parseInt(params.size) > 0) { data.size = params.size; } else { data.size = 10; } if (typeof params.offset == "number" && params.offset >= 0) { data.offset = params.offset; } else { data.offset = 0; } if (typeof params.metadata === 'string') { data.metadata = params.metadata; } // data.uniqueId = Utility.generateUUID(); } var reqUniqueId = _utility["default"].generateUUID(); var requestParams = { url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS + _constants.SERVICES_PATH.CONTACTS_V2_GET, method: 'POST', data: data, headers: { '_token_': app.sdkParams.token, '_token_issuer_': 1 } }; app.httpRequest.httpRequest(requestParams, function (result) { if (!result.hasError) { var responseData = JSON.parse(result.result.responseText), returnData = { hasError: responseData.hasError, errorMessage: responseData.message, errorCode: responseData.errorCode }; if (!responseData.hasError) { returnData.result = responseData.result; app.chatEvents.fireEvent('contactEvents', { type: 'GET_CONTACT', result: returnData, uniqueId: reqUniqueId }); } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, response: responseData, uniqueId: reqUniqueId }); } } else { app.chatEvents.fireEvent('error', { code: result.errorCode, message: result.errorMessage, error: result, uniqueId: reqUniqueId }); } }); return { uniqueId: reqUniqueId }; } }; return publicized; } var _default = ContactsV2; exports["default"] = _default;