01c16acbdfe5bc252a04220a202a76ab239cce76
[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 _0x7757=['../../mysqldb','sendStatus','status','undefined','limit','count','offset','set','json','reject','save','update','then','destroy','end','error','stack','name','send','map','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','length','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','SalesforceAccount','fields','find','create','body','getConfigurations','findOne','SalesforceConfiguration','nolimit','addConfiguration','AccountId','Subjects','getSubjects','getDescriptions','channel','SalesforceField','Task','remoteUri','clientSecret','password','securityToken','substring','lastIndexOf','Connection','clientId','login','username','concat','isNil','ticketType','sobject','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Description','string','int','boolean','email','textarea','phone','includes','label','custom','picklistValues','value','True','true','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util'];(function(_0x4879ba,_0x337333){var _0x50e109=function(_0x4e1939){while(--_0x4e1939){_0x4879ba['push'](_0x4879ba['shift']());}};_0x50e109(++_0x337333);}(_0x7757,0x1db));var _0x7775=function(_0x31e29a,_0x349c9b){_0x31e29a=_0x31e29a-0x0;var _0x32d892=_0x7757[_0x31e29a];return _0x32d892;};'use strict';var emlformat=require(_0x7775('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7775('0x1'));var jsonpatch=require(_0x7775('0x2'));var rp=require(_0x7775('0x3'));var moment=require(_0x7775('0x4'));var BPromise=require(_0x7775('0x5'));var Mustache=require(_0x7775('0x6'));var util=require(_0x7775('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x7775('0x8'));var ejs=require(_0x7775('0x9'));var fs=require('fs');var fs_extra=require(_0x7775('0xa'));var _=require(_0x7775('0xb'));var squel=require(_0x7775('0xc'));var crypto=require('crypto');var jsforce=require(_0x7775('0xd'));var deskjs=require(_0x7775('0xe'));var toCsv=require(_0x7775('0x8'));var querystring=require(_0x7775('0xf'));var Papa=require(_0x7775('0x10'));var Redis=require(_0x7775('0x11'));var authService=require(_0x7775('0x12'));var qs=require(_0x7775('0x13'));var as=require(_0x7775('0x14'));var hardwareService=require(_0x7775('0x15'));var logger=require('../../config/logger')(_0x7775('0x16'));var utils=require(_0x7775('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x7775('0x18'));var db=require(_0x7775('0x19'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x50a30d,_0x8f53ef){_0x8f53ef=_0x8f53ef||0xcc;return function(_0x3fe977){if(_0x3fe977){return _0x50a30d[_0x7775('0x1a')](_0x8f53ef);}return _0x50a30d[_0x7775('0x1b')](_0x8f53ef)['end']();};}function respondWithResult(_0x2a33c2,_0x185c78){_0x185c78=_0x185c78||0xc8;return function(_0x2a180f){if(_0x2a180f){return _0x2a33c2[_0x7775('0x1b')](_0x185c78)['json'](_0x2a180f);}};}function respondWithFilteredResult(_0x22d3fb,_0x342ce2){return function(_0x11e4b4){if(_0x11e4b4){var _0x2d46f8=typeof _0x342ce2['offset']===_0x7775('0x1c')&&typeof _0x342ce2[_0x7775('0x1d')]==='undefined';var _0x4159d7=_0x11e4b4[_0x7775('0x1e')];var _0x41dfca=_0x2d46f8?0x0:_0x342ce2[_0x7775('0x1f')];var _0x2d340c=_0x2d46f8?_0x11e4b4[_0x7775('0x1e')]:_0x342ce2[_0x7775('0x1f')]+_0x342ce2['limit'];var _0x3f203a;if(_0x2d340c>=_0x4159d7){_0x2d340c=_0x4159d7;_0x3f203a=0xc8;}else{_0x3f203a=0xce;}_0x22d3fb[_0x7775('0x1b')](_0x3f203a);return _0x22d3fb[_0x7775('0x20')]('Content-Range',_0x41dfca+'-'+_0x2d340c+'/'+_0x4159d7)[_0x7775('0x21')](_0x11e4b4);}return null;};}function patchUpdates(_0x2c439a){return function(_0x27a0da){try{jsonpatch['apply'](_0x27a0da,_0x2c439a,!![]);}catch(_0x366a45){return BPromise[_0x7775('0x22')](_0x366a45);}return _0x27a0da[_0x7775('0x23')]();};}function saveUpdates(_0x323a6c,_0x3f9819){return function(_0x1f8aa1){if(_0x1f8aa1){return _0x1f8aa1[_0x7775('0x24')](_0x323a6c)[_0x7775('0x25')](function(_0x3583eb){return _0x3583eb;});}return null;};}function removeEntity(_0x4663b7,_0x49c19c){return function(_0x197437){if(_0x197437){return _0x197437[_0x7775('0x26')]()[_0x7775('0x25')](function(){_0x4663b7[_0x7775('0x1b')](0xcc)[_0x7775('0x27')]();});}};}function handleEntityNotFound(_0x5134ad,_0x2af457){return function(_0x1d0a6b){if(!_0x1d0a6b){_0x5134ad[_0x7775('0x1a')](0x194);}return _0x1d0a6b;};}function handleError(_0x180746,_0x43a1e8){_0x43a1e8=_0x43a1e8||0x1f4;return function(_0xa2e3dc){logger[_0x7775('0x28')](_0xa2e3dc[_0x7775('0x29')]);if(_0xa2e3dc[_0x7775('0x2a')]){delete _0xa2e3dc[_0x7775('0x2a')];}_0x180746[_0x7775('0x1b')](_0x43a1e8)[_0x7775('0x2b')](_0xa2e3dc);};}exports['index']=function(_0x248011,_0x5ab32a){var _0x540d1d={},_0x492d58={},_0x1a4693={'count':0x0,'rows':[]};var _0x4bb4c6=_[_0x7775('0x2c')](db['SalesforceAccount'][_0x7775('0x2d')],function(_0x33b87e){return{'name':_0x33b87e['fieldName'],'type':_0x33b87e[_0x7775('0x2e')][_0x7775('0x2f')]};});_0x492d58[_0x7775('0x30')]=_[_0x7775('0x2c')](_0x4bb4c6,_0x7775('0x2a'));_0x492d58['query']=_[_0x7775('0x31')](_0x248011[_0x7775('0x32')]);_0x492d58[_0x7775('0x33')]=_[_0x7775('0x34')](_0x492d58['model'],_0x492d58[_0x7775('0x32')]);_0x540d1d[_0x7775('0x35')]=_[_0x7775('0x34')](_0x492d58[_0x7775('0x30')],qs['fields'](_0x248011[_0x7775('0x32')]['fields']));_0x540d1d['attributes']=_0x540d1d[_0x7775('0x35')][_0x7775('0x36')]?_0x540d1d[_0x7775('0x35')]:_0x492d58[_0x7775('0x30')];if(!_0x248011[_0x7775('0x32')][_0x7775('0x37')]('nolimit')){_0x540d1d[_0x7775('0x1d')]=qs['limit'](_0x248011[_0x7775('0x32')]['limit']);_0x540d1d[_0x7775('0x1f')]=qs[_0x7775('0x1f')](_0x248011[_0x7775('0x32')][_0x7775('0x1f')]);}_0x540d1d[_0x7775('0x38')]=qs[_0x7775('0x39')](_0x248011[_0x7775('0x32')][_0x7775('0x39')]);_0x540d1d['where']=qs[_0x7775('0x33')](_[_0x7775('0x3a')](_0x248011[_0x7775('0x32')],_0x492d58[_0x7775('0x33')]),_0x4bb4c6);if(_0x248011['query'][_0x7775('0x3b')]){_0x540d1d[_0x7775('0x3c')]=_[_0x7775('0x3d')](_0x540d1d[_0x7775('0x3c')],{'$or':_[_0x7775('0x2c')](_0x4bb4c6,function(_0x209d3a){if(_0x209d3a[_0x7775('0x2e')]!==_0x7775('0x3e')){var _0x5befa6={};_0x5befa6[_0x209d3a[_0x7775('0x2a')]]={'$like':'%'+_0x248011[_0x7775('0x32')][_0x7775('0x3b')]+'%'};return _0x5befa6;}})});}_0x540d1d=_[_0x7775('0x3d')]({},_0x540d1d,_0x248011[_0x7775('0x3f')]);var _0xd33559={'where':_0x540d1d[_0x7775('0x3c')]};return db['SalesforceAccount'][_0x7775('0x1e')](_0xd33559)[_0x7775('0x25')](function(_0x327d25){_0x1a4693[_0x7775('0x1e')]=_0x327d25;if(_0x248011[_0x7775('0x32')][_0x7775('0x40')]){_0x540d1d[_0x7775('0x41')]=[{'all':!![]}];}return db['SalesforceAccount'][_0x7775('0x42')](_0x540d1d);})[_0x7775('0x25')](function(_0x2d13e8){_0x1a4693['rows']=_0x2d13e8;return _0x1a4693;})[_0x7775('0x25')](respondWithFilteredResult(_0x5ab32a,_0x540d1d))[_0x7775('0x43')](handleError(_0x5ab32a,null));};exports[_0x7775('0x44')]=function(_0x438799,_0x4a593e){var _0xbccf6={'raw':![],'where':{'id':_0x438799[_0x7775('0x45')]['id']}},_0x29a122={};_0x29a122[_0x7775('0x30')]=_['keys'](db[_0x7775('0x46')][_0x7775('0x2d')]);_0x29a122['query']=_[_0x7775('0x31')](_0x438799['query']);_0x29a122['filters']=_[_0x7775('0x34')](_0x29a122[_0x7775('0x30')],_0x29a122['query']);_0xbccf6[_0x7775('0x35')]=_[_0x7775('0x34')](_0x29a122[_0x7775('0x30')],qs[_0x7775('0x47')](_0x438799[_0x7775('0x32')][_0x7775('0x47')]));_0xbccf6[_0x7775('0x35')]=_0xbccf6[_0x7775('0x35')]['length']?_0xbccf6[_0x7775('0x35')]:_0x29a122[_0x7775('0x30')];if(_0x438799[_0x7775('0x32')]['includeAll']){_0xbccf6[_0x7775('0x41')]=[{'all':!![]}];}_0xbccf6=_[_0x7775('0x3d')]({},_0xbccf6,_0x438799[_0x7775('0x3f')]);return db[_0x7775('0x46')][_0x7775('0x48')](_0xbccf6)[_0x7775('0x25')](handleEntityNotFound(_0x4a593e,null))['then'](respondWithResult(_0x4a593e,null))[_0x7775('0x43')](handleError(_0x4a593e,null));};exports[_0x7775('0x49')]=function(_0x5f0410,_0x53fea2){return db[_0x7775('0x46')][_0x7775('0x49')](_0x5f0410['body'],{})[_0x7775('0x25')](respondWithResult(_0x53fea2,0xc9))[_0x7775('0x43')](handleError(_0x53fea2,null));};exports['update']=function(_0x394576,_0x7e4108){if(_0x394576[_0x7775('0x4a')]['id']){delete _0x394576[_0x7775('0x4a')]['id'];}return db['SalesforceAccount'][_0x7775('0x48')]({'where':{'id':_0x394576[_0x7775('0x45')]['id']}})['then'](handleEntityNotFound(_0x7e4108,null))[_0x7775('0x25')](saveUpdates(_0x394576[_0x7775('0x4a')],null))[_0x7775('0x25')](respondWithResult(_0x7e4108,null))[_0x7775('0x43')](handleError(_0x7e4108,null));};exports['destroy']=function(_0x2f1b2c,_0x10b8e8){return db[_0x7775('0x46')][_0x7775('0x48')]({'where':{'id':_0x2f1b2c[_0x7775('0x45')]['id']}})[_0x7775('0x25')](handleEntityNotFound(_0x10b8e8,null))[_0x7775('0x25')](removeEntity(_0x10b8e8,null))[_0x7775('0x43')](handleError(_0x10b8e8,null));};exports[_0x7775('0x4b')]=function(_0x1208f1,_0x52de40,_0x6c1b90){var _0x1979af={};var _0x556be5={};var _0x25f86e;var _0x1f7b99;return db[_0x7775('0x46')][_0x7775('0x4c')]({'where':{'id':_0x1208f1[_0x7775('0x45')]['id']}})[_0x7775('0x25')](handleEntityNotFound(_0x52de40,null))['then'](function(_0x27bab6){if(_0x27bab6){_0x25f86e=_0x27bab6;_0x556be5[_0x7775('0x30')]=_[_0x7775('0x31')](db[_0x7775('0x4d')][_0x7775('0x2d')]);_0x556be5[_0x7775('0x32')]=_[_0x7775('0x31')](_0x1208f1[_0x7775('0x32')]);_0x556be5[_0x7775('0x33')]=_[_0x7775('0x34')](_0x556be5[_0x7775('0x30')],_0x556be5[_0x7775('0x32')]);_0x1979af[_0x7775('0x35')]=_[_0x7775('0x34')](_0x556be5[_0x7775('0x30')],qs[_0x7775('0x47')](_0x1208f1['query']['fields']));_0x1979af[_0x7775('0x35')]=_0x1979af[_0x7775('0x35')][_0x7775('0x36')]?_0x1979af[_0x7775('0x35')]:_0x556be5[_0x7775('0x30')];_0x1979af[_0x7775('0x38')]=qs['sort'](_0x1208f1['query'][_0x7775('0x39')]);_0x1979af['where']=qs[_0x7775('0x33')](_[_0x7775('0x3a')](_0x1208f1['query'],_0x556be5[_0x7775('0x33')]));if(_0x1208f1[_0x7775('0x32')][_0x7775('0x3b')]){_0x1979af[_0x7775('0x3c')]=_[_0x7775('0x3d')](_0x1979af[_0x7775('0x3c')],{'$or':_[_0x7775('0x2c')](_0x1979af[_0x7775('0x35')],function(_0x3c79eb){var _0x434ab4={};_0x434ab4[_0x3c79eb]={'$like':'%'+_0x1208f1['query']['filter']+'%'};return _0x434ab4;})});}_0x1979af=_[_0x7775('0x3d')]({},_0x1979af,_0x1208f1['options']);return _0x25f86e['getConfigurations'](_0x1979af);}})[_0x7775('0x25')](function(_0x2f1b71){if(_0x2f1b71){_0x1f7b99=_0x2f1b71['length'];if(!_0x1208f1[_0x7775('0x32')][_0x7775('0x37')](_0x7775('0x4e'))){_0x1979af[_0x7775('0x1d')]=qs['limit'](_0x1208f1[_0x7775('0x32')][_0x7775('0x1d')]);_0x1979af[_0x7775('0x1f')]=qs[_0x7775('0x1f')](_0x1208f1[_0x7775('0x32')][_0x7775('0x1f')]);}return _0x25f86e[_0x7775('0x4b')](_0x1979af);}})['then'](function(_0x4a3a72){if(_0x4a3a72){return _0x4a3a72?{'count':_0x1f7b99,'rows':_0x4a3a72}:null;}})[_0x7775('0x25')](respondWithResult(_0x52de40,null))[_0x7775('0x43')](handleError(_0x52de40,null));};exports[_0x7775('0x4f')]=function(_0x18afca,_0x13be6e,_0x5d6546){if(_0x18afca[_0x7775('0x4a')]['id']){delete _0x18afca[_0x7775('0x4a')]['id'];}return db['SalesforceAccount'][_0x7775('0x4c')]({'where':{'id':_0x18afca[_0x7775('0x45')]['id']}})[_0x7775('0x25')](handleEntityNotFound(_0x13be6e,null))[_0x7775('0x25')](function(_0x29dde7){if(_0x29dde7){_0x18afca['body'][_0x7775('0x50')]=_0x29dde7['id'];_0x18afca[_0x7775('0x4a')][_0x7775('0x51')]=integrations[_0x7775('0x52')](_0x18afca['body']['channel'],_0x18afca[_0x7775('0x4a')]['type']);_0x18afca['body']['Descriptions']=integrations[_0x7775('0x53')](_0x18afca[_0x7775('0x4a')][_0x7775('0x54')],_0x18afca['body'][_0x7775('0x2e')]);return db['SalesforceConfiguration'][_0x7775('0x49')](_0x18afca[_0x7775('0x4a')],{'include':[{'model':db[_0x7775('0x55')],'as':_0x7775('0x51')},{'model':db[_0x7775('0x55')],'as':'Descriptions'}]});}return null;})[_0x7775('0x25')](respondWithResult(_0x13be6e,null))[_0x7775('0x43')](handleError(_0x13be6e,null));};exports['getFields']=function(_0x29deb2,_0x250cbf,_0x1c7ced){var _0x4ad365;var _0x1f9c1a='';var _0x16c750=_0x7775('0x56');return db[_0x7775('0x46')][_0x7775('0x4c')]({'where':{'id':_0x29deb2['params']['id']},'attributes':['id',_0x7775('0x57'),'clientId',_0x7775('0x58'),'username',_0x7775('0x59'),_0x7775('0x5a')]})['then'](handleEntityNotFound(_0x250cbf,null))[_0x7775('0x25')](function(_0xadeae5){if(_0xadeae5){_0x1f9c1a=_0xadeae5[_0x7775('0x57')];var _0x5c3822=_0x1f9c1a['slice'](-0x1);if(_0x5c3822==='/'){_0x1f9c1a=_0x1f9c1a[_0x7775('0x5b')](0x0,_0x1f9c1a[_0x7775('0x5c')](_0x5c3822));}_0x4ad365=new jsforce[(_0x7775('0x5d'))]({'oauth2':{'loginUrl':_0x1f9c1a,'clientId':_0xadeae5[_0x7775('0x5e')],'clientSecret':_0xadeae5[_0x7775('0x58')]}});return _0x4ad365[_0x7775('0x5f')](_0xadeae5[_0x7775('0x60')],_0xadeae5[_0x7775('0x59')][_0x7775('0x61')](_0xadeae5['securityToken']));}})['then'](function(_0x114395){if(_0x114395){if(!_[_0x7775('0x62')](_0x29deb2['query'][_0x7775('0x63')])){_0x16c750=_0x29deb2[_0x7775('0x32')][_0x7775('0x63')];}return _0x4ad365[_0x7775('0x64')](_0x16c750)['describe']();}})[_0x7775('0x25')](function(_0x118395){var _0x4f0d94=[_0x7775('0x65'),_0x7775('0x66'),_0x7775('0x67'),_0x7775('0x68'),'Subject',_0x7775('0x69')];var _0x1774ec=[_0x7775('0x6a'),_0x7775('0x6b'),'picklist',_0x7775('0x6c'),_0x7775('0x6d'),_0x7775('0x6e'),_0x7775('0x6f')];if(_0x118395){_['remove'](_0x118395['fields'],function(_0x2ba908){return _0x4f0d94[_0x7775('0x70')](_0x2ba908['name'])||!_0x1774ec['includes'](_0x2ba908['type']);});return{'count':_0x118395[_0x7775('0x47')][_0x7775('0x36')],'rows':_['map'](_0x118395['fields'],function(_0x542108){return{'id':_0x542108[_0x7775('0x2a')],'name':_0x542108[_0x7775('0x71')],'custom':_0x542108[_0x7775('0x72')],'options':_0x542108['picklistValues'][_0x7775('0x36')]>0x0?_[_0x7775('0x2c')](_0x542108[_0x7775('0x73')],function(_0xe12fc7){return{'name':_0xe12fc7[_0x7775('0x71')],'value':_0xe12fc7[_0x7775('0x74')]};}):_0x542108['type']=='boolean'?[{'name':_0x7775('0x75'),'value':_0x7775('0x76')},{'name':'False','value':_0x7775('0x77')}]:[]};})};}})[_0x7775('0x25')](respondWithResult(_0x250cbf,null))['catch'](function(_0x2352b6){var _0x2ad4e7=_0x29deb2[_0x7775('0x32')][_0x7775('0x78')]?0x1f4:_0x2352b6[_0x7775('0x79')]||0x1f4;logger['error'](_0x7775('0x7a'),_0x7775('0x7b'),_0x2ad4e7,JSON[_0x7775('0x7c')](_0x2352b6));delete _0x2352b6[_0x7775('0x2a')];if(_0x2ad4e7===0x191){_0x2ad4e7=0x190;}_0x250cbf[_0x7775('0x1b')](_0x2ad4e7)[_0x7775('0x2b')](_0x29deb2['query'][_0x7775('0x78')]?{'message':'Wrong\x20credentials','statusCode':_0x2352b6[_0x7775('0x79')]}:_0x2352b6);});};