Built motion from commit (unavailable).|2.5.9
[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 _0x25e7=['count','includeAll','findAll','show','keys','rawAttributes','include','options','find','catch','create','body','params','destroy','findOne','order','getConfigurations','addConfiguration','Subjects','channel','Descriptions','getDescriptions','SalesforceConfiguration','SalesforceField','getFields','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','Connection','login','isNil','ticketType','sobject','describe','CallDurationInSeconds','CallType','IsArchived','Status','Type','Case','Origin','Reason','Priority','IsEscalated','SuppliedName','SuppliedCompany','remove','custom','includes','label','picklistValues','value','boolean','true','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../components/integrations/configuration','jayson/promise','http','request','then','info','SalesforceAccount,\x20%s,\x20%s','request\x20sent','SalesforceAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','json','offset','limit','Content-Range','apply','reject','save','update','status','stack','name','send','index','map','SalesforceAccount','fieldName','type','key','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','filter','merge','VIRTUAL'];(function(_0x16b9ed,_0x56517a){var _0x66b1f8=function(_0x1c883){while(--_0x1c883){_0x16b9ed['push'](_0x16b9ed['shift']());}};_0x66b1f8(++_0x56517a);}(_0x25e7,0x1d6));var _0x725e=function(_0x2a416a,_0x2f0660){_0x2a416a=_0x2a416a-0x0;var _0x52bb59=_0x25e7[_0x2a416a];return _0x52bb59;};'use strict';var pdf=require(_0x725e('0x0'));var emlformat=require(_0x725e('0x1'));var rimraf=require(_0x725e('0x2'));var zipdir=require(_0x725e('0x3'));var jsonpatch=require(_0x725e('0x4'));var rp=require(_0x725e('0x5'));var moment=require(_0x725e('0x6'));var BPromise=require(_0x725e('0x7'));var Mustache=require(_0x725e('0x8'));var util=require(_0x725e('0x9'));var path=require('path');var sox=require('sox');var csv=require(_0x725e('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x725e('0xb'));var crypto=require(_0x725e('0xc'));var jsforce=require(_0x725e('0xd'));var deskjs=require(_0x725e('0xe'));var toCsv=require(_0x725e('0xa'));var querystring=require(_0x725e('0xf'));var Papa=require(_0x725e('0x10'));var Redis=require(_0x725e('0x11'));var authService=require(_0x725e('0x12'));var qs=require(_0x725e('0x13'));var as=require(_0x725e('0x14'));var hardwareService=require(_0x725e('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x725e('0x16'));var config=require(_0x725e('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require(_0x725e('0x18'));var jayson=require(_0x725e('0x19'));var client=jayson['client'][_0x725e('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x126604,_0x2f1ae4,_0x4e0515,_0x3f8052){return new BPromise(function(_0x221e02,_0x44e652){var _0x2e78d2=_0x3f8052||client;return _0x2e78d2[_0x725e('0x1b')](_0x126604,_0x4e0515)[_0x725e('0x1c')](function(_0x523422){logger[_0x725e('0x1d')](_0x725e('0x1e'),_0x2f1ae4,_0x725e('0x1f'));logger['debug'](_0x725e('0x20'),_0x2f1ae4,_0x725e('0x1f'),JSON[_0x725e('0x21')](_0x523422));if(_0x523422[_0x725e('0x22')]){if(_0x523422[_0x725e('0x22')][_0x725e('0x23')]===0x1f4){logger['error'](_0x725e('0x1e'),_0x2f1ae4,_0x523422[_0x725e('0x22')][_0x725e('0x24')]);return _0x44e652(_0x523422[_0x725e('0x22')][_0x725e('0x24')]);}logger[_0x725e('0x22')]('SalesforceAccount,\x20%s,\x20%s',_0x2f1ae4,_0x523422[_0x725e('0x22')][_0x725e('0x24')]);return _0x221e02(_0x523422[_0x725e('0x22')][_0x725e('0x24')]);}else{logger[_0x725e('0x1d')](_0x725e('0x1e'),_0x2f1ae4,_0x725e('0x1f'));_0x221e02(_0x523422[_0x725e('0x25')][_0x725e('0x24')]);}})['catch'](function(_0x10be1c){logger[_0x725e('0x22')](_0x725e('0x1e'),_0x2f1ae4,_0x10be1c);_0x44e652(_0x10be1c);});});}function respondWithStatusCode(_0x3facae,_0x5a8191){_0x5a8191=_0x5a8191||0xcc;return function(_0xffe474){if(_0xffe474){return _0x3facae['sendStatus'](_0x5a8191);}return _0x3facae['status'](_0x5a8191)['end']();};}function respondWithResult(_0x2aad7b,_0x1cbaae){_0x1cbaae=_0x1cbaae||0xc8;return function(_0x2d3c55){if(_0x2d3c55){return _0x2aad7b['status'](_0x1cbaae)[_0x725e('0x26')](_0x2d3c55);}};}function respondWithFilteredResult(_0x8a138f,_0x5a5bef){return function(_0x14e9e0){if(_0x14e9e0){var _0x339a58=_0x14e9e0['count'],_0x4b0d0c=_0x5a5bef[_0x725e('0x27')],_0x378ace=_0x5a5bef['offset']+_0x5a5bef[_0x725e('0x28')],_0x5daa2d;if(_0x378ace>=_0x339a58){_0x378ace=_0x339a58;_0x5daa2d=0xc8;}else{_0x5daa2d=0xce;}_0x8a138f['status'](_0x5daa2d);return _0x8a138f['set'](_0x725e('0x29'),_0x4b0d0c+'-'+_0x378ace+'/'+_0x339a58)[_0x725e('0x26')](_0x14e9e0);}return null;};}function patchUpdates(_0x33fe34){return function(_0x545237){try{jsonpatch[_0x725e('0x2a')](_0x545237,_0x33fe34,!![]);}catch(_0x5b03d9){return BPromise[_0x725e('0x2b')](_0x5b03d9);}return _0x545237[_0x725e('0x2c')]();};}function saveUpdates(_0x39932f,_0x28951f){return function(_0x3050e6){if(_0x3050e6){return _0x3050e6[_0x725e('0x2d')](_0x39932f)[_0x725e('0x1c')](function(_0x100c63){return _0x100c63;});}return null;};}function removeEntity(_0x4271d2,_0x3e7637){return function(_0x9179a4){if(_0x9179a4){return _0x9179a4['destroy']()[_0x725e('0x1c')](function(){_0x4271d2[_0x725e('0x2e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43f3c6,_0x4f2571){return function(_0x351ce4){if(!_0x351ce4){_0x43f3c6['sendStatus'](0x194);}return _0x351ce4;};}function handleError(_0xcc0c37,_0x5f0c8a){_0x5f0c8a=_0x5f0c8a||0x1f4;return function(_0x1f2898){logger[_0x725e('0x22')](_0x1f2898[_0x725e('0x2f')]);if(_0x1f2898[_0x725e('0x30')]){delete _0x1f2898['name'];}_0xcc0c37['status'](_0x5f0c8a)[_0x725e('0x31')](_0x1f2898);};}exports[_0x725e('0x32')]=function(_0x224942,_0x4d8e27){var _0x425eba={},_0x47da52={},_0x3ce327={'count':0x0,'rows':[]};var _0x1ed482=_[_0x725e('0x33')](db[_0x725e('0x34')]['rawAttributes'],function(_0x5d97f0){return{'name':_0x5d97f0[_0x725e('0x35')],'type':_0x5d97f0[_0x725e('0x36')][_0x725e('0x37')]};});_0x47da52['model']=_[_0x725e('0x33')](_0x1ed482,_0x725e('0x30'));_0x47da52[_0x725e('0x38')]=_['keys'](_0x224942[_0x725e('0x38')]);_0x47da52['filters']=_[_0x725e('0x39')](_0x47da52[_0x725e('0x3a')],_0x47da52[_0x725e('0x38')]);_0x425eba[_0x725e('0x3b')]=_[_0x725e('0x39')](_0x47da52['model'],qs['fields'](_0x224942[_0x725e('0x38')][_0x725e('0x3c')]));_0x425eba[_0x725e('0x3b')]=_0x425eba['attributes'][_0x725e('0x3d')]?_0x425eba['attributes']:_0x47da52[_0x725e('0x3a')];if(!_0x224942[_0x725e('0x38')][_0x725e('0x3e')](_0x725e('0x3f'))){_0x425eba['limit']=qs[_0x725e('0x28')](_0x224942[_0x725e('0x38')][_0x725e('0x28')]);_0x425eba[_0x725e('0x27')]=qs[_0x725e('0x27')](_0x224942[_0x725e('0x38')][_0x725e('0x27')]);}_0x425eba['order']=qs[_0x725e('0x40')](_0x224942[_0x725e('0x38')]['sort']);_0x425eba[_0x725e('0x41')]=qs[_0x725e('0x42')](_['pick'](_0x224942['query'],_0x47da52['filters']),_0x1ed482);if(_0x224942['query'][_0x725e('0x43')]){_0x425eba[_0x725e('0x41')]=_[_0x725e('0x44')](_0x425eba['where'],{'$or':_[_0x725e('0x33')](_0x1ed482,function(_0x540d3f){if(_0x540d3f['type']!==_0x725e('0x45')){var _0x388afc={};_0x388afc[_0x540d3f[_0x725e('0x30')]]={'$like':'%'+_0x224942[_0x725e('0x38')][_0x725e('0x43')]+'%'};return _0x388afc;}})});}_0x425eba=_[_0x725e('0x44')]({},_0x425eba,_0x224942['options']);var _0x14b2c2={'where':_0x425eba['where']};return db[_0x725e('0x34')][_0x725e('0x46')](_0x14b2c2)['then'](function(_0x2877d9){_0x3ce327['count']=_0x2877d9;if(_0x224942[_0x725e('0x38')][_0x725e('0x47')]){_0x425eba['include']=[{'all':!![]}];}return db['SalesforceAccount'][_0x725e('0x48')](_0x425eba);})['then'](function(_0x25e57b){_0x3ce327['rows']=_0x25e57b;return _0x3ce327;})['then'](respondWithFilteredResult(_0x4d8e27,_0x425eba))['catch'](handleError(_0x4d8e27,null));};exports[_0x725e('0x49')]=function(_0x38a81f,_0x4a4b6b){var _0x1afd73={'raw':![],'where':{'id':_0x38a81f['params']['id']}},_0x252c20={};_0x252c20[_0x725e('0x3a')]=_[_0x725e('0x4a')](db[_0x725e('0x34')][_0x725e('0x4b')]);_0x252c20[_0x725e('0x38')]=_[_0x725e('0x4a')](_0x38a81f[_0x725e('0x38')]);_0x252c20[_0x725e('0x42')]=_[_0x725e('0x39')](_0x252c20[_0x725e('0x3a')],_0x252c20[_0x725e('0x38')]);_0x1afd73[_0x725e('0x3b')]=_[_0x725e('0x39')](_0x252c20['model'],qs[_0x725e('0x3c')](_0x38a81f['query'][_0x725e('0x3c')]));_0x1afd73[_0x725e('0x3b')]=_0x1afd73[_0x725e('0x3b')][_0x725e('0x3d')]?_0x1afd73[_0x725e('0x3b')]:_0x252c20[_0x725e('0x3a')];if(_0x38a81f[_0x725e('0x38')][_0x725e('0x47')]){_0x1afd73[_0x725e('0x4c')]=[{'all':!![]}];}_0x1afd73=_[_0x725e('0x44')]({},_0x1afd73,_0x38a81f[_0x725e('0x4d')]);return db[_0x725e('0x34')][_0x725e('0x4e')](_0x1afd73)[_0x725e('0x1c')](handleEntityNotFound(_0x4a4b6b,null))[_0x725e('0x1c')](respondWithResult(_0x4a4b6b,null))[_0x725e('0x4f')](handleError(_0x4a4b6b,null));};exports[_0x725e('0x50')]=function(_0x376d24,_0x5cda07){return db[_0x725e('0x34')]['create'](_0x376d24[_0x725e('0x51')],{})[_0x725e('0x1c')](respondWithResult(_0x5cda07,0xc9))['catch'](handleError(_0x5cda07,null));};exports[_0x725e('0x2d')]=function(_0x4a1ecd,_0x3a2d0a){if(_0x4a1ecd[_0x725e('0x51')]['id']){delete _0x4a1ecd[_0x725e('0x51')]['id'];}return db['SalesforceAccount'][_0x725e('0x4e')]({'where':{'id':_0x4a1ecd[_0x725e('0x52')]['id']}})[_0x725e('0x1c')](handleEntityNotFound(_0x3a2d0a,null))[_0x725e('0x1c')](saveUpdates(_0x4a1ecd[_0x725e('0x51')],null))[_0x725e('0x1c')](respondWithResult(_0x3a2d0a,null))[_0x725e('0x4f')](handleError(_0x3a2d0a,null));};exports[_0x725e('0x53')]=function(_0x544b09,_0x46c0bc){return db[_0x725e('0x34')]['find']({'where':{'id':_0x544b09['params']['id']}})[_0x725e('0x1c')](handleEntityNotFound(_0x46c0bc,null))[_0x725e('0x1c')](removeEntity(_0x46c0bc,null))['catch'](handleError(_0x46c0bc,null));};exports['getConfigurations']=function(_0x366178,_0x2c343f,_0x35af2d){var _0x2158ef={};var _0x38afad={};var _0x1e7e92;var _0x591c00;return db[_0x725e('0x34')][_0x725e('0x54')]({'where':{'id':_0x366178['params']['id']}})[_0x725e('0x1c')](handleEntityNotFound(_0x2c343f,null))[_0x725e('0x1c')](function(_0x2194ec){if(_0x2194ec){_0x1e7e92=_0x2194ec;_0x38afad[_0x725e('0x3a')]=_[_0x725e('0x4a')](db['SalesforceConfiguration'][_0x725e('0x4b')]);_0x38afad[_0x725e('0x38')]=_[_0x725e('0x4a')](_0x366178[_0x725e('0x38')]);_0x38afad[_0x725e('0x42')]=_[_0x725e('0x39')](_0x38afad['model'],_0x38afad[_0x725e('0x38')]);_0x2158ef['attributes']=_['intersection'](_0x38afad[_0x725e('0x3a')],qs['fields'](_0x366178['query'][_0x725e('0x3c')]));_0x2158ef[_0x725e('0x3b')]=_0x2158ef[_0x725e('0x3b')][_0x725e('0x3d')]?_0x2158ef[_0x725e('0x3b')]:_0x38afad[_0x725e('0x3a')];_0x2158ef[_0x725e('0x55')]=qs['sort'](_0x366178[_0x725e('0x38')][_0x725e('0x40')]);_0x2158ef[_0x725e('0x41')]=qs['filters'](_['pick'](_0x366178[_0x725e('0x38')],_0x38afad[_0x725e('0x42')]));if(_0x366178[_0x725e('0x38')][_0x725e('0x43')]){_0x2158ef[_0x725e('0x41')]=_[_0x725e('0x44')](_0x2158ef[_0x725e('0x41')],{'$or':_['map'](_0x2158ef[_0x725e('0x3b')],function(_0x5c31b6){var _0x3264a3={};_0x3264a3[_0x5c31b6]={'$like':'%'+_0x366178['query'][_0x725e('0x43')]+'%'};return _0x3264a3;})});}_0x2158ef=_[_0x725e('0x44')]({},_0x2158ef,_0x366178[_0x725e('0x4d')]);return _0x1e7e92['getConfigurations'](_0x2158ef);}})[_0x725e('0x1c')](function(_0x13249a){if(_0x13249a){_0x591c00=_0x13249a[_0x725e('0x3d')];if(!_0x366178[_0x725e('0x38')][_0x725e('0x3e')](_0x725e('0x3f'))){_0x2158ef[_0x725e('0x28')]=qs[_0x725e('0x28')](_0x366178[_0x725e('0x38')]['limit']);_0x2158ef[_0x725e('0x27')]=qs[_0x725e('0x27')](_0x366178['query'][_0x725e('0x27')]);}return _0x1e7e92[_0x725e('0x56')](_0x2158ef);}})[_0x725e('0x1c')](function(_0x36d9c7){if(_0x36d9c7){return _0x36d9c7?{'count':_0x591c00,'rows':_0x36d9c7}:null;}})[_0x725e('0x1c')](respondWithResult(_0x2c343f,null))[_0x725e('0x4f')](handleError(_0x2c343f,null));};exports[_0x725e('0x57')]=function(_0x5a54e6,_0x5e54b6,_0x5216eb){if(_0x5a54e6[_0x725e('0x51')]['id']){delete _0x5a54e6[_0x725e('0x51')]['id'];}return db[_0x725e('0x34')]['findOne']({'where':{'id':_0x5a54e6[_0x725e('0x52')]['id']}})[_0x725e('0x1c')](handleEntityNotFound(_0x5e54b6,null))['then'](function(_0x4fa267){if(_0x4fa267){_0x5a54e6[_0x725e('0x51')]['AccountId']=_0x4fa267['id'];_0x5a54e6[_0x725e('0x51')][_0x725e('0x58')]=integrations['getSubjects'](_0x5a54e6[_0x725e('0x51')][_0x725e('0x59')],_0x5a54e6[_0x725e('0x51')]['type']);_0x5a54e6[_0x725e('0x51')][_0x725e('0x5a')]=integrations[_0x725e('0x5b')](_0x5a54e6['body'][_0x725e('0x59')],_0x5a54e6[_0x725e('0x51')][_0x725e('0x36')]);return db[_0x725e('0x5c')][_0x725e('0x50')](_0x5a54e6['body'],{'include':[{'model':db['SalesforceField'],'as':_0x725e('0x58')},{'model':db[_0x725e('0x5d')],'as':_0x725e('0x5a')}]});}return null;})['then'](respondWithResult(_0x5e54b6,null))[_0x725e('0x4f')](handleError(_0x5e54b6,null));};exports[_0x725e('0x5e')]=function(_0x4d0809,_0x28bb11,_0xb56056){var _0xe5ab8e;var _0x1feaef='';var _0x42af7e='Task';return db[_0x725e('0x34')]['findOne']({'where':{'id':_0x4d0809[_0x725e('0x52')]['id']},'attributes':['id',_0x725e('0x5f'),_0x725e('0x60'),_0x725e('0x61'),_0x725e('0x62'),_0x725e('0x63'),_0x725e('0x64')]})[_0x725e('0x1c')](handleEntityNotFound(_0x28bb11,null))[_0x725e('0x1c')](function(_0x4f95f6){if(_0x4f95f6){_0x1feaef=_0x4f95f6[_0x725e('0x5f')];var _0x1a89d1=_0x1feaef[_0x725e('0x65')](-0x1);if(_0x1a89d1==='/'){_0x1feaef=_0x1feaef[_0x725e('0x66')](0x0,_0x1feaef['lastIndexOf'](_0x1a89d1));}_0xe5ab8e=new jsforce[(_0x725e('0x67'))]({'oauth2':{'loginUrl':_0x1feaef,'clientId':_0x4f95f6[_0x725e('0x60')],'clientSecret':_0x4f95f6[_0x725e('0x61')]}});return _0xe5ab8e[_0x725e('0x68')](_0x4f95f6['username'],_0x4f95f6[_0x725e('0x63')]['concat'](_0x4f95f6[_0x725e('0x64')]));}})['then'](function(_0x5bc745){if(_0x5bc745){if(!_[_0x725e('0x69')](_0x4d0809['query'][_0x725e('0x6a')])){_0x42af7e=_0x4d0809['query'][_0x725e('0x6a')];}return _0xe5ab8e[_0x725e('0x6b')](_0x42af7e)[_0x725e('0x6c')]();}})['then'](function(_0x134822){var _0x25f652=['CallDisposition',_0x725e('0x6d'),'CallObject',_0x725e('0x6e'),_0x725e('0x6f'),'Priority',_0x725e('0x70'),_0x725e('0x71')];if(!_[_0x725e('0x69')](_0x4d0809[_0x725e('0x38')][_0x725e('0x6a')])&&_0x4d0809[_0x725e('0x38')][_0x725e('0x6a')]===_0x725e('0x72')){_0x25f652=[_0x725e('0x71'),_0x725e('0x73'),_0x725e('0x74'),_0x725e('0x70'),_0x725e('0x75'),_0x725e('0x76'),_0x725e('0x77'),_0x725e('0x78')];}if(_0x134822){_[_0x725e('0x79')](_0x134822['fields'],function(_0x2e9c36){return _0x2e9c36[_0x725e('0x7a')]===![]&&!_0x25f652[_0x725e('0x7b')](_0x2e9c36[_0x725e('0x30')]);});return{'count':_0x134822[_0x725e('0x3c')][_0x725e('0x3d')],'rows':_[_0x725e('0x33')](_0x134822[_0x725e('0x3c')],function(_0x510acf){return{'id':_0x510acf['name'],'name':_0x510acf[_0x725e('0x7c')],'custom':_0x510acf[_0x725e('0x7a')],'options':_0x510acf[_0x725e('0x7d')]['length']>0x0?_['map'](_0x510acf[_0x725e('0x7d')],function(_0x3b9459){return{'name':_0x3b9459[_0x725e('0x7c')],'value':_0x3b9459[_0x725e('0x7e')]};}):_0x510acf[_0x725e('0x36')]==_0x725e('0x7f')?[{'name':'True','value':_0x725e('0x80')},{'name':_0x725e('0x81'),'value':_0x725e('0x82')}]:[]};})};}})['then'](respondWithResult(_0x28bb11,null))[_0x725e('0x4f')](function(_0x3c1a92){var _0x585ab1=_0x4d0809[_0x725e('0x38')][_0x725e('0x83')]?0x1f4:_0x3c1a92[_0x725e('0x84')]||0x1f4;logger[_0x725e('0x22')](_0x725e('0x85'),_0x725e('0x5e'),_0x585ab1,JSON['stringify'](_0x3c1a92));delete _0x3c1a92['name'];if(_0x585ab1===0x191){_0x585ab1=0x190;}_0x28bb11[_0x725e('0x2e')](_0x585ab1)[_0x725e('0x31')](_0x4d0809[_0x725e('0x38')][_0x725e('0x83')]?{'message':_0x725e('0x86'),'statusCode':_0x3c1a92['statusCode']}:_0x3c1a92);});};