Built motion from commit cabca865.|2.6.23
[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 _0xa155=['lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','end','status','limit','undefined','count','offset','set','Content-Range','json','reject','save','update','then','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','params','include','find','create','body','catch','getConfigurations','findOne','SalesforceConfiguration','order','nolimit','AccountId','Subjects','getSubjects','channel','getDescriptions','SalesforceField','Descriptions','getFields','Task','clientId','clientSecret','username','securityToken','remoteUri','substring','lastIndexOf','Connection','password','concat','isNil','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','Subject','Description','int','boolean','textarea','phone','label','custom','picklistValues','value','True','true','False','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','fs-extra'];(function(_0x22bf38,_0x5427d8){var _0x514522=function(_0x48199b){while(--_0x48199b){_0x22bf38['push'](_0x22bf38['shift']());}};_0x514522(++_0x5427d8);}(_0xa155,0xe5));var _0x5a15=function(_0x1035c1,_0x2d8583){_0x1035c1=_0x1035c1-0x0;var _0x308d67=_0xa155[_0x1035c1];return _0x308d67;};'use strict';var emlformat=require(_0x5a15('0x0'));var rimraf=require(_0x5a15('0x1'));var zipdir=require(_0x5a15('0x2'));var jsonpatch=require(_0x5a15('0x3'));var rp=require(_0x5a15('0x4'));var moment=require(_0x5a15('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x5a15('0x6'));var util=require(_0x5a15('0x7'));var path=require('path');var sox=require(_0x5a15('0x8'));var csv=require(_0x5a15('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5a15('0xa'));var _=require(_0x5a15('0xb'));var squel=require(_0x5a15('0xc'));var crypto=require(_0x5a15('0xd'));var jsforce=require(_0x5a15('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x5a15('0x9'));var querystring=require('querystring');var Papa=require(_0x5a15('0xf'));var Redis=require('ioredis');var authService=require(_0x5a15('0x10'));var qs=require(_0x5a15('0x11'));var as=require(_0x5a15('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5a15('0x13'))(_0x5a15('0x14'));var utils=require(_0x5a15('0x15'));var config=require(_0x5a15('0x16'));var licenseUtil=require(_0x5a15('0x17'));var db=require(_0x5a15('0x18'))['db'];var integrations=require(_0x5a15('0x19'));function respondWithStatusCode(_0x1f8b55,_0x3efa82){_0x3efa82=_0x3efa82||0xcc;return function(_0x5e7e31){if(_0x5e7e31){return _0x1f8b55[_0x5a15('0x1a')](_0x3efa82);}return _0x1f8b55['status'](_0x3efa82)[_0x5a15('0x1b')]();};}function respondWithResult(_0x49e085,_0x35cafc){_0x35cafc=_0x35cafc||0xc8;return function(_0x209f16){if(_0x209f16){return _0x49e085[_0x5a15('0x1c')](_0x35cafc)['json'](_0x209f16);}};}function respondWithFilteredResult(_0x4ef2d4,_0x353ffb){return function(_0x51472b){if(_0x51472b){var _0x22eb6a=typeof _0x353ffb['offset']==='undefined'&&typeof _0x353ffb[_0x5a15('0x1d')]===_0x5a15('0x1e');var _0x26f55c=_0x51472b[_0x5a15('0x1f')];var _0x339deb=_0x22eb6a?0x0:_0x353ffb['offset'];var _0x40cbd7=_0x22eb6a?_0x51472b[_0x5a15('0x1f')]:_0x353ffb[_0x5a15('0x20')]+_0x353ffb[_0x5a15('0x1d')];var _0x429a4c;if(_0x40cbd7>=_0x26f55c){_0x40cbd7=_0x26f55c;_0x429a4c=0xc8;}else{_0x429a4c=0xce;}_0x4ef2d4[_0x5a15('0x1c')](_0x429a4c);return _0x4ef2d4[_0x5a15('0x21')](_0x5a15('0x22'),_0x339deb+'-'+_0x40cbd7+'/'+_0x26f55c)[_0x5a15('0x23')](_0x51472b);}return null;};}function patchUpdates(_0x333b67){return function(_0x4074a5){try{jsonpatch['apply'](_0x4074a5,_0x333b67,!![]);}catch(_0xfc9fbf){return BPromise[_0x5a15('0x24')](_0xfc9fbf);}return _0x4074a5[_0x5a15('0x25')]();};}function saveUpdates(_0x48080a,_0xd12f52){return function(_0x31ba9b){if(_0x31ba9b){return _0x31ba9b[_0x5a15('0x26')](_0x48080a)[_0x5a15('0x27')](function(_0x6c537d){return _0x6c537d;});}return null;};}function removeEntity(_0x1dbccf,_0x29fc9a){return function(_0x4a7757){if(_0x4a7757){return _0x4a7757['destroy']()['then'](function(){_0x1dbccf[_0x5a15('0x1c')](0xcc)[_0x5a15('0x1b')]();});}};}function handleEntityNotFound(_0x1d3c75,_0x47564a){return function(_0x1f94c1){if(!_0x1f94c1){_0x1d3c75[_0x5a15('0x1a')](0x194);}return _0x1f94c1;};}function handleError(_0x4ebcab,_0x301595){_0x301595=_0x301595||0x1f4;return function(_0x177fdd){logger['error'](_0x177fdd[_0x5a15('0x28')]);if(_0x177fdd[_0x5a15('0x29')]){delete _0x177fdd[_0x5a15('0x29')];}_0x4ebcab[_0x5a15('0x1c')](_0x301595)[_0x5a15('0x2a')](_0x177fdd);};}exports[_0x5a15('0x2b')]=function(_0x16a687,_0xbb7385){var _0x50c541={},_0x4a7e0a={},_0xeff37b={'count':0x0,'rows':[]};var _0x382336=_[_0x5a15('0x2c')](db[_0x5a15('0x2d')][_0x5a15('0x2e')],function(_0x5656bd){return{'name':_0x5656bd[_0x5a15('0x2f')],'type':_0x5656bd[_0x5a15('0x30')]['key']};});_0x4a7e0a[_0x5a15('0x31')]=_[_0x5a15('0x2c')](_0x382336,_0x5a15('0x29'));_0x4a7e0a[_0x5a15('0x32')]=_[_0x5a15('0x33')](_0x16a687[_0x5a15('0x32')]);_0x4a7e0a[_0x5a15('0x34')]=_['intersection'](_0x4a7e0a[_0x5a15('0x31')],_0x4a7e0a['query']);_0x50c541[_0x5a15('0x35')]=_[_0x5a15('0x36')](_0x4a7e0a['model'],qs[_0x5a15('0x37')](_0x16a687[_0x5a15('0x32')][_0x5a15('0x37')]));_0x50c541[_0x5a15('0x35')]=_0x50c541[_0x5a15('0x35')][_0x5a15('0x38')]?_0x50c541['attributes']:_0x4a7e0a['model'];if(!_0x16a687['query'][_0x5a15('0x39')]('nolimit')){_0x50c541[_0x5a15('0x1d')]=qs[_0x5a15('0x1d')](_0x16a687['query'][_0x5a15('0x1d')]);_0x50c541[_0x5a15('0x20')]=qs[_0x5a15('0x20')](_0x16a687['query'][_0x5a15('0x20')]);}_0x50c541['order']=qs[_0x5a15('0x3a')](_0x16a687[_0x5a15('0x32')][_0x5a15('0x3a')]);_0x50c541[_0x5a15('0x3b')]=qs['filters'](_[_0x5a15('0x3c')](_0x16a687[_0x5a15('0x32')],_0x4a7e0a['filters']),_0x382336);if(_0x16a687[_0x5a15('0x32')][_0x5a15('0x3d')]){_0x50c541[_0x5a15('0x3b')]=_[_0x5a15('0x3e')](_0x50c541[_0x5a15('0x3b')],{'$or':_['map'](_0x382336,function(_0x216ea1){if(_0x216ea1[_0x5a15('0x30')]!=='VIRTUAL'){var _0x3fea80={};_0x3fea80[_0x216ea1['name']]={'$like':'%'+_0x16a687[_0x5a15('0x32')][_0x5a15('0x3d')]+'%'};return _0x3fea80;}})});}_0x50c541=_[_0x5a15('0x3e')]({},_0x50c541,_0x16a687[_0x5a15('0x3f')]);var _0x56940e={'where':_0x50c541['where']};return db['SalesforceAccount'][_0x5a15('0x1f')](_0x56940e)[_0x5a15('0x27')](function(_0x2a3b56){_0xeff37b['count']=_0x2a3b56;if(_0x16a687[_0x5a15('0x32')][_0x5a15('0x40')]){_0x50c541['include']=[{'all':!![]}];}return db['SalesforceAccount']['findAll'](_0x50c541);})[_0x5a15('0x27')](function(_0x474cbb){_0xeff37b['rows']=_0x474cbb;return _0xeff37b;})[_0x5a15('0x27')](respondWithFilteredResult(_0xbb7385,_0x50c541))['catch'](handleError(_0xbb7385,null));};exports['show']=function(_0xc68eb,_0x424f33){var _0x41121a={'raw':![],'where':{'id':_0xc68eb[_0x5a15('0x41')]['id']}},_0x52f172={};_0x52f172[_0x5a15('0x31')]=_[_0x5a15('0x33')](db[_0x5a15('0x2d')][_0x5a15('0x2e')]);_0x52f172[_0x5a15('0x32')]=_[_0x5a15('0x33')](_0xc68eb['query']);_0x52f172[_0x5a15('0x34')]=_[_0x5a15('0x36')](_0x52f172[_0x5a15('0x31')],_0x52f172[_0x5a15('0x32')]);_0x41121a['attributes']=_[_0x5a15('0x36')](_0x52f172['model'],qs[_0x5a15('0x37')](_0xc68eb[_0x5a15('0x32')][_0x5a15('0x37')]));_0x41121a['attributes']=_0x41121a[_0x5a15('0x35')][_0x5a15('0x38')]?_0x41121a[_0x5a15('0x35')]:_0x52f172[_0x5a15('0x31')];if(_0xc68eb['query']['includeAll']){_0x41121a[_0x5a15('0x42')]=[{'all':!![]}];}_0x41121a=_[_0x5a15('0x3e')]({},_0x41121a,_0xc68eb[_0x5a15('0x3f')]);return db[_0x5a15('0x2d')][_0x5a15('0x43')](_0x41121a)[_0x5a15('0x27')](handleEntityNotFound(_0x424f33,null))[_0x5a15('0x27')](respondWithResult(_0x424f33,null))['catch'](handleError(_0x424f33,null));};exports['create']=function(_0x3d8910,_0x421f2a){return db[_0x5a15('0x2d')][_0x5a15('0x44')](_0x3d8910[_0x5a15('0x45')],{})[_0x5a15('0x27')](respondWithResult(_0x421f2a,0xc9))[_0x5a15('0x46')](handleError(_0x421f2a,null));};exports[_0x5a15('0x26')]=function(_0x1ec411,_0x30872d){if(_0x1ec411['body']['id']){delete _0x1ec411[_0x5a15('0x45')]['id'];}return db['SalesforceAccount'][_0x5a15('0x43')]({'where':{'id':_0x1ec411[_0x5a15('0x41')]['id']}})[_0x5a15('0x27')](handleEntityNotFound(_0x30872d,null))[_0x5a15('0x27')](saveUpdates(_0x1ec411['body'],null))['then'](respondWithResult(_0x30872d,null))[_0x5a15('0x46')](handleError(_0x30872d,null));};exports['destroy']=function(_0x2407ce,_0xb66945){return db[_0x5a15('0x2d')][_0x5a15('0x43')]({'where':{'id':_0x2407ce[_0x5a15('0x41')]['id']}})[_0x5a15('0x27')](handleEntityNotFound(_0xb66945,null))[_0x5a15('0x27')](removeEntity(_0xb66945,null))[_0x5a15('0x46')](handleError(_0xb66945,null));};exports[_0x5a15('0x47')]=function(_0x20b5f2,_0x100312,_0x1b2a67){var _0x2042f0={};var _0x4b885a={};var _0x4413da;var _0x4829e4;return db[_0x5a15('0x2d')][_0x5a15('0x48')]({'where':{'id':_0x20b5f2[_0x5a15('0x41')]['id']}})[_0x5a15('0x27')](handleEntityNotFound(_0x100312,null))[_0x5a15('0x27')](function(_0x480453){if(_0x480453){_0x4413da=_0x480453;_0x4b885a[_0x5a15('0x31')]=_['keys'](db[_0x5a15('0x49')]['rawAttributes']);_0x4b885a[_0x5a15('0x32')]=_[_0x5a15('0x33')](_0x20b5f2[_0x5a15('0x32')]);_0x4b885a[_0x5a15('0x34')]=_[_0x5a15('0x36')](_0x4b885a[_0x5a15('0x31')],_0x4b885a[_0x5a15('0x32')]);_0x2042f0[_0x5a15('0x35')]=_[_0x5a15('0x36')](_0x4b885a['model'],qs[_0x5a15('0x37')](_0x20b5f2['query'][_0x5a15('0x37')]));_0x2042f0[_0x5a15('0x35')]=_0x2042f0[_0x5a15('0x35')][_0x5a15('0x38')]?_0x2042f0[_0x5a15('0x35')]:_0x4b885a[_0x5a15('0x31')];_0x2042f0[_0x5a15('0x4a')]=qs['sort'](_0x20b5f2[_0x5a15('0x32')][_0x5a15('0x3a')]);_0x2042f0[_0x5a15('0x3b')]=qs[_0x5a15('0x34')](_[_0x5a15('0x3c')](_0x20b5f2['query'],_0x4b885a[_0x5a15('0x34')]));if(_0x20b5f2[_0x5a15('0x32')][_0x5a15('0x3d')]){_0x2042f0[_0x5a15('0x3b')]=_[_0x5a15('0x3e')](_0x2042f0[_0x5a15('0x3b')],{'$or':_['map'](_0x2042f0[_0x5a15('0x35')],function(_0x115ee3){var _0x7da99={};_0x7da99[_0x115ee3]={'$like':'%'+_0x20b5f2[_0x5a15('0x32')][_0x5a15('0x3d')]+'%'};return _0x7da99;})});}_0x2042f0=_['merge']({},_0x2042f0,_0x20b5f2[_0x5a15('0x3f')]);return _0x4413da['getConfigurations'](_0x2042f0);}})[_0x5a15('0x27')](function(_0xb1ff5b){if(_0xb1ff5b){_0x4829e4=_0xb1ff5b[_0x5a15('0x38')];if(!_0x20b5f2[_0x5a15('0x32')]['hasOwnProperty'](_0x5a15('0x4b'))){_0x2042f0[_0x5a15('0x1d')]=qs[_0x5a15('0x1d')](_0x20b5f2[_0x5a15('0x32')][_0x5a15('0x1d')]);_0x2042f0[_0x5a15('0x20')]=qs[_0x5a15('0x20')](_0x20b5f2[_0x5a15('0x32')]['offset']);}return _0x4413da['getConfigurations'](_0x2042f0);}})[_0x5a15('0x27')](function(_0x2609cf){if(_0x2609cf){return _0x2609cf?{'count':_0x4829e4,'rows':_0x2609cf}:null;}})['then'](respondWithResult(_0x100312,null))['catch'](handleError(_0x100312,null));};exports['addConfiguration']=function(_0x179c4a,_0x2a0c3a,_0x1cc235){if(_0x179c4a[_0x5a15('0x45')]['id']){delete _0x179c4a['body']['id'];}return db[_0x5a15('0x2d')]['findOne']({'where':{'id':_0x179c4a[_0x5a15('0x41')]['id']}})['then'](handleEntityNotFound(_0x2a0c3a,null))[_0x5a15('0x27')](function(_0x12731e){if(_0x12731e){_0x179c4a[_0x5a15('0x45')][_0x5a15('0x4c')]=_0x12731e['id'];_0x179c4a['body'][_0x5a15('0x4d')]=integrations[_0x5a15('0x4e')](_0x179c4a[_0x5a15('0x45')][_0x5a15('0x4f')],_0x179c4a['body'][_0x5a15('0x30')]);_0x179c4a['body']['Descriptions']=integrations[_0x5a15('0x50')](_0x179c4a['body']['channel'],_0x179c4a['body'][_0x5a15('0x30')]);return db[_0x5a15('0x49')][_0x5a15('0x44')](_0x179c4a[_0x5a15('0x45')],{'include':[{'model':db[_0x5a15('0x51')],'as':'Subjects'},{'model':db[_0x5a15('0x51')],'as':_0x5a15('0x52')}]});}return null;})[_0x5a15('0x27')](respondWithResult(_0x2a0c3a,null))['catch'](handleError(_0x2a0c3a,null));};exports[_0x5a15('0x53')]=function(_0x3d6e66,_0x2472c0,_0x598ba4){var _0x305d48;var _0x3c8d15='';var _0x5a56b0=_0x5a15('0x54');return db[_0x5a15('0x2d')][_0x5a15('0x48')]({'where':{'id':_0x3d6e66[_0x5a15('0x41')]['id']},'attributes':['id','remoteUri',_0x5a15('0x55'),_0x5a15('0x56'),_0x5a15('0x57'),'password',_0x5a15('0x58')]})[_0x5a15('0x27')](handleEntityNotFound(_0x2472c0,null))[_0x5a15('0x27')](function(_0x1b7014){if(_0x1b7014){_0x3c8d15=_0x1b7014[_0x5a15('0x59')];var _0x3c2267=_0x3c8d15['slice'](-0x1);if(_0x3c2267==='/'){_0x3c8d15=_0x3c8d15[_0x5a15('0x5a')](0x0,_0x3c8d15[_0x5a15('0x5b')](_0x3c2267));}_0x305d48=new jsforce[(_0x5a15('0x5c'))]({'oauth2':{'loginUrl':_0x3c8d15,'clientId':_0x1b7014[_0x5a15('0x55')],'clientSecret':_0x1b7014['clientSecret']}});return _0x305d48['login'](_0x1b7014[_0x5a15('0x57')],_0x1b7014[_0x5a15('0x5d')][_0x5a15('0x5e')](_0x1b7014['securityToken']));}})[_0x5a15('0x27')](function(_0x1d158b){if(_0x1d158b){if(!_[_0x5a15('0x5f')](_0x3d6e66[_0x5a15('0x32')][_0x5a15('0x60')])){_0x5a56b0=_0x3d6e66[_0x5a15('0x32')][_0x5a15('0x60')];}return _0x305d48['sobject'](_0x5a56b0)[_0x5a15('0x61')]();}})[_0x5a15('0x27')](function(_0x1150ae){var _0x32722e=[_0x5a15('0x62'),_0x5a15('0x63'),_0x5a15('0x64'),'IsRecurrence',_0x5a15('0x65'),_0x5a15('0x66')];var _0x162ac8=['string',_0x5a15('0x67'),'picklist',_0x5a15('0x68'),'email',_0x5a15('0x69'),_0x5a15('0x6a')];if(_0x1150ae){_['remove'](_0x1150ae[_0x5a15('0x37')],function(_0x407854){return _0x32722e['includes'](_0x407854[_0x5a15('0x29')])||!_0x162ac8['includes'](_0x407854[_0x5a15('0x30')]);});return{'count':_0x1150ae[_0x5a15('0x37')][_0x5a15('0x38')],'rows':_[_0x5a15('0x2c')](_0x1150ae[_0x5a15('0x37')],function(_0x17f235){return{'id':_0x17f235[_0x5a15('0x29')],'name':_0x17f235[_0x5a15('0x6b')],'custom':_0x17f235[_0x5a15('0x6c')],'options':_0x17f235[_0x5a15('0x6d')][_0x5a15('0x38')]>0x0?_[_0x5a15('0x2c')](_0x17f235[_0x5a15('0x6d')],function(_0x3803a8){return{'name':_0x3803a8[_0x5a15('0x6b')],'value':_0x3803a8[_0x5a15('0x6e')]};}):_0x17f235[_0x5a15('0x30')]=='boolean'?[{'name':_0x5a15('0x6f'),'value':_0x5a15('0x70')},{'name':_0x5a15('0x71'),'value':'false'}]:[]};})};}})[_0x5a15('0x27')](respondWithResult(_0x2472c0,null))[_0x5a15('0x46')](function(_0x318066){var _0x3d7e80=_0x3d6e66[_0x5a15('0x32')][_0x5a15('0x72')]?0x1f4:_0x318066[_0x5a15('0x73')]||0x1f4;logger[_0x5a15('0x74')](_0x5a15('0x75'),_0x5a15('0x53'),_0x3d7e80,JSON[_0x5a15('0x76')](_0x318066));delete _0x318066[_0x5a15('0x29')];if(_0x3d7e80===0x191){_0x3d7e80=0x190;}_0x2472c0['status'](_0x3d7e80)[_0x5a15('0x2a')](_0x3d6e66[_0x5a15('0x32')][_0x5a15('0x72')]?{'message':_0x5a15('0x77'),'statusCode':_0x318066[_0x5a15('0x73')]}:_0x318066);});};