Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / intSalesforceConfiguration / intSalesforceConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x9d55=['params','rawAttributes','find','catch','create','body','getFields','findOne','SalesforceField','getSubjects','getDescriptions','fast-json-patch','request-promise','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','error','stack','send','index','map','SalesforceConfiguration','fieldName','type','key','query','keys','filters','intersection','fields','attributes','length','model','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','name','filter','options','includeAll','include','findAll','rows','show'];(function(_0x33177a,_0x4bf39f){var _0x39b047=function(_0x48eb25){while(--_0x48eb25){_0x33177a['push'](_0x33177a['shift']());}};_0x39b047(++_0x4bf39f);}(_0x9d55,0xfe));var _0x59d5=function(_0x5d887d,_0x302ed0){_0x5d887d=_0x5d887d-0x0;var _0x2858b7=_0x9d55[_0x5d887d];return _0x2858b7;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x59d5('0x0'));var rp=require(_0x59d5('0x1'));var moment=require(_0x59d5('0x2'));var BPromise=require(_0x59d5('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0x59d5('0x4'));var sox=require('sox');var csv=require(_0x59d5('0x5'));var ejs=require(_0x59d5('0x6'));var fs=require('fs');var fs_extra=require(_0x59d5('0x7'));var _=require(_0x59d5('0x8'));var squel=require(_0x59d5('0x9'));var crypto=require('crypto');var jsforce=require(_0x59d5('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x59d5('0x5'));var querystring=require(_0x59d5('0xb'));var Papa=require(_0x59d5('0xc'));var Redis=require(_0x59d5('0xd'));var authService=require(_0x59d5('0xe'));var qs=require(_0x59d5('0xf'));var as=require(_0x59d5('0x10'));var hardwareService=require(_0x59d5('0x11'));var logger=require('../../config/logger')(_0x59d5('0x12'));var utils=require(_0x59d5('0x13'));var config=require(_0x59d5('0x14'));var licenseUtil=require(_0x59d5('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d6506,_0x29acef){_0x29acef=_0x29acef||0xcc;return function(_0x5f3edf){if(_0x5f3edf){return _0x5d6506[_0x59d5('0x16')](_0x29acef);}return _0x5d6506[_0x59d5('0x17')](_0x29acef)[_0x59d5('0x18')]();};}function respondWithResult(_0x5dc948,_0x5be2bd){_0x5be2bd=_0x5be2bd||0xc8;return function(_0x4c6b22){if(_0x4c6b22){return _0x5dc948[_0x59d5('0x17')](_0x5be2bd)[_0x59d5('0x19')](_0x4c6b22);}};}function respondWithFilteredResult(_0x3a09eb,_0x50c331){return function(_0x1a5257){if(_0x1a5257){var _0x31b7b4=typeof _0x50c331[_0x59d5('0x1a')]===_0x59d5('0x1b')&&typeof _0x50c331[_0x59d5('0x1c')]===_0x59d5('0x1b');var _0xb14ef2=_0x1a5257[_0x59d5('0x1d')];var _0x29b281=_0x31b7b4?0x0:_0x50c331[_0x59d5('0x1a')];var _0x5a91d9=_0x31b7b4?_0x1a5257[_0x59d5('0x1d')]:_0x50c331[_0x59d5('0x1a')]+_0x50c331['limit'];var _0x9cccd5;if(_0x5a91d9>=_0xb14ef2){_0x5a91d9=_0xb14ef2;_0x9cccd5=0xc8;}else{_0x9cccd5=0xce;}_0x3a09eb[_0x59d5('0x17')](_0x9cccd5);return _0x3a09eb[_0x59d5('0x1e')]('Content-Range',_0x29b281+'-'+_0x5a91d9+'/'+_0xb14ef2)[_0x59d5('0x19')](_0x1a5257);}return null;};}function patchUpdates(_0x381ea6){return function(_0x64ab38){try{jsonpatch[_0x59d5('0x1f')](_0x64ab38,_0x381ea6,!![]);}catch(_0x211e6e){return BPromise[_0x59d5('0x20')](_0x211e6e);}return _0x64ab38[_0x59d5('0x21')]();};}function saveUpdates(_0xcb4f7b,_0x163161){return function(_0x21c854){if(_0x21c854){return _0x21c854[_0x59d5('0x22')](_0xcb4f7b)[_0x59d5('0x23')](function(_0x4477a7){return _0x4477a7;});}return null;};}function removeEntity(_0x19121a,_0x36c9b8){return function(_0x15264f){if(_0x15264f){return _0x15264f[_0x59d5('0x24')]()[_0x59d5('0x23')](function(){_0x19121a[_0x59d5('0x17')](0xcc)[_0x59d5('0x18')]();});}};}function handleEntityNotFound(_0x210e2e,_0x210fba){return function(_0x4c9ae0){if(!_0x4c9ae0){_0x210e2e[_0x59d5('0x16')](0x194);}return _0x4c9ae0;};}function handleError(_0x1f901c,_0x445f02){_0x445f02=_0x445f02||0x1f4;return function(_0x44b02e){logger[_0x59d5('0x25')](_0x44b02e[_0x59d5('0x26')]);if(_0x44b02e['name']){delete _0x44b02e['name'];}_0x1f901c[_0x59d5('0x17')](_0x445f02)[_0x59d5('0x27')](_0x44b02e);};}exports[_0x59d5('0x28')]=function(_0x265ed8,_0x57b4a5){var _0x551ff0={},_0x3c0635={},_0x431e3d={'count':0x0,'rows':[]};var _0x224c7b=_[_0x59d5('0x29')](db[_0x59d5('0x2a')]['rawAttributes'],function(_0x1d9305){return{'name':_0x1d9305[_0x59d5('0x2b')],'type':_0x1d9305[_0x59d5('0x2c')][_0x59d5('0x2d')]};});_0x3c0635['model']=_[_0x59d5('0x29')](_0x224c7b,'name');_0x3c0635[_0x59d5('0x2e')]=_[_0x59d5('0x2f')](_0x265ed8[_0x59d5('0x2e')]);_0x3c0635[_0x59d5('0x30')]=_[_0x59d5('0x31')](_0x3c0635['model'],_0x3c0635[_0x59d5('0x2e')]);_0x551ff0['attributes']=_[_0x59d5('0x31')](_0x3c0635['model'],qs[_0x59d5('0x32')](_0x265ed8['query']['fields']));_0x551ff0[_0x59d5('0x33')]=_0x551ff0['attributes'][_0x59d5('0x34')]?_0x551ff0[_0x59d5('0x33')]:_0x3c0635[_0x59d5('0x35')];if(!_0x265ed8[_0x59d5('0x2e')][_0x59d5('0x36')](_0x59d5('0x37'))){_0x551ff0[_0x59d5('0x1c')]=qs[_0x59d5('0x1c')](_0x265ed8[_0x59d5('0x2e')]['limit']);_0x551ff0[_0x59d5('0x1a')]=qs[_0x59d5('0x1a')](_0x265ed8['query'][_0x59d5('0x1a')]);}_0x551ff0[_0x59d5('0x38')]=qs[_0x59d5('0x39')](_0x265ed8[_0x59d5('0x2e')]['sort']);_0x551ff0[_0x59d5('0x3a')]=qs[_0x59d5('0x30')](_[_0x59d5('0x3b')](_0x265ed8[_0x59d5('0x2e')],_0x3c0635[_0x59d5('0x30')]),_0x224c7b);if(_0x265ed8[_0x59d5('0x2e')]['filter']){_0x551ff0[_0x59d5('0x3a')]=_[_0x59d5('0x3c')](_0x551ff0[_0x59d5('0x3a')],{'$or':_[_0x59d5('0x29')](_0x224c7b,function(_0x69501e){if(_0x69501e[_0x59d5('0x2c')]!==_0x59d5('0x3d')){var _0x564081={};_0x564081[_0x69501e[_0x59d5('0x3e')]]={'$like':'%'+_0x265ed8[_0x59d5('0x2e')][_0x59d5('0x3f')]+'%'};return _0x564081;}})});}_0x551ff0=_['merge']({},_0x551ff0,_0x265ed8[_0x59d5('0x40')]);var _0x2f7ac2={'where':_0x551ff0[_0x59d5('0x3a')]};return db['SalesforceConfiguration']['count'](_0x2f7ac2)[_0x59d5('0x23')](function(_0x3052a0){_0x431e3d['count']=_0x3052a0;if(_0x265ed8[_0x59d5('0x2e')][_0x59d5('0x41')]){_0x551ff0[_0x59d5('0x42')]=[{'all':!![]}];}return db[_0x59d5('0x2a')][_0x59d5('0x43')](_0x551ff0);})['then'](function(_0x2f6a45){_0x431e3d[_0x59d5('0x44')]=_0x2f6a45;return _0x431e3d;})[_0x59d5('0x23')](respondWithFilteredResult(_0x57b4a5,_0x551ff0))['catch'](handleError(_0x57b4a5,null));};exports[_0x59d5('0x45')]=function(_0x5d6f49,_0xe5775d){var _0x35fae7={'raw':![],'where':{'id':_0x5d6f49[_0x59d5('0x46')]['id']}},_0x261562={};_0x261562[_0x59d5('0x35')]=_[_0x59d5('0x2f')](db[_0x59d5('0x2a')][_0x59d5('0x47')]);_0x261562[_0x59d5('0x2e')]=_['keys'](_0x5d6f49[_0x59d5('0x2e')]);_0x261562[_0x59d5('0x30')]=_['intersection'](_0x261562[_0x59d5('0x35')],_0x261562[_0x59d5('0x2e')]);_0x35fae7[_0x59d5('0x33')]=_[_0x59d5('0x31')](_0x261562[_0x59d5('0x35')],qs[_0x59d5('0x32')](_0x5d6f49[_0x59d5('0x2e')][_0x59d5('0x32')]));_0x35fae7[_0x59d5('0x33')]=_0x35fae7[_0x59d5('0x33')][_0x59d5('0x34')]?_0x35fae7['attributes']:_0x261562['model'];if(_0x5d6f49['query']['includeAll']){_0x35fae7[_0x59d5('0x42')]=[{'all':!![]}];}_0x35fae7=_['merge']({},_0x35fae7,_0x5d6f49[_0x59d5('0x40')]);return db[_0x59d5('0x2a')][_0x59d5('0x48')](_0x35fae7)[_0x59d5('0x23')](handleEntityNotFound(_0xe5775d,null))['then'](respondWithResult(_0xe5775d,null))[_0x59d5('0x49')](handleError(_0xe5775d,null));};exports[_0x59d5('0x4a')]=function(_0x9afef2,_0x119d77){return db[_0x59d5('0x2a')][_0x59d5('0x4a')](_0x9afef2[_0x59d5('0x4b')],{})[_0x59d5('0x23')](respondWithResult(_0x119d77,0xc9))[_0x59d5('0x49')](handleError(_0x119d77,null));};exports[_0x59d5('0x22')]=function(_0x6c3eab,_0x874d16){if(_0x6c3eab[_0x59d5('0x4b')]['id']){delete _0x6c3eab[_0x59d5('0x4b')]['id'];}return db[_0x59d5('0x2a')][_0x59d5('0x48')]({'where':{'id':_0x6c3eab[_0x59d5('0x46')]['id']}})[_0x59d5('0x23')](handleEntityNotFound(_0x874d16,null))[_0x59d5('0x23')](saveUpdates(_0x6c3eab[_0x59d5('0x4b')],null))[_0x59d5('0x23')](respondWithResult(_0x874d16,null))[_0x59d5('0x49')](handleError(_0x874d16,null));};exports[_0x59d5('0x24')]=function(_0x8bb8c5,_0x5f16c5){return db[_0x59d5('0x2a')][_0x59d5('0x48')]({'where':{'id':_0x8bb8c5[_0x59d5('0x46')]['id']}})[_0x59d5('0x23')](handleEntityNotFound(_0x5f16c5,null))[_0x59d5('0x23')](removeEntity(_0x5f16c5,null))[_0x59d5('0x49')](handleError(_0x5f16c5,null));};exports[_0x59d5('0x4c')]=function(_0x4b195a,_0x55185f,_0x4c01f4){var _0x1c7c64={};var _0x1367a6={};var _0xbf3cf4;var _0x596af4;return db[_0x59d5('0x2a')][_0x59d5('0x4d')]({'where':{'id':_0x4b195a[_0x59d5('0x46')]['id']}})['then'](handleEntityNotFound(_0x55185f,null))[_0x59d5('0x23')](function(_0x298ec9){if(_0x298ec9){_0xbf3cf4=_0x298ec9;_0x1367a6[_0x59d5('0x35')]=_[_0x59d5('0x2f')](db[_0x59d5('0x4e')]['rawAttributes']);_0x1367a6[_0x59d5('0x2e')]=_['keys'](_0x4b195a[_0x59d5('0x2e')]);_0x1367a6['filters']=_[_0x59d5('0x31')](_0x1367a6[_0x59d5('0x35')],_0x1367a6[_0x59d5('0x2e')]);_0x1c7c64[_0x59d5('0x33')]=_[_0x59d5('0x31')](_0x1367a6[_0x59d5('0x35')],qs[_0x59d5('0x32')](_0x4b195a['query'][_0x59d5('0x32')]));_0x1c7c64[_0x59d5('0x33')]=_0x1c7c64[_0x59d5('0x33')]['length']?_0x1c7c64[_0x59d5('0x33')]:_0x1367a6[_0x59d5('0x35')];_0x1c7c64['order']=qs[_0x59d5('0x39')](_0x4b195a[_0x59d5('0x2e')]['sort']);_0x1c7c64['where']=qs['filters'](_[_0x59d5('0x3b')](_0x4b195a[_0x59d5('0x2e')],_0x1367a6[_0x59d5('0x30')]));if(_0x4b195a[_0x59d5('0x2e')][_0x59d5('0x3f')]){_0x1c7c64[_0x59d5('0x3a')]=_[_0x59d5('0x3c')](_0x1c7c64[_0x59d5('0x3a')],{'$or':_[_0x59d5('0x29')](_0x1c7c64['attributes'],function(_0x3620a5){var _0x2ba61f={};_0x2ba61f[_0x3620a5]={'$like':'%'+_0x4b195a['query'][_0x59d5('0x3f')]+'%'};return _0x2ba61f;})});}_0x1c7c64=_['merge']({},_0x1c7c64,_0x4b195a[_0x59d5('0x40')]);return _0xbf3cf4['getFields'](_0x1c7c64);}})['then'](function(_0x15f27c){if(_0x15f27c){_0x596af4=_0x15f27c[_0x59d5('0x34')];if(!_0x4b195a[_0x59d5('0x2e')]['hasOwnProperty']('nolimit')){_0x1c7c64[_0x59d5('0x1c')]=qs['limit'](_0x4b195a[_0x59d5('0x2e')][_0x59d5('0x1c')]);_0x1c7c64[_0x59d5('0x1a')]=qs[_0x59d5('0x1a')](_0x4b195a[_0x59d5('0x2e')][_0x59d5('0x1a')]);}return _0xbf3cf4[_0x59d5('0x4c')](_0x1c7c64);}})['then'](function(_0x418ad6){if(_0x418ad6){return _0x418ad6?{'count':_0x596af4,'rows':_0x418ad6}:null;}})['then'](respondWithResult(_0x55185f,null))[_0x59d5('0x49')](handleError(_0x55185f,null));};exports['getSubjects']=function(_0xb7ea6,_0xb87da2,_0x446773){var _0x26d525={};var _0x2d1ecb={};var _0x5c74cb;var _0x38979c;return db['SalesforceConfiguration'][_0x59d5('0x4d')]({'where':{'id':_0xb7ea6[_0x59d5('0x46')]['id']}})[_0x59d5('0x23')](handleEntityNotFound(_0xb87da2,null))['then'](function(_0x44d5db){if(_0x44d5db){_0x5c74cb=_0x44d5db;_0x2d1ecb[_0x59d5('0x35')]=_[_0x59d5('0x2f')](db[_0x59d5('0x4e')][_0x59d5('0x47')]);_0x2d1ecb[_0x59d5('0x2e')]=_['keys'](_0xb7ea6[_0x59d5('0x2e')]);_0x2d1ecb['filters']=_[_0x59d5('0x31')](_0x2d1ecb[_0x59d5('0x35')],_0x2d1ecb[_0x59d5('0x2e')]);_0x26d525[_0x59d5('0x33')]=_['intersection'](_0x2d1ecb['model'],qs[_0x59d5('0x32')](_0xb7ea6[_0x59d5('0x2e')][_0x59d5('0x32')]));_0x26d525[_0x59d5('0x33')]=_0x26d525[_0x59d5('0x33')][_0x59d5('0x34')]?_0x26d525[_0x59d5('0x33')]:_0x2d1ecb['model'];_0x26d525[_0x59d5('0x38')]=qs[_0x59d5('0x39')](_0xb7ea6[_0x59d5('0x2e')][_0x59d5('0x39')]);_0x26d525[_0x59d5('0x3a')]=qs[_0x59d5('0x30')](_[_0x59d5('0x3b')](_0xb7ea6['query'],_0x2d1ecb['filters']));if(_0xb7ea6[_0x59d5('0x2e')]['filter']){_0x26d525[_0x59d5('0x3a')]=_[_0x59d5('0x3c')](_0x26d525[_0x59d5('0x3a')],{'$or':_[_0x59d5('0x29')](_0x26d525[_0x59d5('0x33')],function(_0x35059c){var _0x51b965={};_0x51b965[_0x35059c]={'$like':'%'+_0xb7ea6[_0x59d5('0x2e')][_0x59d5('0x3f')]+'%'};return _0x51b965;})});}_0x26d525=_[_0x59d5('0x3c')]({},_0x26d525,_0xb7ea6[_0x59d5('0x40')]);return _0x5c74cb[_0x59d5('0x4f')](_0x26d525);}})['then'](function(_0x5d554c){if(_0x5d554c){_0x38979c=_0x5d554c[_0x59d5('0x34')];if(!_0xb7ea6[_0x59d5('0x2e')][_0x59d5('0x36')](_0x59d5('0x37'))){_0x26d525[_0x59d5('0x1c')]=qs[_0x59d5('0x1c')](_0xb7ea6['query'][_0x59d5('0x1c')]);_0x26d525[_0x59d5('0x1a')]=qs[_0x59d5('0x1a')](_0xb7ea6['query'][_0x59d5('0x1a')]);}return _0x5c74cb[_0x59d5('0x4f')](_0x26d525);}})['then'](function(_0x531c34){if(_0x531c34){return _0x531c34?{'count':_0x38979c,'rows':_0x531c34}:null;}})[_0x59d5('0x23')](respondWithResult(_0xb87da2,null))['catch'](handleError(_0xb87da2,null));};exports[_0x59d5('0x50')]=function(_0x12fceb,_0x1ddfaf,_0x3ba0dd){var _0x5e6d31={};var _0x28d7c={};var _0x3bfc3f;var _0x4d0df1;return db[_0x59d5('0x2a')]['findOne']({'where':{'id':_0x12fceb[_0x59d5('0x46')]['id']}})[_0x59d5('0x23')](handleEntityNotFound(_0x1ddfaf,null))[_0x59d5('0x23')](function(_0x130df4){if(_0x130df4){_0x3bfc3f=_0x130df4;_0x28d7c[_0x59d5('0x35')]=_[_0x59d5('0x2f')](db['SalesforceField']['rawAttributes']);_0x28d7c[_0x59d5('0x2e')]=_[_0x59d5('0x2f')](_0x12fceb[_0x59d5('0x2e')]);_0x28d7c[_0x59d5('0x30')]=_['intersection'](_0x28d7c[_0x59d5('0x35')],_0x28d7c[_0x59d5('0x2e')]);_0x5e6d31[_0x59d5('0x33')]=_['intersection'](_0x28d7c[_0x59d5('0x35')],qs['fields'](_0x12fceb[_0x59d5('0x2e')][_0x59d5('0x32')]));_0x5e6d31[_0x59d5('0x33')]=_0x5e6d31[_0x59d5('0x33')][_0x59d5('0x34')]?_0x5e6d31['attributes']:_0x28d7c[_0x59d5('0x35')];_0x5e6d31[_0x59d5('0x38')]=qs[_0x59d5('0x39')](_0x12fceb['query'][_0x59d5('0x39')]);_0x5e6d31[_0x59d5('0x3a')]=qs['filters'](_[_0x59d5('0x3b')](_0x12fceb[_0x59d5('0x2e')],_0x28d7c['filters']));if(_0x12fceb[_0x59d5('0x2e')]['filter']){_0x5e6d31[_0x59d5('0x3a')]=_[_0x59d5('0x3c')](_0x5e6d31[_0x59d5('0x3a')],{'$or':_[_0x59d5('0x29')](_0x5e6d31[_0x59d5('0x33')],function(_0xf118db){var _0x4c8ac2={};_0x4c8ac2[_0xf118db]={'$like':'%'+_0x12fceb['query'][_0x59d5('0x3f')]+'%'};return _0x4c8ac2;})});}_0x5e6d31=_[_0x59d5('0x3c')]({},_0x5e6d31,_0x12fceb['options']);return _0x3bfc3f['getDescriptions'](_0x5e6d31);}})[_0x59d5('0x23')](function(_0x228634){if(_0x228634){_0x4d0df1=_0x228634['length'];if(!_0x12fceb[_0x59d5('0x2e')][_0x59d5('0x36')](_0x59d5('0x37'))){_0x5e6d31[_0x59d5('0x1c')]=qs[_0x59d5('0x1c')](_0x12fceb[_0x59d5('0x2e')][_0x59d5('0x1c')]);_0x5e6d31[_0x59d5('0x1a')]=qs[_0x59d5('0x1a')](_0x12fceb[_0x59d5('0x2e')][_0x59d5('0x1a')]);}return _0x3bfc3f['getDescriptions'](_0x5e6d31);}})[_0x59d5('0x23')](function(_0x3da1c6){if(_0x3da1c6){return _0x3da1c6?{'count':_0x4d0df1,'rows':_0x3da1c6}:null;}})['then'](respondWithResult(_0x1ddfaf,null))[_0x59d5('0x49')](handleError(_0x1ddfaf,null));};