Built motion from commit (unavailable).|2.5.5
[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 _0x21f5=['nolimit','offset','order','sort','pick','where','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','rows','show','params','keys','find','create','update','body','getConfigurations','findOne','SalesforceConfiguration','addConfiguration','Subjects','getSubjects','Descriptions','channel','SalesforceField','getFields','Task','remoteUri','clientSecret','username','securityToken','slice','substring','Connection','login','concat','isNil','ticketType','describe','CallDisposition','CallDurationInSeconds','CallObject','IsArchived','Priority','Type','Origin','Reason','Status','IsEscalated','SuppliedName','remove','includes','custom','picklistValues','label','True','true','False','false','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','client','http','request','then','info','SalesforceAccount,\x20%s,\x20%s','request\x20sent','debug','SalesforceAccount,\x20%s,\x20%s,\x20%s','error','message','result','catch','sendStatus','status','end','json','count','limit','Content-Range','save','destroy','stack','name','index','map','SalesforceAccount','rawAttributes','fieldName','query','filters','intersection','model','fields','attributes','length','hasOwnProperty'];(function(_0x43f832,_0x38e7ac){var _0x22b710=function(_0x59e88d){while(--_0x59e88d){_0x43f832['push'](_0x43f832['shift']());}};_0x22b710(++_0x38e7ac);}(_0x21f5,0x1cf));var _0x521f=function(_0x4fa26a,_0x585742){_0x4fa26a=_0x4fa26a-0x0;var _0x35e891=_0x21f5[_0x4fa26a];return _0x35e891;};'use strict';var pdf=require(_0x521f('0x0'));var emlformat=require(_0x521f('0x1'));var rimraf=require(_0x521f('0x2'));var zipdir=require(_0x521f('0x3'));var jsonpatch=require(_0x521f('0x4'));var rp=require(_0x521f('0x5'));var moment=require('moment');var BPromise=require(_0x521f('0x6'));var Mustache=require(_0x521f('0x7'));var util=require('util');var path=require(_0x521f('0x8'));var sox=require(_0x521f('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x521f('0xa'));var squel=require(_0x521f('0xb'));var crypto=require(_0x521f('0xc'));var jsforce=require(_0x521f('0xd'));var deskjs=require(_0x521f('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x521f('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x521f('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x521f('0x11'));var logger=require(_0x521f('0x12'))(_0x521f('0x13'));var utils=require(_0x521f('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x521f('0x15'));var db=require(_0x521f('0x16'))['db'];var integrations=require(_0x521f('0x17'));var jayson=require('jayson/promise');var client=jayson[_0x521f('0x18')][_0x521f('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x542ecc,_0x3f57a0,_0x53b3d4,_0x756ad){return new BPromise(function(_0x12ab0f,_0x4976f8){var _0x3184f7=_0x756ad||client;return _0x3184f7[_0x521f('0x1a')](_0x542ecc,_0x53b3d4)[_0x521f('0x1b')](function(_0x52f5d0){logger[_0x521f('0x1c')](_0x521f('0x1d'),_0x3f57a0,_0x521f('0x1e'));logger[_0x521f('0x1f')](_0x521f('0x20'),_0x3f57a0,_0x521f('0x1e'),JSON['stringify'](_0x52f5d0));if(_0x52f5d0[_0x521f('0x21')]){if(_0x52f5d0['error']['code']===0x1f4){logger[_0x521f('0x21')](_0x521f('0x1d'),_0x3f57a0,_0x52f5d0[_0x521f('0x21')][_0x521f('0x22')]);return _0x4976f8(_0x52f5d0['error'][_0x521f('0x22')]);}logger['error'](_0x521f('0x1d'),_0x3f57a0,_0x52f5d0['error']['message']);return _0x12ab0f(_0x52f5d0[_0x521f('0x21')][_0x521f('0x22')]);}else{logger[_0x521f('0x1c')](_0x521f('0x1d'),_0x3f57a0,_0x521f('0x1e'));_0x12ab0f(_0x52f5d0[_0x521f('0x23')][_0x521f('0x22')]);}})[_0x521f('0x24')](function(_0x6f1e60){logger[_0x521f('0x21')](_0x521f('0x1d'),_0x3f57a0,_0x6f1e60);_0x4976f8(_0x6f1e60);});});}function respondWithStatusCode(_0x315f74,_0xcb0af7){_0xcb0af7=_0xcb0af7||0xcc;return function(_0x1ad3b6){if(_0x1ad3b6){return _0x315f74[_0x521f('0x25')](_0xcb0af7);}return _0x315f74[_0x521f('0x26')](_0xcb0af7)[_0x521f('0x27')]();};}function respondWithResult(_0x38f4d2,_0x234ca5){_0x234ca5=_0x234ca5||0xc8;return function(_0x5e5f73){if(_0x5e5f73){return _0x38f4d2[_0x521f('0x26')](_0x234ca5)[_0x521f('0x28')](_0x5e5f73);}};}function respondWithFilteredResult(_0x29dc97,_0x3a07ba){return function(_0x50ce6a){if(_0x50ce6a){var _0x2dd306=_0x50ce6a[_0x521f('0x29')],_0xb3eeb2=_0x3a07ba['offset'],_0x1f61fa=_0x3a07ba['offset']+_0x3a07ba[_0x521f('0x2a')],_0x413e47;if(_0x1f61fa>=_0x2dd306){_0x1f61fa=_0x2dd306;_0x413e47=0xc8;}else{_0x413e47=0xce;}_0x29dc97[_0x521f('0x26')](_0x413e47);return _0x29dc97['set'](_0x521f('0x2b'),_0xb3eeb2+'-'+_0x1f61fa+'/'+_0x2dd306)[_0x521f('0x28')](_0x50ce6a);}return null;};}function patchUpdates(_0x2fa4f1){return function(_0x2463be){try{jsonpatch['apply'](_0x2463be,_0x2fa4f1,!![]);}catch(_0x189890){return BPromise['reject'](_0x189890);}return _0x2463be[_0x521f('0x2c')]();};}function saveUpdates(_0x361c1e,_0x56e645){return function(_0x5e89cc){if(_0x5e89cc){return _0x5e89cc['update'](_0x361c1e)[_0x521f('0x1b')](function(_0x573c8c){return _0x573c8c;});}return null;};}function removeEntity(_0x4aac06,_0x405245){return function(_0x355d3f){if(_0x355d3f){return _0x355d3f[_0x521f('0x2d')]()[_0x521f('0x1b')](function(){_0x4aac06['status'](0xcc)[_0x521f('0x27')]();});}};}function handleEntityNotFound(_0x2ffdd0,_0x16550b){return function(_0x515d23){if(!_0x515d23){_0x2ffdd0[_0x521f('0x25')](0x194);}return _0x515d23;};}function handleError(_0x500451,_0x34fa51){_0x34fa51=_0x34fa51||0x1f4;return function(_0x578eb5){logger['error'](_0x578eb5[_0x521f('0x2e')]);if(_0x578eb5[_0x521f('0x2f')]){delete _0x578eb5[_0x521f('0x2f')];}_0x500451[_0x521f('0x26')](_0x34fa51)['send'](_0x578eb5);};}exports[_0x521f('0x30')]=function(_0x96a89f,_0xde40af){var _0xcd6d4c={},_0x156bf4={},_0x10ce1b={'count':0x0,'rows':[]};var _0x2323e4=_[_0x521f('0x31')](db[_0x521f('0x32')][_0x521f('0x33')],function(_0xa57800){return{'name':_0xa57800[_0x521f('0x34')],'type':_0xa57800['type']['key']};});_0x156bf4['model']=_['map'](_0x2323e4,_0x521f('0x2f'));_0x156bf4[_0x521f('0x35')]=_['keys'](_0x96a89f[_0x521f('0x35')]);_0x156bf4[_0x521f('0x36')]=_[_0x521f('0x37')](_0x156bf4['model'],_0x156bf4[_0x521f('0x35')]);_0xcd6d4c['attributes']=_[_0x521f('0x37')](_0x156bf4[_0x521f('0x38')],qs['fields'](_0x96a89f[_0x521f('0x35')][_0x521f('0x39')]));_0xcd6d4c[_0x521f('0x3a')]=_0xcd6d4c[_0x521f('0x3a')][_0x521f('0x3b')]?_0xcd6d4c[_0x521f('0x3a')]:_0x156bf4[_0x521f('0x38')];if(!_0x96a89f['query'][_0x521f('0x3c')](_0x521f('0x3d'))){_0xcd6d4c['limit']=qs[_0x521f('0x2a')](_0x96a89f[_0x521f('0x35')][_0x521f('0x2a')]);_0xcd6d4c[_0x521f('0x3e')]=qs[_0x521f('0x3e')](_0x96a89f[_0x521f('0x35')][_0x521f('0x3e')]);}_0xcd6d4c[_0x521f('0x3f')]=qs[_0x521f('0x40')](_0x96a89f[_0x521f('0x35')][_0x521f('0x40')]);_0xcd6d4c['where']=qs[_0x521f('0x36')](_[_0x521f('0x41')](_0x96a89f[_0x521f('0x35')],_0x156bf4[_0x521f('0x36')]),_0x2323e4);if(_0x96a89f[_0x521f('0x35')]['filter']){_0xcd6d4c[_0x521f('0x42')]=_[_0x521f('0x43')](_0xcd6d4c[_0x521f('0x42')],{'$or':_['map'](_0x2323e4,function(_0xe0aab2){if(_0xe0aab2[_0x521f('0x44')]!==_0x521f('0x45')){var _0x4bb2e2={};_0x4bb2e2[_0xe0aab2['name']]={'$like':'%'+_0x96a89f['query'][_0x521f('0x46')]+'%'};return _0x4bb2e2;}})});}_0xcd6d4c=_[_0x521f('0x43')]({},_0xcd6d4c,_0x96a89f[_0x521f('0x47')]);var _0x59c41f={'where':_0xcd6d4c['where']};return db[_0x521f('0x32')][_0x521f('0x29')](_0x59c41f)[_0x521f('0x1b')](function(_0x3e743d){_0x10ce1b[_0x521f('0x29')]=_0x3e743d;if(_0x96a89f['query'][_0x521f('0x48')]){_0xcd6d4c[_0x521f('0x49')]=[{'all':!![]}];}return db[_0x521f('0x32')][_0x521f('0x4a')](_0xcd6d4c);})[_0x521f('0x1b')](function(_0xacc254){_0x10ce1b[_0x521f('0x4b')]=_0xacc254;return _0x10ce1b;})[_0x521f('0x1b')](respondWithFilteredResult(_0xde40af,_0xcd6d4c))[_0x521f('0x24')](handleError(_0xde40af,null));};exports[_0x521f('0x4c')]=function(_0x3cbc56,_0x2f0461){var _0x3be627={'raw':![],'where':{'id':_0x3cbc56[_0x521f('0x4d')]['id']}},_0x370d69={};_0x370d69['model']=_[_0x521f('0x4e')](db[_0x521f('0x32')][_0x521f('0x33')]);_0x370d69['query']=_[_0x521f('0x4e')](_0x3cbc56[_0x521f('0x35')]);_0x370d69['filters']=_['intersection'](_0x370d69[_0x521f('0x38')],_0x370d69[_0x521f('0x35')]);_0x3be627['attributes']=_[_0x521f('0x37')](_0x370d69[_0x521f('0x38')],qs[_0x521f('0x39')](_0x3cbc56['query'][_0x521f('0x39')]));_0x3be627[_0x521f('0x3a')]=_0x3be627[_0x521f('0x3a')][_0x521f('0x3b')]?_0x3be627['attributes']:_0x370d69[_0x521f('0x38')];if(_0x3cbc56['query']['includeAll']){_0x3be627[_0x521f('0x49')]=[{'all':!![]}];}_0x3be627=_['merge']({},_0x3be627,_0x3cbc56['options']);return db[_0x521f('0x32')][_0x521f('0x4f')](_0x3be627)['then'](handleEntityNotFound(_0x2f0461,null))['then'](respondWithResult(_0x2f0461,null))[_0x521f('0x24')](handleError(_0x2f0461,null));};exports[_0x521f('0x50')]=function(_0x1c1614,_0x4072ed){return db[_0x521f('0x32')]['create'](_0x1c1614['body'],{})[_0x521f('0x1b')](respondWithResult(_0x4072ed,0xc9))[_0x521f('0x24')](handleError(_0x4072ed,null));};exports[_0x521f('0x51')]=function(_0xd305ae,_0xfc2684){if(_0xd305ae[_0x521f('0x52')]['id']){delete _0xd305ae[_0x521f('0x52')]['id'];}return db[_0x521f('0x32')][_0x521f('0x4f')]({'where':{'id':_0xd305ae[_0x521f('0x4d')]['id']}})[_0x521f('0x1b')](handleEntityNotFound(_0xfc2684,null))[_0x521f('0x1b')](saveUpdates(_0xd305ae['body'],null))[_0x521f('0x1b')](respondWithResult(_0xfc2684,null))[_0x521f('0x24')](handleError(_0xfc2684,null));};exports[_0x521f('0x2d')]=function(_0x41c756,_0x5bdcbf){return db['SalesforceAccount']['find']({'where':{'id':_0x41c756[_0x521f('0x4d')]['id']}})[_0x521f('0x1b')](handleEntityNotFound(_0x5bdcbf,null))['then'](removeEntity(_0x5bdcbf,null))[_0x521f('0x24')](handleError(_0x5bdcbf,null));};exports[_0x521f('0x53')]=function(_0x2ba759,_0x1d02dd,_0x157d38){var _0x56d1f0={};var _0x1536fc={};var _0x1ed09f;var _0x5b3f21;return db[_0x521f('0x32')][_0x521f('0x54')]({'where':{'id':_0x2ba759['params']['id']}})[_0x521f('0x1b')](handleEntityNotFound(_0x1d02dd,null))[_0x521f('0x1b')](function(_0x2e0aed){if(_0x2e0aed){_0x1ed09f=_0x2e0aed;_0x1536fc[_0x521f('0x38')]=_['keys'](db[_0x521f('0x55')]['rawAttributes']);_0x1536fc[_0x521f('0x35')]=_['keys'](_0x2ba759[_0x521f('0x35')]);_0x1536fc[_0x521f('0x36')]=_[_0x521f('0x37')](_0x1536fc['model'],_0x1536fc[_0x521f('0x35')]);_0x56d1f0[_0x521f('0x3a')]=_[_0x521f('0x37')](_0x1536fc['model'],qs[_0x521f('0x39')](_0x2ba759[_0x521f('0x35')][_0x521f('0x39')]));_0x56d1f0[_0x521f('0x3a')]=_0x56d1f0[_0x521f('0x3a')][_0x521f('0x3b')]?_0x56d1f0['attributes']:_0x1536fc['model'];_0x56d1f0['order']=qs[_0x521f('0x40')](_0x2ba759[_0x521f('0x35')]['sort']);_0x56d1f0[_0x521f('0x42')]=qs[_0x521f('0x36')](_[_0x521f('0x41')](_0x2ba759[_0x521f('0x35')],_0x1536fc['filters']));if(_0x2ba759[_0x521f('0x35')]['filter']){_0x56d1f0[_0x521f('0x42')]=_[_0x521f('0x43')](_0x56d1f0[_0x521f('0x42')],{'$or':_['map'](_0x56d1f0[_0x521f('0x3a')],function(_0x4311e6){var _0x57730a={};_0x57730a[_0x4311e6]={'$like':'%'+_0x2ba759['query'][_0x521f('0x46')]+'%'};return _0x57730a;})});}_0x56d1f0=_[_0x521f('0x43')]({},_0x56d1f0,_0x2ba759[_0x521f('0x47')]);return _0x1ed09f[_0x521f('0x53')](_0x56d1f0);}})[_0x521f('0x1b')](function(_0x3b9242){if(_0x3b9242){_0x5b3f21=_0x3b9242[_0x521f('0x3b')];if(!_0x2ba759['query'][_0x521f('0x3c')]('nolimit')){_0x56d1f0[_0x521f('0x2a')]=qs['limit'](_0x2ba759['query']['limit']);_0x56d1f0[_0x521f('0x3e')]=qs[_0x521f('0x3e')](_0x2ba759[_0x521f('0x35')]['offset']);}return _0x1ed09f['getConfigurations'](_0x56d1f0);}})[_0x521f('0x1b')](function(_0x557fa6){if(_0x557fa6){return _0x557fa6?{'count':_0x5b3f21,'rows':_0x557fa6}:null;}})[_0x521f('0x1b')](respondWithResult(_0x1d02dd,null))[_0x521f('0x24')](handleError(_0x1d02dd,null));};exports[_0x521f('0x56')]=function(_0x4402c5,_0x14d180,_0x353ea2){if(_0x4402c5[_0x521f('0x52')]['id']){delete _0x4402c5[_0x521f('0x52')]['id'];}return db[_0x521f('0x32')][_0x521f('0x54')]({'where':{'id':_0x4402c5[_0x521f('0x4d')]['id']}})[_0x521f('0x1b')](handleEntityNotFound(_0x14d180,null))[_0x521f('0x1b')](function(_0x577d4d){if(_0x577d4d){_0x4402c5[_0x521f('0x52')]['AccountId']=_0x577d4d['id'];_0x4402c5[_0x521f('0x52')][_0x521f('0x57')]=integrations[_0x521f('0x58')](_0x4402c5['body']['channel'],_0x4402c5[_0x521f('0x52')]['type']);_0x4402c5['body'][_0x521f('0x59')]=integrations['getDescriptions'](_0x4402c5['body'][_0x521f('0x5a')],_0x4402c5[_0x521f('0x52')]['type']);return db[_0x521f('0x55')][_0x521f('0x50')](_0x4402c5[_0x521f('0x52')],{'include':[{'model':db[_0x521f('0x5b')],'as':_0x521f('0x57')},{'model':db[_0x521f('0x5b')],'as':_0x521f('0x59')}]});}return null;})[_0x521f('0x1b')](respondWithResult(_0x14d180,null))[_0x521f('0x24')](handleError(_0x14d180,null));};exports[_0x521f('0x5c')]=function(_0x7c3518,_0x5ce504,_0x166ce4){var _0x1c86b5;var _0x57d744='';var _0xcea36=_0x521f('0x5d');return db[_0x521f('0x32')][_0x521f('0x54')]({'where':{'id':_0x7c3518[_0x521f('0x4d')]['id']},'attributes':['id',_0x521f('0x5e'),'clientId',_0x521f('0x5f'),_0x521f('0x60'),'password',_0x521f('0x61')]})[_0x521f('0x1b')](handleEntityNotFound(_0x5ce504,null))[_0x521f('0x1b')](function(_0x2be476){if(_0x2be476){_0x57d744=_0x2be476[_0x521f('0x5e')];var _0x24ca08=_0x57d744[_0x521f('0x62')](-0x1);if(_0x24ca08==='/'){_0x57d744=_0x57d744[_0x521f('0x63')](0x0,_0x57d744['lastIndexOf'](_0x24ca08));}_0x1c86b5=new jsforce[(_0x521f('0x64'))]({'oauth2':{'loginUrl':_0x57d744,'clientId':_0x2be476['clientId'],'clientSecret':_0x2be476[_0x521f('0x5f')]}});return _0x1c86b5[_0x521f('0x65')](_0x2be476['username'],_0x2be476['password'][_0x521f('0x66')](_0x2be476['securityToken']));}})[_0x521f('0x1b')](function(_0x223d2){if(_0x223d2){if(!_[_0x521f('0x67')](_0x7c3518['query'][_0x521f('0x68')])){_0xcea36=_0x7c3518[_0x521f('0x35')][_0x521f('0x68')];}return _0x1c86b5['sobject'](_0xcea36)[_0x521f('0x69')]();}})[_0x521f('0x1b')](function(_0x2f0c9c){var _0x157988=[_0x521f('0x6a'),_0x521f('0x6b'),_0x521f('0x6c'),'CallType',_0x521f('0x6d'),_0x521f('0x6e'),'Status',_0x521f('0x6f')];if(!_[_0x521f('0x67')](_0x7c3518['query'][_0x521f('0x68')])&&_0x7c3518['query'][_0x521f('0x68')]==='Case'){_0x157988=[_0x521f('0x6f'),_0x521f('0x70'),_0x521f('0x71'),_0x521f('0x72'),'Priority',_0x521f('0x73'),_0x521f('0x74'),'SuppliedCompany'];}if(_0x2f0c9c){_[_0x521f('0x75')](_0x2f0c9c[_0x521f('0x39')],function(_0x7b4ff6){return _0x7b4ff6['custom']===![]&&!_0x157988[_0x521f('0x76')](_0x7b4ff6[_0x521f('0x2f')]);});return{'count':_0x2f0c9c[_0x521f('0x39')][_0x521f('0x3b')],'rows':_[_0x521f('0x31')](_0x2f0c9c[_0x521f('0x39')],function(_0x10e404){return{'id':_0x10e404['name'],'name':_0x10e404['label'],'custom':_0x10e404[_0x521f('0x77')],'options':_0x10e404['picklistValues'][_0x521f('0x3b')]>0x0?_[_0x521f('0x31')](_0x10e404[_0x521f('0x78')],function(_0x5627c9){return{'name':_0x5627c9[_0x521f('0x79')],'value':_0x5627c9['value']};}):_0x10e404[_0x521f('0x44')]=='boolean'?[{'name':_0x521f('0x7a'),'value':_0x521f('0x7b')},{'name':_0x521f('0x7c'),'value':_0x521f('0x7d')}]:[]};})};}})['then'](respondWithResult(_0x5ce504,null))[_0x521f('0x24')](function(_0x2f0d92){var _0x41c272=_0x7c3518[_0x521f('0x35')]['test']?0x1f4:_0x2f0d92[_0x521f('0x7e')]||0x1f4;logger['error'](_0x521f('0x7f'),_0x521f('0x5c'),_0x41c272,JSON[_0x521f('0x80')](_0x2f0d92));delete _0x2f0d92[_0x521f('0x2f')];if(_0x41c272===0x191){_0x41c272=0x190;}_0x5ce504[_0x521f('0x26')](_0x41c272)['send'](_0x7c3518[_0x521f('0x35')][_0x521f('0x81')]?{'message':_0x521f('0x82'),'statusCode':_0x2f0d92[_0x521f('0x7e')]}:_0x2f0d92);});};