Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / api / intSalesforceAccount / intSalesforceAccount.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 _0x757a=['name','index','map','SalesforceAccount','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','offset','order','pick','merge','where','type','VIRTUAL','count','includeAll','include','findAll','rows','length','options','find','create','body','params','getConfigurations','sort','filter','hasOwnProperty','nolimit','findOne','AccountId','getSubjects','channel','Descriptions','getDescriptions','SalesforceConfiguration','SalesforceField','Subjects','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','concat','isNil','ticketType','sobject','describe','CallDisposition','CallDurationInSeconds','CallType','Status','Type','Case','Origin','Reason','Priority','IsEscalated','SuppliedName','SuppliedCompany','custom','includes','label','picklistValues','value','boolean','true','False','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','jayson/promise','request','then','info','SalesforceAccount,\x20%s,\x20%s','request\x20sent','SalesforceAccount,\x20%s,\x20%s,\x20%s','stringify','code','error','message','result','catch','sendStatus','end','status','limit','set','Content-Range','apply','save','update','destroy','stack'];(function(_0x4057f9,_0x17c5b5){var _0x5552b7=function(_0xeb792f){while(--_0xeb792f){_0x4057f9['push'](_0x4057f9['shift']());}};_0x5552b7(++_0x17c5b5);}(_0x757a,0xde));var _0xa757=function(_0xf23951,_0x3374ab){_0xf23951=_0xf23951-0x0;var _0x186b10=_0x757a[_0xf23951];return _0x186b10;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa757('0x0'));var rimraf=require(_0xa757('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xa757('0x2'));var BPromise=require(_0xa757('0x3'));var Mustache=require(_0xa757('0x4'));var util=require(_0xa757('0x5'));var path=require(_0xa757('0x6'));var sox=require(_0xa757('0x7'));var csv=require('to-csv');var ejs=require(_0xa757('0x8'));var fs=require('fs');var _=require(_0xa757('0x9'));var squel=require('squel');var crypto=require(_0xa757('0xa'));var jsforce=require(_0xa757('0xb'));var deskjs=require(_0xa757('0xc'));var toCsv=require(_0xa757('0xd'));var querystring=require(_0xa757('0xe'));var Papa=require('papaparse');var Redis=require(_0xa757('0xf'));var authService=require(_0xa757('0x10'));var qs=require(_0xa757('0x11'));var as=require(_0xa757('0x12'));var hardwareService=require(_0xa757('0x13'));var logger=require(_0xa757('0x14'))(_0xa757('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xa757('0x16'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x2ed0d2,_0x513b1f,_0x481508,_0x32112b){return new BPromise(function(_0x1b670e,_0x355f0a){var _0x4a0c38=_0x32112b||client;return _0x4a0c38[_0xa757('0x17')](_0x2ed0d2,_0x481508)[_0xa757('0x18')](function(_0xf12b68){logger[_0xa757('0x19')](_0xa757('0x1a'),_0x513b1f,_0xa757('0x1b'));logger['debug'](_0xa757('0x1c'),_0x513b1f,_0xa757('0x1b'),JSON[_0xa757('0x1d')](_0xf12b68));if(_0xf12b68['error']){if(_0xf12b68['error'][_0xa757('0x1e')]===0x1f4){logger[_0xa757('0x1f')](_0xa757('0x1a'),_0x513b1f,_0xf12b68[_0xa757('0x1f')][_0xa757('0x20')]);return _0x355f0a(_0xf12b68[_0xa757('0x1f')]['message']);}logger[_0xa757('0x1f')]('SalesforceAccount,\x20%s,\x20%s',_0x513b1f,_0xf12b68[_0xa757('0x1f')][_0xa757('0x20')]);return _0x1b670e(_0xf12b68[_0xa757('0x1f')][_0xa757('0x20')]);}else{logger['info']('SalesforceAccount,\x20%s,\x20%s',_0x513b1f,_0xa757('0x1b'));_0x1b670e(_0xf12b68[_0xa757('0x21')][_0xa757('0x20')]);}})[_0xa757('0x22')](function(_0x1d6e2){logger[_0xa757('0x1f')](_0xa757('0x1a'),_0x513b1f,_0x1d6e2);_0x355f0a(_0x1d6e2);});});}function respondWithStatusCode(_0x21f1af,_0x2bf276){_0x2bf276=_0x2bf276||0xcc;return function(_0x59fae6){if(_0x59fae6){return _0x21f1af[_0xa757('0x23')](_0x2bf276);}return _0x21f1af['status'](_0x2bf276)[_0xa757('0x24')]();};}function respondWithResult(_0x47903b,_0x40551d){_0x40551d=_0x40551d||0xc8;return function(_0x3859ce){if(_0x3859ce){return _0x47903b[_0xa757('0x25')](_0x40551d)['json'](_0x3859ce);}};}function respondWithFilteredResult(_0x2b19d5,_0xcd98bd){return function(_0x471e84){if(_0x471e84){var _0x3bf7f3=_0x471e84['count'],_0x5b4779=_0xcd98bd['offset'],_0x449a7d=_0xcd98bd['offset']+_0xcd98bd[_0xa757('0x26')],_0x54263b;if(_0x449a7d>=_0x3bf7f3){_0x449a7d=_0x3bf7f3;_0x54263b=0xc8;}else{_0x54263b=0xce;}_0x2b19d5['status'](_0x54263b);return _0x2b19d5[_0xa757('0x27')](_0xa757('0x28'),_0x5b4779+'-'+_0x449a7d+'/'+_0x3bf7f3)['json'](_0x471e84);}return null;};}function patchUpdates(_0x2a0c9a){return function(_0x5119ad){try{jsonpatch[_0xa757('0x29')](_0x5119ad,_0x2a0c9a,!![]);}catch(_0xa6d0f6){return BPromise['reject'](_0xa6d0f6);}return _0x5119ad[_0xa757('0x2a')]();};}function saveUpdates(_0x5ade7b,_0x3a4a66){return function(_0x27b3e2){if(_0x27b3e2){return _0x27b3e2[_0xa757('0x2b')](_0x5ade7b)[_0xa757('0x18')](function(_0xcc87c0){return _0xcc87c0;});}return null;};}function removeEntity(_0x2c1885,_0x1a44a9){return function(_0x2220df){if(_0x2220df){return _0x2220df[_0xa757('0x2c')]()[_0xa757('0x18')](function(){_0x2c1885[_0xa757('0x25')](0xcc)[_0xa757('0x24')]();});}};}function handleEntityNotFound(_0x25dfbb,_0x2dfb33){return function(_0x27be88){if(!_0x27be88){_0x25dfbb[_0xa757('0x23')](0x194);}return _0x27be88;};}function handleError(_0x3e64b7,_0x1ad384){_0x1ad384=_0x1ad384||0x1f4;return function(_0x1eacde){logger[_0xa757('0x1f')](_0x1eacde[_0xa757('0x2d')]);if(_0x1eacde[_0xa757('0x2e')]){delete _0x1eacde[_0xa757('0x2e')];}_0x3e64b7[_0xa757('0x25')](_0x1ad384)['send'](_0x1eacde);};}exports[_0xa757('0x2f')]=function(_0x21d6b3,_0x1e9d63){var _0x1794a9={},_0x1c4c40={},_0x51e2aa={'count':0x0,'rows':[]};var _0x1d4414=_[_0xa757('0x30')](db[_0xa757('0x31')][_0xa757('0x32')],function(_0xd54446){return{'name':_0xd54446[_0xa757('0x33')],'type':_0xd54446['type'][_0xa757('0x34')]};});_0x1c4c40[_0xa757('0x35')]=_[_0xa757('0x30')](_0x1d4414,_0xa757('0x2e'));_0x1c4c40[_0xa757('0x36')]=_[_0xa757('0x37')](_0x21d6b3[_0xa757('0x36')]);_0x1c4c40[_0xa757('0x38')]=_[_0xa757('0x39')](_0x1c4c40['model'],_0x1c4c40[_0xa757('0x36')]);_0x1794a9[_0xa757('0x3a')]=_[_0xa757('0x39')](_0x1c4c40[_0xa757('0x35')],qs[_0xa757('0x3b')](_0x21d6b3[_0xa757('0x36')]['fields']));_0x1794a9[_0xa757('0x3a')]=_0x1794a9[_0xa757('0x3a')]['length']?_0x1794a9['attributes']:_0x1c4c40[_0xa757('0x35')];if(!_0x21d6b3[_0xa757('0x36')]['hasOwnProperty']('nolimit')){_0x1794a9[_0xa757('0x26')]=qs[_0xa757('0x26')](_0x21d6b3[_0xa757('0x36')]['limit']);_0x1794a9[_0xa757('0x3c')]=qs[_0xa757('0x3c')](_0x21d6b3[_0xa757('0x36')][_0xa757('0x3c')]);}_0x1794a9[_0xa757('0x3d')]=qs['sort'](_0x21d6b3[_0xa757('0x36')]['sort']);_0x1794a9['where']=qs[_0xa757('0x38')](_[_0xa757('0x3e')](_0x21d6b3[_0xa757('0x36')],_0x1c4c40[_0xa757('0x38')]),_0x1d4414);if(_0x21d6b3[_0xa757('0x36')]['filter']){_0x1794a9['where']=_[_0xa757('0x3f')](_0x1794a9[_0xa757('0x40')],{'$or':_[_0xa757('0x30')](_0x1d4414,function(_0xe03a3c){if(_0xe03a3c[_0xa757('0x41')]!==_0xa757('0x42')){var _0x4f12b1={};_0x4f12b1[_0xe03a3c[_0xa757('0x2e')]]={'$like':'%'+_0x21d6b3[_0xa757('0x36')]['filter']+'%'};return _0x4f12b1;}})});}_0x1794a9=_[_0xa757('0x3f')]({},_0x1794a9,_0x21d6b3['options']);var _0x2d111e={'where':_0x1794a9[_0xa757('0x40')]};return db['SalesforceAccount'][_0xa757('0x43')](_0x2d111e)[_0xa757('0x18')](function(_0x4bee69){_0x51e2aa[_0xa757('0x43')]=_0x4bee69;if(_0x21d6b3[_0xa757('0x36')][_0xa757('0x44')]){_0x1794a9[_0xa757('0x45')]=[{'all':!![]}];}return db['SalesforceAccount'][_0xa757('0x46')](_0x1794a9);})[_0xa757('0x18')](function(_0x450815){_0x51e2aa[_0xa757('0x47')]=_0x450815;return _0x51e2aa;})['then'](respondWithFilteredResult(_0x1e9d63,_0x1794a9))[_0xa757('0x22')](handleError(_0x1e9d63,null));};exports['show']=function(_0x50c131,_0x2acf88){var _0x3c039d={'raw':![],'where':{'id':_0x50c131['params']['id']}},_0x1ae3ae={};_0x1ae3ae[_0xa757('0x35')]=_['keys'](db[_0xa757('0x31')][_0xa757('0x32')]);_0x1ae3ae[_0xa757('0x36')]=_[_0xa757('0x37')](_0x50c131[_0xa757('0x36')]);_0x1ae3ae[_0xa757('0x38')]=_[_0xa757('0x39')](_0x1ae3ae[_0xa757('0x35')],_0x1ae3ae['query']);_0x3c039d[_0xa757('0x3a')]=_[_0xa757('0x39')](_0x1ae3ae[_0xa757('0x35')],qs[_0xa757('0x3b')](_0x50c131[_0xa757('0x36')][_0xa757('0x3b')]));_0x3c039d[_0xa757('0x3a')]=_0x3c039d[_0xa757('0x3a')][_0xa757('0x48')]?_0x3c039d[_0xa757('0x3a')]:_0x1ae3ae[_0xa757('0x35')];if(_0x50c131[_0xa757('0x36')][_0xa757('0x44')]){_0x3c039d[_0xa757('0x45')]=[{'all':!![]}];}_0x3c039d=_[_0xa757('0x3f')]({},_0x3c039d,_0x50c131[_0xa757('0x49')]);return db['SalesforceAccount'][_0xa757('0x4a')](_0x3c039d)['then'](handleEntityNotFound(_0x2acf88,null))[_0xa757('0x18')](respondWithResult(_0x2acf88,null))[_0xa757('0x22')](handleError(_0x2acf88,null));};exports[_0xa757('0x4b')]=function(_0x24c0ad,_0x4cb461){return db[_0xa757('0x31')][_0xa757('0x4b')](_0x24c0ad[_0xa757('0x4c')],{})[_0xa757('0x18')](respondWithResult(_0x4cb461,0xc9))['catch'](handleError(_0x4cb461,null));};exports[_0xa757('0x2b')]=function(_0x2df5e1,_0x216b32){if(_0x2df5e1[_0xa757('0x4c')]['id']){delete _0x2df5e1[_0xa757('0x4c')]['id'];}return db[_0xa757('0x31')]['find']({'where':{'id':_0x2df5e1['params']['id']}})['then'](handleEntityNotFound(_0x216b32,null))['then'](saveUpdates(_0x2df5e1[_0xa757('0x4c')],null))[_0xa757('0x18')](respondWithResult(_0x216b32,null))[_0xa757('0x22')](handleError(_0x216b32,null));};exports[_0xa757('0x2c')]=function(_0x1e31ef,_0x2d290b){return db['SalesforceAccount'][_0xa757('0x4a')]({'where':{'id':_0x1e31ef[_0xa757('0x4d')]['id']}})[_0xa757('0x18')](handleEntityNotFound(_0x2d290b,null))[_0xa757('0x18')](removeEntity(_0x2d290b,null))['catch'](handleError(_0x2d290b,null));};exports[_0xa757('0x4e')]=function(_0x44c542,_0x4af840,_0x39699d){var _0x5cd0c3={};var _0x211980={};var _0x5d375c;var _0x51be6e;return db['SalesforceAccount']['findOne']({'where':{'id':_0x44c542[_0xa757('0x4d')]['id']}})[_0xa757('0x18')](handleEntityNotFound(_0x4af840,null))[_0xa757('0x18')](function(_0x1b5db5){if(_0x1b5db5){_0x5d375c=_0x1b5db5;_0x211980[_0xa757('0x35')]=_[_0xa757('0x37')](db['SalesforceConfiguration']['rawAttributes']);_0x211980[_0xa757('0x36')]=_[_0xa757('0x37')](_0x44c542[_0xa757('0x36')]);_0x211980['filters']=_['intersection'](_0x211980[_0xa757('0x35')],_0x211980[_0xa757('0x36')]);_0x5cd0c3[_0xa757('0x3a')]=_[_0xa757('0x39')](_0x211980[_0xa757('0x35')],qs[_0xa757('0x3b')](_0x44c542['query'][_0xa757('0x3b')]));_0x5cd0c3[_0xa757('0x3a')]=_0x5cd0c3[_0xa757('0x3a')][_0xa757('0x48')]?_0x5cd0c3[_0xa757('0x3a')]:_0x211980[_0xa757('0x35')];_0x5cd0c3[_0xa757('0x3d')]=qs[_0xa757('0x4f')](_0x44c542[_0xa757('0x36')][_0xa757('0x4f')]);_0x5cd0c3['where']=qs[_0xa757('0x38')](_['pick'](_0x44c542['query'],_0x211980[_0xa757('0x38')]));if(_0x44c542[_0xa757('0x36')][_0xa757('0x50')]){_0x5cd0c3[_0xa757('0x40')]=_[_0xa757('0x3f')](_0x5cd0c3[_0xa757('0x40')],{'$or':_[_0xa757('0x30')](_0x5cd0c3[_0xa757('0x3a')],function(_0x13e584){var _0x22a185={};_0x22a185[_0x13e584]={'$like':'%'+_0x44c542[_0xa757('0x36')]['filter']+'%'};return _0x22a185;})});}_0x5cd0c3=_[_0xa757('0x3f')]({},_0x5cd0c3,_0x44c542[_0xa757('0x49')]);return _0x5d375c['getConfigurations'](_0x5cd0c3);}})[_0xa757('0x18')](function(_0x409ee9){if(_0x409ee9){_0x51be6e=_0x409ee9[_0xa757('0x48')];if(!_0x44c542[_0xa757('0x36')][_0xa757('0x51')](_0xa757('0x52'))){_0x5cd0c3['limit']=qs[_0xa757('0x26')](_0x44c542['query'][_0xa757('0x26')]);_0x5cd0c3[_0xa757('0x3c')]=qs[_0xa757('0x3c')](_0x44c542[_0xa757('0x36')][_0xa757('0x3c')]);}return _0x5d375c['getConfigurations'](_0x5cd0c3);}})['then'](function(_0x1c8807){if(_0x1c8807){return _0x1c8807?{'count':_0x51be6e,'rows':_0x1c8807}:null;}})[_0xa757('0x18')](respondWithResult(_0x4af840,null))[_0xa757('0x22')](handleError(_0x4af840,null));};exports['addConfiguration']=function(_0x115a94,_0x55bc0f,_0x34982a){if(_0x115a94[_0xa757('0x4c')]['id']){delete _0x115a94[_0xa757('0x4c')]['id'];}return db[_0xa757('0x31')][_0xa757('0x53')]({'where':{'id':_0x115a94[_0xa757('0x4d')]['id']}})['then'](handleEntityNotFound(_0x55bc0f,null))[_0xa757('0x18')](function(_0x193233){if(_0x193233){_0x115a94[_0xa757('0x4c')][_0xa757('0x54')]=_0x193233['id'];_0x115a94[_0xa757('0x4c')]['Subjects']=integrations[_0xa757('0x55')](_0x115a94[_0xa757('0x4c')][_0xa757('0x56')],_0x115a94[_0xa757('0x4c')][_0xa757('0x41')]);_0x115a94['body'][_0xa757('0x57')]=integrations[_0xa757('0x58')](_0x115a94[_0xa757('0x4c')]['channel'],_0x115a94[_0xa757('0x4c')][_0xa757('0x41')]);return db[_0xa757('0x59')][_0xa757('0x4b')](_0x115a94[_0xa757('0x4c')],{'include':[{'model':db[_0xa757('0x5a')],'as':_0xa757('0x5b')},{'model':db[_0xa757('0x5a')],'as':_0xa757('0x57')}]});}return null;})[_0xa757('0x18')](respondWithResult(_0x55bc0f,null))[_0xa757('0x22')](handleError(_0x55bc0f,null));};exports[_0xa757('0x5c')]=function(_0x47425b,_0x3c44ac,_0x47e1f7){var _0x24dd89;var _0x21c85d='';var _0x532ab5=_0xa757('0x5d');return db[_0xa757('0x31')]['findOne']({'where':{'id':_0x47425b[_0xa757('0x4d')]['id']},'attributes':['id',_0xa757('0x5e'),_0xa757('0x5f'),_0xa757('0x60'),_0xa757('0x61'),_0xa757('0x62'),_0xa757('0x63')]})[_0xa757('0x18')](handleEntityNotFound(_0x3c44ac,null))[_0xa757('0x18')](function(_0x1bf42f){if(_0x1bf42f){_0x21c85d=_0x1bf42f[_0xa757('0x5e')];var _0x189195=_0x21c85d[_0xa757('0x64')](-0x1);if(_0x189195==='/'){_0x21c85d=_0x21c85d[_0xa757('0x65')](0x0,_0x21c85d[_0xa757('0x66')](_0x189195));}_0x24dd89=new jsforce[(_0xa757('0x67'))]({'oauth2':{'loginUrl':_0x21c85d,'clientId':_0x1bf42f['clientId'],'clientSecret':_0x1bf42f[_0xa757('0x60')]}});return _0x24dd89['login'](_0x1bf42f[_0xa757('0x61')],_0x1bf42f[_0xa757('0x62')][_0xa757('0x68')](_0x1bf42f[_0xa757('0x63')]));}})[_0xa757('0x18')](function(_0x481507){if(_0x481507){if(!_[_0xa757('0x69')](_0x47425b[_0xa757('0x36')][_0xa757('0x6a')])){_0x532ab5=_0x47425b['query'][_0xa757('0x6a')];}return _0x24dd89[_0xa757('0x6b')](_0x532ab5)[_0xa757('0x6c')]();}})['then'](function(_0x501134){var _0x1f437d=[_0xa757('0x6d'),_0xa757('0x6e'),'CallObject',_0xa757('0x6f'),'IsArchived','Priority',_0xa757('0x70'),_0xa757('0x71')];if(!_[_0xa757('0x69')](_0x47425b['query'][_0xa757('0x6a')])&&_0x47425b[_0xa757('0x36')][_0xa757('0x6a')]===_0xa757('0x72')){_0x1f437d=[_0xa757('0x71'),_0xa757('0x73'),_0xa757('0x74'),_0xa757('0x70'),_0xa757('0x75'),_0xa757('0x76'),_0xa757('0x77'),_0xa757('0x78')];}if(_0x501134){_['remove'](_0x501134[_0xa757('0x3b')],function(_0x1b624f){return _0x1b624f[_0xa757('0x79')]===![]&&!_0x1f437d[_0xa757('0x7a')](_0x1b624f[_0xa757('0x2e')]);});return{'count':_0x501134[_0xa757('0x3b')][_0xa757('0x48')],'rows':_[_0xa757('0x30')](_0x501134[_0xa757('0x3b')],function(_0x2d34b7){return{'id':_0x2d34b7[_0xa757('0x2e')],'name':_0x2d34b7[_0xa757('0x7b')],'custom':_0x2d34b7[_0xa757('0x79')],'options':_0x2d34b7[_0xa757('0x7c')][_0xa757('0x48')]>0x0?_[_0xa757('0x30')](_0x2d34b7[_0xa757('0x7c')],function(_0x3c4e41){return{'name':_0x3c4e41[_0xa757('0x7b')],'value':_0x3c4e41[_0xa757('0x7d')]};}):_0x2d34b7[_0xa757('0x41')]==_0xa757('0x7e')?[{'name':'True','value':_0xa757('0x7f')},{'name':_0xa757('0x80'),'value':'false'}]:[]};})};}})[_0xa757('0x18')](respondWithResult(_0x3c44ac,null))['catch'](function(_0x433c20){var _0x19d7c8=_0x47425b['query'][_0xa757('0x81')]?0x1f4:_0x433c20[_0xa757('0x82')]||0x1f4;logger[_0xa757('0x1f')](_0xa757('0x83'),'getFields',_0x19d7c8,JSON[_0xa757('0x1d')](_0x433c20));delete _0x433c20[_0xa757('0x2e')];if(_0x19d7c8===0x191){_0x19d7c8=0x190;}_0x3c44ac['status'](_0x19d7c8)[_0xa757('0x84')](_0x47425b[_0xa757('0x36')]['test']?{'message':_0xa757('0x85'),'statusCode':_0x433c20[_0xa757('0x82')]}:_0x433c20);});};