Built motion from commit 616d3211.|2.6.4
[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 _0xfaaf=['find','create','body','destroy','getConfigurations','SalesforceConfiguration','order','pick','findOne','Subjects','channel','Descriptions','SalesforceField','getFields','Task','remoteUri','username','password','securityToken','slice','substring','lastIndexOf','clientId','login','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','int','picklist','boolean','email','textarea','includes','custom','picklistValues','label','value','True','False','false','test','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','json','save','then','error','stack','name','send','index','map','SalesforceAccount','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','rawAttributes'];(function(_0x107351,_0x121862){var _0x238896=function(_0x542cf3){while(--_0x542cf3){_0x107351['push'](_0x107351['shift']());}};_0x238896(++_0x121862);}(_0xfaaf,0x19b));var _0xffaa=function(_0x5e6bec,_0x1eb54d){_0x5e6bec=_0x5e6bec-0x0;var _0x5dc5cf=_0xfaaf[_0x5e6bec];return _0x5dc5cf;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xffaa('0x0'));var zipdir=require(_0xffaa('0x1'));var jsonpatch=require(_0xffaa('0x2'));var rp=require(_0xffaa('0x3'));var moment=require(_0xffaa('0x4'));var BPromise=require(_0xffaa('0x5'));var Mustache=require(_0xffaa('0x6'));var util=require(_0xffaa('0x7'));var path=require(_0xffaa('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xffaa('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xffaa('0xa'));var squel=require(_0xffaa('0xb'));var crypto=require(_0xffaa('0xc'));var jsforce=require(_0xffaa('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xffaa('0xe'));var querystring=require('querystring');var Papa=require(_0xffaa('0xf'));var Redis=require(_0xffaa('0x10'));var authService=require(_0xffaa('0x11'));var qs=require(_0xffaa('0x12'));var as=require(_0xffaa('0x13'));var hardwareService=require(_0xffaa('0x14'));var logger=require(_0xffaa('0x15'))(_0xffaa('0x16'));var utils=require(_0xffaa('0x17'));var config=require(_0xffaa('0x18'));var licenseUtil=require(_0xffaa('0x19'));var db=require(_0xffaa('0x1a'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x3b12da,_0x189452){_0x189452=_0x189452||0xcc;return function(_0x20a3dc){if(_0x20a3dc){return _0x3b12da[_0xffaa('0x1b')](_0x189452);}return _0x3b12da[_0xffaa('0x1c')](_0x189452)[_0xffaa('0x1d')]();};}function respondWithResult(_0xff9b24,_0x1839e6){_0x1839e6=_0x1839e6||0xc8;return function(_0x3e0c9f){if(_0x3e0c9f){return _0xff9b24['status'](_0x1839e6)['json'](_0x3e0c9f);}};}function respondWithFilteredResult(_0x457279,_0x51660f){return function(_0x3b338c){if(_0x3b338c){var _0x499896=typeof _0x51660f[_0xffaa('0x1e')]===_0xffaa('0x1f')&&typeof _0x51660f['limit']===_0xffaa('0x1f');var _0x1627d8=_0x3b338c[_0xffaa('0x20')];var _0x1ce447=_0x499896?0x0:_0x51660f[_0xffaa('0x1e')];var _0x238e77=_0x499896?_0x3b338c[_0xffaa('0x20')]:_0x51660f[_0xffaa('0x1e')]+_0x51660f[_0xffaa('0x21')];var _0x4caf2a;if(_0x238e77>=_0x1627d8){_0x238e77=_0x1627d8;_0x4caf2a=0xc8;}else{_0x4caf2a=0xce;}_0x457279['status'](_0x4caf2a);return _0x457279[_0xffaa('0x22')](_0xffaa('0x23'),_0x1ce447+'-'+_0x238e77+'/'+_0x1627d8)[_0xffaa('0x24')](_0x3b338c);}return null;};}function patchUpdates(_0x5c36c3){return function(_0x61798){try{jsonpatch['apply'](_0x61798,_0x5c36c3,!![]);}catch(_0x4e8f89){return BPromise['reject'](_0x4e8f89);}return _0x61798[_0xffaa('0x25')]();};}function saveUpdates(_0x42281a,_0x2db868){return function(_0x26af2a){if(_0x26af2a){return _0x26af2a['update'](_0x42281a)['then'](function(_0x4f13a0){return _0x4f13a0;});}return null;};}function removeEntity(_0x5c902c,_0xbe67df){return function(_0x260a04){if(_0x260a04){return _0x260a04['destroy']()[_0xffaa('0x26')](function(){_0x5c902c[_0xffaa('0x1c')](0xcc)[_0xffaa('0x1d')]();});}};}function handleEntityNotFound(_0x31ef9e,_0x45031e){return function(_0x565ba3){if(!_0x565ba3){_0x31ef9e[_0xffaa('0x1b')](0x194);}return _0x565ba3;};}function handleError(_0x377028,_0x18f4ce){_0x18f4ce=_0x18f4ce||0x1f4;return function(_0x42c479){logger[_0xffaa('0x27')](_0x42c479[_0xffaa('0x28')]);if(_0x42c479[_0xffaa('0x29')]){delete _0x42c479[_0xffaa('0x29')];}_0x377028[_0xffaa('0x1c')](_0x18f4ce)[_0xffaa('0x2a')](_0x42c479);};}exports[_0xffaa('0x2b')]=function(_0x3f9903,_0x285325){var _0x2bae6c={},_0x1ac3aa={},_0x3a6504={'count':0x0,'rows':[]};var _0x1d478c=_[_0xffaa('0x2c')](db[_0xffaa('0x2d')]['rawAttributes'],function(_0x36e739){return{'name':_0x36e739['fieldName'],'type':_0x36e739[_0xffaa('0x2e')]['key']};});_0x1ac3aa[_0xffaa('0x2f')]=_[_0xffaa('0x2c')](_0x1d478c,'name');_0x1ac3aa[_0xffaa('0x30')]=_[_0xffaa('0x31')](_0x3f9903[_0xffaa('0x30')]);_0x1ac3aa[_0xffaa('0x32')]=_['intersection'](_0x1ac3aa['model'],_0x1ac3aa[_0xffaa('0x30')]);_0x2bae6c[_0xffaa('0x33')]=_[_0xffaa('0x34')](_0x1ac3aa[_0xffaa('0x2f')],qs[_0xffaa('0x35')](_0x3f9903[_0xffaa('0x30')][_0xffaa('0x35')]));_0x2bae6c[_0xffaa('0x33')]=_0x2bae6c['attributes'][_0xffaa('0x36')]?_0x2bae6c[_0xffaa('0x33')]:_0x1ac3aa[_0xffaa('0x2f')];if(!_0x3f9903[_0xffaa('0x30')][_0xffaa('0x37')](_0xffaa('0x38'))){_0x2bae6c[_0xffaa('0x21')]=qs[_0xffaa('0x21')](_0x3f9903[_0xffaa('0x30')][_0xffaa('0x21')]);_0x2bae6c[_0xffaa('0x1e')]=qs['offset'](_0x3f9903['query'][_0xffaa('0x1e')]);}_0x2bae6c['order']=qs['sort'](_0x3f9903[_0xffaa('0x30')][_0xffaa('0x39')]);_0x2bae6c[_0xffaa('0x3a')]=qs['filters'](_['pick'](_0x3f9903[_0xffaa('0x30')],_0x1ac3aa[_0xffaa('0x32')]),_0x1d478c);if(_0x3f9903[_0xffaa('0x30')][_0xffaa('0x3b')]){_0x2bae6c[_0xffaa('0x3a')]=_[_0xffaa('0x3c')](_0x2bae6c[_0xffaa('0x3a')],{'$or':_[_0xffaa('0x2c')](_0x1d478c,function(_0x39ff11){if(_0x39ff11[_0xffaa('0x2e')]!==_0xffaa('0x3d')){var _0x2fb420={};_0x2fb420[_0x39ff11[_0xffaa('0x29')]]={'$like':'%'+_0x3f9903[_0xffaa('0x30')]['filter']+'%'};return _0x2fb420;}})});}_0x2bae6c=_[_0xffaa('0x3c')]({},_0x2bae6c,_0x3f9903['options']);var _0x287424={'where':_0x2bae6c[_0xffaa('0x3a')]};return db['SalesforceAccount'][_0xffaa('0x20')](_0x287424)[_0xffaa('0x26')](function(_0x1eed4f){_0x3a6504['count']=_0x1eed4f;if(_0x3f9903[_0xffaa('0x30')][_0xffaa('0x3e')]){_0x2bae6c[_0xffaa('0x3f')]=[{'all':!![]}];}return db[_0xffaa('0x2d')][_0xffaa('0x40')](_0x2bae6c);})['then'](function(_0x161694){_0x3a6504['rows']=_0x161694;return _0x3a6504;})['then'](respondWithFilteredResult(_0x285325,_0x2bae6c))[_0xffaa('0x41')](handleError(_0x285325,null));};exports[_0xffaa('0x42')]=function(_0x5c7715,_0x50d911){var _0x50590c={'raw':![],'where':{'id':_0x5c7715[_0xffaa('0x43')]['id']}},_0xa1dba={};_0xa1dba[_0xffaa('0x2f')]=_[_0xffaa('0x31')](db[_0xffaa('0x2d')][_0xffaa('0x44')]);_0xa1dba['query']=_[_0xffaa('0x31')](_0x5c7715['query']);_0xa1dba[_0xffaa('0x32')]=_[_0xffaa('0x34')](_0xa1dba[_0xffaa('0x2f')],_0xa1dba[_0xffaa('0x30')]);_0x50590c[_0xffaa('0x33')]=_[_0xffaa('0x34')](_0xa1dba['model'],qs[_0xffaa('0x35')](_0x5c7715['query'][_0xffaa('0x35')]));_0x50590c[_0xffaa('0x33')]=_0x50590c[_0xffaa('0x33')][_0xffaa('0x36')]?_0x50590c[_0xffaa('0x33')]:_0xa1dba[_0xffaa('0x2f')];if(_0x5c7715[_0xffaa('0x30')]['includeAll']){_0x50590c[_0xffaa('0x3f')]=[{'all':!![]}];}_0x50590c=_[_0xffaa('0x3c')]({},_0x50590c,_0x5c7715['options']);return db[_0xffaa('0x2d')][_0xffaa('0x45')](_0x50590c)[_0xffaa('0x26')](handleEntityNotFound(_0x50d911,null))[_0xffaa('0x26')](respondWithResult(_0x50d911,null))[_0xffaa('0x41')](handleError(_0x50d911,null));};exports[_0xffaa('0x46')]=function(_0x46dbc6,_0x296c7d){return db[_0xffaa('0x2d')][_0xffaa('0x46')](_0x46dbc6[_0xffaa('0x47')],{})[_0xffaa('0x26')](respondWithResult(_0x296c7d,0xc9))[_0xffaa('0x41')](handleError(_0x296c7d,null));};exports['update']=function(_0x372911,_0x2745f3){if(_0x372911['body']['id']){delete _0x372911[_0xffaa('0x47')]['id'];}return db[_0xffaa('0x2d')][_0xffaa('0x45')]({'where':{'id':_0x372911[_0xffaa('0x43')]['id']}})[_0xffaa('0x26')](handleEntityNotFound(_0x2745f3,null))[_0xffaa('0x26')](saveUpdates(_0x372911['body'],null))[_0xffaa('0x26')](respondWithResult(_0x2745f3,null))['catch'](handleError(_0x2745f3,null));};exports[_0xffaa('0x48')]=function(_0x279e58,_0x1cb964){return db[_0xffaa('0x2d')][_0xffaa('0x45')]({'where':{'id':_0x279e58[_0xffaa('0x43')]['id']}})[_0xffaa('0x26')](handleEntityNotFound(_0x1cb964,null))[_0xffaa('0x26')](removeEntity(_0x1cb964,null))['catch'](handleError(_0x1cb964,null));};exports[_0xffaa('0x49')]=function(_0x4e2bcc,_0x2d435d,_0x3c950c){var _0x1d1fe4={};var _0x3fd96f={};var _0x384430;var _0x28b93f;return db['SalesforceAccount']['findOne']({'where':{'id':_0x4e2bcc[_0xffaa('0x43')]['id']}})[_0xffaa('0x26')](handleEntityNotFound(_0x2d435d,null))['then'](function(_0x30c93b){if(_0x30c93b){_0x384430=_0x30c93b;_0x3fd96f[_0xffaa('0x2f')]=_[_0xffaa('0x31')](db[_0xffaa('0x4a')][_0xffaa('0x44')]);_0x3fd96f['query']=_[_0xffaa('0x31')](_0x4e2bcc['query']);_0x3fd96f[_0xffaa('0x32')]=_[_0xffaa('0x34')](_0x3fd96f['model'],_0x3fd96f[_0xffaa('0x30')]);_0x1d1fe4[_0xffaa('0x33')]=_[_0xffaa('0x34')](_0x3fd96f[_0xffaa('0x2f')],qs[_0xffaa('0x35')](_0x4e2bcc[_0xffaa('0x30')]['fields']));_0x1d1fe4['attributes']=_0x1d1fe4['attributes'][_0xffaa('0x36')]?_0x1d1fe4['attributes']:_0x3fd96f[_0xffaa('0x2f')];_0x1d1fe4[_0xffaa('0x4b')]=qs[_0xffaa('0x39')](_0x4e2bcc[_0xffaa('0x30')]['sort']);_0x1d1fe4[_0xffaa('0x3a')]=qs['filters'](_[_0xffaa('0x4c')](_0x4e2bcc[_0xffaa('0x30')],_0x3fd96f['filters']));if(_0x4e2bcc[_0xffaa('0x30')][_0xffaa('0x3b')]){_0x1d1fe4[_0xffaa('0x3a')]=_['merge'](_0x1d1fe4[_0xffaa('0x3a')],{'$or':_[_0xffaa('0x2c')](_0x1d1fe4[_0xffaa('0x33')],function(_0x7d9371){var _0x531c50={};_0x531c50[_0x7d9371]={'$like':'%'+_0x4e2bcc['query'][_0xffaa('0x3b')]+'%'};return _0x531c50;})});}_0x1d1fe4=_['merge']({},_0x1d1fe4,_0x4e2bcc['options']);return _0x384430[_0xffaa('0x49')](_0x1d1fe4);}})[_0xffaa('0x26')](function(_0x7056d8){if(_0x7056d8){_0x28b93f=_0x7056d8[_0xffaa('0x36')];if(!_0x4e2bcc['query'][_0xffaa('0x37')]('nolimit')){_0x1d1fe4['limit']=qs['limit'](_0x4e2bcc[_0xffaa('0x30')][_0xffaa('0x21')]);_0x1d1fe4['offset']=qs['offset'](_0x4e2bcc[_0xffaa('0x30')][_0xffaa('0x1e')]);}return _0x384430[_0xffaa('0x49')](_0x1d1fe4);}})['then'](function(_0xc9e39f){if(_0xc9e39f){return _0xc9e39f?{'count':_0x28b93f,'rows':_0xc9e39f}:null;}})[_0xffaa('0x26')](respondWithResult(_0x2d435d,null))[_0xffaa('0x41')](handleError(_0x2d435d,null));};exports['addConfiguration']=function(_0x42385a,_0x27de90,_0x477a9c){if(_0x42385a[_0xffaa('0x47')]['id']){delete _0x42385a[_0xffaa('0x47')]['id'];}return db[_0xffaa('0x2d')][_0xffaa('0x4d')]({'where':{'id':_0x42385a[_0xffaa('0x43')]['id']}})[_0xffaa('0x26')](handleEntityNotFound(_0x27de90,null))[_0xffaa('0x26')](function(_0xc16119){if(_0xc16119){_0x42385a['body']['AccountId']=_0xc16119['id'];_0x42385a[_0xffaa('0x47')][_0xffaa('0x4e')]=integrations['getSubjects'](_0x42385a[_0xffaa('0x47')][_0xffaa('0x4f')],_0x42385a[_0xffaa('0x47')][_0xffaa('0x2e')]);_0x42385a['body'][_0xffaa('0x50')]=integrations['getDescriptions'](_0x42385a[_0xffaa('0x47')]['channel'],_0x42385a['body'][_0xffaa('0x2e')]);return db[_0xffaa('0x4a')][_0xffaa('0x46')](_0x42385a['body'],{'include':[{'model':db[_0xffaa('0x51')],'as':_0xffaa('0x4e')},{'model':db[_0xffaa('0x51')],'as':_0xffaa('0x50')}]});}return null;})[_0xffaa('0x26')](respondWithResult(_0x27de90,null))[_0xffaa('0x41')](handleError(_0x27de90,null));};exports[_0xffaa('0x52')]=function(_0x9a9441,_0x3170df,_0x448e86){var _0xa21ddd;var _0x3ced91='';var _0x187e98=_0xffaa('0x53');return db[_0xffaa('0x2d')][_0xffaa('0x4d')]({'where':{'id':_0x9a9441['params']['id']},'attributes':['id',_0xffaa('0x54'),'clientId','clientSecret',_0xffaa('0x55'),_0xffaa('0x56'),_0xffaa('0x57')]})[_0xffaa('0x26')](handleEntityNotFound(_0x3170df,null))[_0xffaa('0x26')](function(_0x4d7e39){if(_0x4d7e39){_0x3ced91=_0x4d7e39[_0xffaa('0x54')];var _0x133744=_0x3ced91[_0xffaa('0x58')](-0x1);if(_0x133744==='/'){_0x3ced91=_0x3ced91[_0xffaa('0x59')](0x0,_0x3ced91[_0xffaa('0x5a')](_0x133744));}_0xa21ddd=new jsforce['Connection']({'oauth2':{'loginUrl':_0x3ced91,'clientId':_0x4d7e39[_0xffaa('0x5b')],'clientSecret':_0x4d7e39['clientSecret']}});return _0xa21ddd[_0xffaa('0x5c')](_0x4d7e39[_0xffaa('0x55')],_0x4d7e39[_0xffaa('0x56')][_0xffaa('0x5d')](_0x4d7e39[_0xffaa('0x57')]));}})[_0xffaa('0x26')](function(_0x1e0059){if(_0x1e0059){if(!_[_0xffaa('0x5e')](_0x9a9441[_0xffaa('0x30')][_0xffaa('0x5f')])){_0x187e98=_0x9a9441[_0xffaa('0x30')]['ticketType'];}return _0xa21ddd[_0xffaa('0x60')](_0x187e98)[_0xffaa('0x61')]();}})[_0xffaa('0x26')](function(_0x52f583){var _0x3060f3=[_0xffaa('0x62'),_0xffaa('0x63'),_0xffaa('0x64'),_0xffaa('0x65'),_0xffaa('0x66'),_0xffaa('0x67')];var _0x1a68e2=[_0xffaa('0x68'),_0xffaa('0x69'),_0xffaa('0x6a'),_0xffaa('0x6b'),_0xffaa('0x6c'),_0xffaa('0x6d'),'phone'];if(_0x52f583){_['remove'](_0x52f583[_0xffaa('0x35')],function(_0x408c16){return _0x3060f3['includes'](_0x408c16[_0xffaa('0x29')])||!_0x1a68e2[_0xffaa('0x6e')](_0x408c16[_0xffaa('0x2e')]);});return{'count':_0x52f583['fields'][_0xffaa('0x36')],'rows':_[_0xffaa('0x2c')](_0x52f583[_0xffaa('0x35')],function(_0x51b19e){return{'id':_0x51b19e[_0xffaa('0x29')],'name':_0x51b19e['label'],'custom':_0x51b19e[_0xffaa('0x6f')],'options':_0x51b19e[_0xffaa('0x70')][_0xffaa('0x36')]>0x0?_[_0xffaa('0x2c')](_0x51b19e[_0xffaa('0x70')],function(_0x3713d4){return{'name':_0x3713d4[_0xffaa('0x71')],'value':_0x3713d4[_0xffaa('0x72')]};}):_0x51b19e[_0xffaa('0x2e')]==_0xffaa('0x6b')?[{'name':_0xffaa('0x73'),'value':'true'},{'name':_0xffaa('0x74'),'value':_0xffaa('0x75')}]:[]};})};}})[_0xffaa('0x26')](respondWithResult(_0x3170df,null))[_0xffaa('0x41')](function(_0x31dad2){var _0x101519=_0x9a9441['query'][_0xffaa('0x76')]?0x1f4:_0x31dad2['statusCode']||0x1f4;logger[_0xffaa('0x27')]('getFields,\x20%s,\x20%s,\x20%s',_0xffaa('0x52'),_0x101519,JSON['stringify'](_0x31dad2));delete _0x31dad2[_0xffaa('0x29')];if(_0x101519===0x191){_0x101519=0x190;}_0x3170df[_0xffaa('0x1c')](_0x101519)[_0xffaa('0x2a')](_0x9a9441[_0xffaa('0x30')][_0xffaa('0x76')]?{'message':_0xffaa('0x77'),'statusCode':_0x31dad2['statusCode']}:_0x31dad2);});};