Built motion from commit (unavailable).|2.5.21
[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 _0xab1b=['jayson/promise','client','http','request','then','SalesforceAccount,\x20%s,\x20%s','SalesforceAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','catch','sendStatus','status','json','offset','Content-Range','apply','reject','save','update','destroy','end','stack','name','send','map','SalesforceAccount','fieldName','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','findAll','include','find','create','body','getConfigurations','findOne','params','SalesforceConfiguration','rawAttributes','order','AccountId','Subjects','getSubjects','channel','type','Descriptions','getDescriptions','SalesforceField','getFields','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','login','isNil','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','int','picklist','textarea','remove','includes','label','custom','picklistValues','value','True','true','False','test','statusCode','Wrong\x20credentials','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration'];(function(_0x37aed4,_0x254b7d){var _0x1ec4f3=function(_0x2fcefc){while(--_0x2fcefc){_0x37aed4['push'](_0x37aed4['shift']());}};_0x1ec4f3(++_0x254b7d);}(_0xab1b,0x6b));var _0xbab1=function(_0x5dbf70,_0x97cc00){_0x5dbf70=_0x5dbf70-0x0;var _0x4e8327=_0xab1b[_0x5dbf70];return _0x4e8327;};'use strict';var pdf=require(_0xbab1('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xbab1('0x1'));var zipdir=require(_0xbab1('0x2'));var jsonpatch=require(_0xbab1('0x3'));var rp=require('request-promise');var moment=require(_0xbab1('0x4'));var BPromise=require(_0xbab1('0x5'));var Mustache=require(_0xbab1('0x6'));var util=require(_0xbab1('0x7'));var path=require(_0xbab1('0x8'));var sox=require(_0xbab1('0x9'));var csv=require(_0xbab1('0xa'));var ejs=require(_0xbab1('0xb'));var fs=require('fs');var _=require(_0xbab1('0xc'));var squel=require(_0xbab1('0xd'));var crypto=require(_0xbab1('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xbab1('0xf'));var toCsv=require(_0xbab1('0xa'));var querystring=require(_0xbab1('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xbab1('0x11'));var qs=require(_0xbab1('0x12'));var as=require(_0xbab1('0x13'));var hardwareService=require(_0xbab1('0x14'));var logger=require(_0xbab1('0x15'))(_0xbab1('0x16'));var utils=require(_0xbab1('0x17'));var config=require(_0xbab1('0x18'));var licenseUtil=require(_0xbab1('0x19'));var db=require('../../mysqldb')['db'];var integrations=require(_0xbab1('0x1a'));var jayson=require(_0xbab1('0x1b'));var client=jayson[_0xbab1('0x1c')][_0xbab1('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x46153e,_0x2803e3,_0x1923b5,_0x4548c5){return new BPromise(function(_0x13ce88,_0x1fbdb5){var _0x38351f=_0x4548c5||client;return _0x38351f[_0xbab1('0x1e')](_0x46153e,_0x1923b5)[_0xbab1('0x1f')](function(_0x398678){logger['info'](_0xbab1('0x20'),_0x2803e3,'request\x20sent');logger['debug'](_0xbab1('0x21'),_0x2803e3,_0xbab1('0x22'),JSON[_0xbab1('0x23')](_0x398678));if(_0x398678[_0xbab1('0x24')]){if(_0x398678[_0xbab1('0x24')][_0xbab1('0x25')]===0x1f4){logger[_0xbab1('0x24')](_0xbab1('0x20'),_0x2803e3,_0x398678[_0xbab1('0x24')][_0xbab1('0x26')]);return _0x1fbdb5(_0x398678[_0xbab1('0x24')][_0xbab1('0x26')]);}logger[_0xbab1('0x24')](_0xbab1('0x20'),_0x2803e3,_0x398678[_0xbab1('0x24')]['message']);return _0x13ce88(_0x398678[_0xbab1('0x24')][_0xbab1('0x26')]);}else{logger[_0xbab1('0x27')]('SalesforceAccount,\x20%s,\x20%s',_0x2803e3,_0xbab1('0x22'));_0x13ce88(_0x398678[_0xbab1('0x28')]['message']);}})[_0xbab1('0x29')](function(_0x3c9ed2){logger['error'](_0xbab1('0x20'),_0x2803e3,_0x3c9ed2);_0x1fbdb5(_0x3c9ed2);});});}function respondWithStatusCode(_0x4be2dd,_0x44b91d){_0x44b91d=_0x44b91d||0xcc;return function(_0x58cac0){if(_0x58cac0){return _0x4be2dd[_0xbab1('0x2a')](_0x44b91d);}return _0x4be2dd[_0xbab1('0x2b')](_0x44b91d)['end']();};}function respondWithResult(_0x212392,_0x3fb83e){_0x3fb83e=_0x3fb83e||0xc8;return function(_0x5ab14c){if(_0x5ab14c){return _0x212392[_0xbab1('0x2b')](_0x3fb83e)[_0xbab1('0x2c')](_0x5ab14c);}};}function respondWithFilteredResult(_0x5643ac,_0x3f36c5){return function(_0x25f23a){if(_0x25f23a){var _0xd75795=_0x25f23a['count'],_0x4895f9=_0x3f36c5[_0xbab1('0x2d')],_0x503947=_0x3f36c5['offset']+_0x3f36c5['limit'],_0x5a76c0;if(_0x503947>=_0xd75795){_0x503947=_0xd75795;_0x5a76c0=0xc8;}else{_0x5a76c0=0xce;}_0x5643ac[_0xbab1('0x2b')](_0x5a76c0);return _0x5643ac['set'](_0xbab1('0x2e'),_0x4895f9+'-'+_0x503947+'/'+_0xd75795)[_0xbab1('0x2c')](_0x25f23a);}return null;};}function patchUpdates(_0x10d4b3){return function(_0xf79141){try{jsonpatch[_0xbab1('0x2f')](_0xf79141,_0x10d4b3,!![]);}catch(_0x1c5a8d){return BPromise[_0xbab1('0x30')](_0x1c5a8d);}return _0xf79141[_0xbab1('0x31')]();};}function saveUpdates(_0x40f3c4,_0xd4b1b4){return function(_0x595cd3){if(_0x595cd3){return _0x595cd3[_0xbab1('0x32')](_0x40f3c4)['then'](function(_0x15346c){return _0x15346c;});}return null;};}function removeEntity(_0x31ac8d,_0x4363a5){return function(_0x3c388d){if(_0x3c388d){return _0x3c388d[_0xbab1('0x33')]()['then'](function(){_0x31ac8d[_0xbab1('0x2b')](0xcc)[_0xbab1('0x34')]();});}};}function handleEntityNotFound(_0x5ec2b1,_0x402c50){return function(_0x1ab413){if(!_0x1ab413){_0x5ec2b1[_0xbab1('0x2a')](0x194);}return _0x1ab413;};}function handleError(_0x336676,_0x5233e4){_0x5233e4=_0x5233e4||0x1f4;return function(_0xd08c7a){logger['error'](_0xd08c7a[_0xbab1('0x35')]);if(_0xd08c7a['name']){delete _0xd08c7a[_0xbab1('0x36')];}_0x336676['status'](_0x5233e4)[_0xbab1('0x37')](_0xd08c7a);};}exports['index']=function(_0x260483,_0xb5013c){var _0x101116={},_0x3dfe1f={},_0x2570a8={'count':0x0,'rows':[]};var _0x56b74b=_[_0xbab1('0x38')](db[_0xbab1('0x39')]['rawAttributes'],function(_0x542ce7){return{'name':_0x542ce7[_0xbab1('0x3a')],'type':_0x542ce7['type']['key']};});_0x3dfe1f[_0xbab1('0x3b')]=_[_0xbab1('0x38')](_0x56b74b,'name');_0x3dfe1f[_0xbab1('0x3c')]=_[_0xbab1('0x3d')](_0x260483[_0xbab1('0x3c')]);_0x3dfe1f[_0xbab1('0x3e')]=_[_0xbab1('0x3f')](_0x3dfe1f[_0xbab1('0x3b')],_0x3dfe1f[_0xbab1('0x3c')]);_0x101116['attributes']=_[_0xbab1('0x3f')](_0x3dfe1f[_0xbab1('0x3b')],qs['fields'](_0x260483[_0xbab1('0x3c')][_0xbab1('0x40')]));_0x101116['attributes']=_0x101116[_0xbab1('0x41')][_0xbab1('0x42')]?_0x101116[_0xbab1('0x41')]:_0x3dfe1f[_0xbab1('0x3b')];if(!_0x260483['query'][_0xbab1('0x43')](_0xbab1('0x44'))){_0x101116[_0xbab1('0x45')]=qs[_0xbab1('0x45')](_0x260483['query']['limit']);_0x101116[_0xbab1('0x2d')]=qs[_0xbab1('0x2d')](_0x260483['query']['offset']);}_0x101116['order']=qs[_0xbab1('0x46')](_0x260483[_0xbab1('0x3c')]['sort']);_0x101116[_0xbab1('0x47')]=qs[_0xbab1('0x3e')](_[_0xbab1('0x48')](_0x260483[_0xbab1('0x3c')],_0x3dfe1f[_0xbab1('0x3e')]),_0x56b74b);if(_0x260483[_0xbab1('0x3c')][_0xbab1('0x49')]){_0x101116['where']=_[_0xbab1('0x4a')](_0x101116[_0xbab1('0x47')],{'$or':_[_0xbab1('0x38')](_0x56b74b,function(_0x419c16){if(_0x419c16['type']!==_0xbab1('0x4b')){var _0x495d06={};_0x495d06[_0x419c16[_0xbab1('0x36')]]={'$like':'%'+_0x260483[_0xbab1('0x3c')][_0xbab1('0x49')]+'%'};return _0x495d06;}})});}_0x101116=_[_0xbab1('0x4a')]({},_0x101116,_0x260483[_0xbab1('0x4c')]);var _0x640ac1={'where':_0x101116['where']};return db[_0xbab1('0x39')][_0xbab1('0x4d')](_0x640ac1)[_0xbab1('0x1f')](function(_0x518a0f){_0x2570a8[_0xbab1('0x4d')]=_0x518a0f;if(_0x260483['query'][_0xbab1('0x4e')]){_0x101116['include']=[{'all':!![]}];}return db[_0xbab1('0x39')][_0xbab1('0x4f')](_0x101116);})['then'](function(_0x135152){_0x2570a8['rows']=_0x135152;return _0x2570a8;})[_0xbab1('0x1f')](respondWithFilteredResult(_0xb5013c,_0x101116))[_0xbab1('0x29')](handleError(_0xb5013c,null));};exports['show']=function(_0x3712ab,_0x1686ee){var _0x421190={'raw':![],'where':{'id':_0x3712ab['params']['id']}},_0x346556={};_0x346556[_0xbab1('0x3b')]=_['keys'](db[_0xbab1('0x39')]['rawAttributes']);_0x346556[_0xbab1('0x3c')]=_[_0xbab1('0x3d')](_0x3712ab[_0xbab1('0x3c')]);_0x346556[_0xbab1('0x3e')]=_[_0xbab1('0x3f')](_0x346556[_0xbab1('0x3b')],_0x346556[_0xbab1('0x3c')]);_0x421190[_0xbab1('0x41')]=_[_0xbab1('0x3f')](_0x346556[_0xbab1('0x3b')],qs[_0xbab1('0x40')](_0x3712ab[_0xbab1('0x3c')][_0xbab1('0x40')]));_0x421190[_0xbab1('0x41')]=_0x421190[_0xbab1('0x41')][_0xbab1('0x42')]?_0x421190[_0xbab1('0x41')]:_0x346556['model'];if(_0x3712ab[_0xbab1('0x3c')][_0xbab1('0x4e')]){_0x421190[_0xbab1('0x50')]=[{'all':!![]}];}_0x421190=_[_0xbab1('0x4a')]({},_0x421190,_0x3712ab[_0xbab1('0x4c')]);return db['SalesforceAccount'][_0xbab1('0x51')](_0x421190)[_0xbab1('0x1f')](handleEntityNotFound(_0x1686ee,null))[_0xbab1('0x1f')](respondWithResult(_0x1686ee,null))[_0xbab1('0x29')](handleError(_0x1686ee,null));};exports['create']=function(_0x280a26,_0x27d675){return db[_0xbab1('0x39')][_0xbab1('0x52')](_0x280a26[_0xbab1('0x53')],{})['then'](respondWithResult(_0x27d675,0xc9))[_0xbab1('0x29')](handleError(_0x27d675,null));};exports[_0xbab1('0x32')]=function(_0x129a63,_0x1aa274){if(_0x129a63[_0xbab1('0x53')]['id']){delete _0x129a63['body']['id'];}return db[_0xbab1('0x39')][_0xbab1('0x51')]({'where':{'id':_0x129a63['params']['id']}})[_0xbab1('0x1f')](handleEntityNotFound(_0x1aa274,null))['then'](saveUpdates(_0x129a63['body'],null))[_0xbab1('0x1f')](respondWithResult(_0x1aa274,null))[_0xbab1('0x29')](handleError(_0x1aa274,null));};exports[_0xbab1('0x33')]=function(_0x4e4a69,_0x3fa388){return db[_0xbab1('0x39')][_0xbab1('0x51')]({'where':{'id':_0x4e4a69['params']['id']}})['then'](handleEntityNotFound(_0x3fa388,null))[_0xbab1('0x1f')](removeEntity(_0x3fa388,null))[_0xbab1('0x29')](handleError(_0x3fa388,null));};exports[_0xbab1('0x54')]=function(_0xdbc31,_0x35eb18,_0xaa1188){var _0x1074cc={};var _0x963ed2={};var _0x419b3f;var _0x2314b7;return db['SalesforceAccount'][_0xbab1('0x55')]({'where':{'id':_0xdbc31[_0xbab1('0x56')]['id']}})['then'](handleEntityNotFound(_0x35eb18,null))[_0xbab1('0x1f')](function(_0x307204){if(_0x307204){_0x419b3f=_0x307204;_0x963ed2[_0xbab1('0x3b')]=_[_0xbab1('0x3d')](db[_0xbab1('0x57')][_0xbab1('0x58')]);_0x963ed2[_0xbab1('0x3c')]=_[_0xbab1('0x3d')](_0xdbc31['query']);_0x963ed2['filters']=_[_0xbab1('0x3f')](_0x963ed2[_0xbab1('0x3b')],_0x963ed2['query']);_0x1074cc['attributes']=_[_0xbab1('0x3f')](_0x963ed2[_0xbab1('0x3b')],qs[_0xbab1('0x40')](_0xdbc31['query'][_0xbab1('0x40')]));_0x1074cc[_0xbab1('0x41')]=_0x1074cc[_0xbab1('0x41')][_0xbab1('0x42')]?_0x1074cc['attributes']:_0x963ed2[_0xbab1('0x3b')];_0x1074cc[_0xbab1('0x59')]=qs[_0xbab1('0x46')](_0xdbc31['query'][_0xbab1('0x46')]);_0x1074cc[_0xbab1('0x47')]=qs[_0xbab1('0x3e')](_['pick'](_0xdbc31[_0xbab1('0x3c')],_0x963ed2[_0xbab1('0x3e')]));if(_0xdbc31[_0xbab1('0x3c')][_0xbab1('0x49')]){_0x1074cc['where']=_[_0xbab1('0x4a')](_0x1074cc[_0xbab1('0x47')],{'$or':_[_0xbab1('0x38')](_0x1074cc['attributes'],function(_0xfbd6bd){var _0x441d68={};_0x441d68[_0xfbd6bd]={'$like':'%'+_0xdbc31['query'][_0xbab1('0x49')]+'%'};return _0x441d68;})});}_0x1074cc=_[_0xbab1('0x4a')]({},_0x1074cc,_0xdbc31[_0xbab1('0x4c')]);return _0x419b3f[_0xbab1('0x54')](_0x1074cc);}})['then'](function(_0x4c8754){if(_0x4c8754){_0x2314b7=_0x4c8754[_0xbab1('0x42')];if(!_0xdbc31[_0xbab1('0x3c')][_0xbab1('0x43')](_0xbab1('0x44'))){_0x1074cc[_0xbab1('0x45')]=qs['limit'](_0xdbc31[_0xbab1('0x3c')][_0xbab1('0x45')]);_0x1074cc[_0xbab1('0x2d')]=qs[_0xbab1('0x2d')](_0xdbc31[_0xbab1('0x3c')][_0xbab1('0x2d')]);}return _0x419b3f['getConfigurations'](_0x1074cc);}})[_0xbab1('0x1f')](function(_0x11e43b){if(_0x11e43b){return _0x11e43b?{'count':_0x2314b7,'rows':_0x11e43b}:null;}})[_0xbab1('0x1f')](respondWithResult(_0x35eb18,null))[_0xbab1('0x29')](handleError(_0x35eb18,null));};exports['addConfiguration']=function(_0xf7e272,_0x162455,_0x3b5a55){if(_0xf7e272[_0xbab1('0x53')]['id']){delete _0xf7e272[_0xbab1('0x53')]['id'];}return db[_0xbab1('0x39')]['findOne']({'where':{'id':_0xf7e272[_0xbab1('0x56')]['id']}})[_0xbab1('0x1f')](handleEntityNotFound(_0x162455,null))[_0xbab1('0x1f')](function(_0x418bfc){if(_0x418bfc){_0xf7e272[_0xbab1('0x53')][_0xbab1('0x5a')]=_0x418bfc['id'];_0xf7e272['body'][_0xbab1('0x5b')]=integrations[_0xbab1('0x5c')](_0xf7e272['body'][_0xbab1('0x5d')],_0xf7e272[_0xbab1('0x53')][_0xbab1('0x5e')]);_0xf7e272[_0xbab1('0x53')][_0xbab1('0x5f')]=integrations[_0xbab1('0x60')](_0xf7e272[_0xbab1('0x53')][_0xbab1('0x5d')],_0xf7e272[_0xbab1('0x53')][_0xbab1('0x5e')]);return db[_0xbab1('0x57')]['create'](_0xf7e272['body'],{'include':[{'model':db[_0xbab1('0x61')],'as':_0xbab1('0x5b')},{'model':db[_0xbab1('0x61')],'as':'Descriptions'}]});}return null;})[_0xbab1('0x1f')](respondWithResult(_0x162455,null))[_0xbab1('0x29')](handleError(_0x162455,null));};exports[_0xbab1('0x62')]=function(_0x494f1f,_0x19b48a,_0x1088ab){var _0x580034;var _0x7bc708='';var _0x441485='Task';return db[_0xbab1('0x39')]['findOne']({'where':{'id':_0x494f1f['params']['id']},'attributes':['id',_0xbab1('0x63'),_0xbab1('0x64'),_0xbab1('0x65'),_0xbab1('0x66'),_0xbab1('0x67'),_0xbab1('0x68')]})['then'](handleEntityNotFound(_0x19b48a,null))['then'](function(_0x599c7a){if(_0x599c7a){_0x7bc708=_0x599c7a[_0xbab1('0x63')];var _0x30937e=_0x7bc708[_0xbab1('0x69')](-0x1);if(_0x30937e==='/'){_0x7bc708=_0x7bc708[_0xbab1('0x6a')](0x0,_0x7bc708[_0xbab1('0x6b')](_0x30937e));}_0x580034=new jsforce[(_0xbab1('0x6c'))]({'oauth2':{'loginUrl':_0x7bc708,'clientId':_0x599c7a[_0xbab1('0x64')],'clientSecret':_0x599c7a[_0xbab1('0x65')]}});return _0x580034[_0xbab1('0x6d')](_0x599c7a[_0xbab1('0x66')],_0x599c7a[_0xbab1('0x67')]['concat'](_0x599c7a[_0xbab1('0x68')]));}})['then'](function(_0x49157e){if(_0x49157e){if(!_[_0xbab1('0x6e')](_0x494f1f['query']['ticketType'])){_0x441485=_0x494f1f[_0xbab1('0x3c')][_0xbab1('0x6f')];}return _0x580034['sobject'](_0x441485)[_0xbab1('0x70')]();}})[_0xbab1('0x1f')](function(_0x262626){var _0x1b77a5=[_0xbab1('0x71'),_0xbab1('0x72'),_0xbab1('0x73'),_0xbab1('0x74'),_0xbab1('0x75'),_0xbab1('0x76')];var _0x3f697a=['string',_0xbab1('0x77'),_0xbab1('0x78'),'boolean','email',_0xbab1('0x79'),'phone'];if(_0x262626){_[_0xbab1('0x7a')](_0x262626['fields'],function(_0xa51b80){return _0x1b77a5[_0xbab1('0x7b')](_0xa51b80['name'])||!_0x3f697a[_0xbab1('0x7b')](_0xa51b80['type']);});return{'count':_0x262626[_0xbab1('0x40')]['length'],'rows':_[_0xbab1('0x38')](_0x262626[_0xbab1('0x40')],function(_0x528512){return{'id':_0x528512[_0xbab1('0x36')],'name':_0x528512[_0xbab1('0x7c')],'custom':_0x528512[_0xbab1('0x7d')],'options':_0x528512[_0xbab1('0x7e')][_0xbab1('0x42')]>0x0?_[_0xbab1('0x38')](_0x528512['picklistValues'],function(_0x731523){return{'name':_0x731523['label'],'value':_0x731523[_0xbab1('0x7f')]};}):_0x528512[_0xbab1('0x5e')]=='boolean'?[{'name':_0xbab1('0x80'),'value':_0xbab1('0x81')},{'name':_0xbab1('0x82'),'value':'false'}]:[]};})};}})['then'](respondWithResult(_0x19b48a,null))[_0xbab1('0x29')](function(_0x20a3a1){var _0x36704b=_0x494f1f[_0xbab1('0x3c')][_0xbab1('0x83')]?0x1f4:_0x20a3a1[_0xbab1('0x84')]||0x1f4;logger[_0xbab1('0x24')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x36704b,JSON[_0xbab1('0x23')](_0x20a3a1));delete _0x20a3a1['name'];if(_0x36704b===0x191){_0x36704b=0x190;}_0x19b48a[_0xbab1('0x2b')](_0x36704b)[_0xbab1('0x37')](_0x494f1f[_0xbab1('0x3c')][_0xbab1('0x83')]?{'message':_0xbab1('0x85'),'statusCode':_0x20a3a1[_0xbab1('0x84')]}:_0x20a3a1);});};