Built motion from commit 64f2f01b.|2.6.25
[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 _0xa2af=['picklistValues','value','true','False','false','test','statusCode','Wrong\x20credentials','rimraf','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','SalesforceAccount','rawAttributes','type','key','model','map','query','keys','filters','intersection','fields','attributes','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','length','find','create','body','destroy','getConfigurations','findOne','SalesforceConfiguration','hasOwnProperty','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','SalesforceField','getFields','Task','remoteUri','clientSecret','username','password','securityToken','substring','Connection','login','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','Subject','Description','int','email','textarea','remove','custom'];(function(_0x29932e,_0x2e24ed){var _0x36aa87=function(_0x55caea){while(--_0x55caea){_0x29932e['push'](_0x29932e['shift']());}};_0x36aa87(++_0x2e24ed);}(_0xa2af,0x16a));var _0xfa2a=function(_0x95d90f,_0x3b963f){_0x95d90f=_0x95d90f-0x0;var _0x226cc3=_0xa2af[_0x95d90f];return _0x226cc3;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfa2a('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xfa2a('0x1'));var rp=require(_0xfa2a('0x2'));var moment=require(_0xfa2a('0x3'));var BPromise=require(_0xfa2a('0x4'));var Mustache=require('mustache');var util=require(_0xfa2a('0x5'));var path=require('path');var sox=require(_0xfa2a('0x6'));var csv=require(_0xfa2a('0x7'));var ejs=require(_0xfa2a('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfa2a('0x9'));var squel=require(_0xfa2a('0xa'));var crypto=require(_0xfa2a('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xfa2a('0xc'));var toCsv=require('to-csv');var querystring=require(_0xfa2a('0xd'));var Papa=require('papaparse');var Redis=require(_0xfa2a('0xe'));var authService=require(_0xfa2a('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xfa2a('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfa2a('0x11'))(_0xfa2a('0x12'));var utils=require(_0xfa2a('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xfa2a('0x14'));var db=require(_0xfa2a('0x15'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x27c593,_0x16ca8a){_0x16ca8a=_0x16ca8a||0xcc;return function(_0x2ba9f3){if(_0x2ba9f3){return _0x27c593[_0xfa2a('0x16')](_0x16ca8a);}return _0x27c593[_0xfa2a('0x17')](_0x16ca8a)[_0xfa2a('0x18')]();};}function respondWithResult(_0xb01096,_0x12bb31){_0x12bb31=_0x12bb31||0xc8;return function(_0x5c690b){if(_0x5c690b){return _0xb01096['status'](_0x12bb31)[_0xfa2a('0x19')](_0x5c690b);}};}function respondWithFilteredResult(_0x30e890,_0xaf4320){return function(_0x1b30fb){if(_0x1b30fb){var _0xd3e874=typeof _0xaf4320[_0xfa2a('0x1a')]===_0xfa2a('0x1b')&&typeof _0xaf4320[_0xfa2a('0x1c')]==='undefined';var _0x30be88=_0x1b30fb[_0xfa2a('0x1d')];var _0x30223a=_0xd3e874?0x0:_0xaf4320[_0xfa2a('0x1a')];var _0xb334b0=_0xd3e874?_0x1b30fb[_0xfa2a('0x1d')]:_0xaf4320[_0xfa2a('0x1a')]+_0xaf4320['limit'];var _0x5d7f93;if(_0xb334b0>=_0x30be88){_0xb334b0=_0x30be88;_0x5d7f93=0xc8;}else{_0x5d7f93=0xce;}_0x30e890[_0xfa2a('0x17')](_0x5d7f93);return _0x30e890[_0xfa2a('0x1e')](_0xfa2a('0x1f'),_0x30223a+'-'+_0xb334b0+'/'+_0x30be88)['json'](_0x1b30fb);}return null;};}function patchUpdates(_0x3d70aa){return function(_0x2d12d6){try{jsonpatch[_0xfa2a('0x20')](_0x2d12d6,_0x3d70aa,!![]);}catch(_0x197bfa){return BPromise[_0xfa2a('0x21')](_0x197bfa);}return _0x2d12d6[_0xfa2a('0x22')]();};}function saveUpdates(_0x33e68b,_0x272a33){return function(_0x3f271b){if(_0x3f271b){return _0x3f271b[_0xfa2a('0x23')](_0x33e68b)[_0xfa2a('0x24')](function(_0x5adddc){return _0x5adddc;});}return null;};}function removeEntity(_0x263e7a,_0x4505c6){return function(_0x2d0269){if(_0x2d0269){return _0x2d0269['destroy']()[_0xfa2a('0x24')](function(){_0x263e7a[_0xfa2a('0x17')](0xcc)[_0xfa2a('0x18')]();});}};}function handleEntityNotFound(_0x138439,_0x4aa36a){return function(_0x2dde38){if(!_0x2dde38){_0x138439[_0xfa2a('0x16')](0x194);}return _0x2dde38;};}function handleError(_0xc85512,_0x5c1890){_0x5c1890=_0x5c1890||0x1f4;return function(_0x45f1cc){logger[_0xfa2a('0x25')](_0x45f1cc[_0xfa2a('0x26')]);if(_0x45f1cc[_0xfa2a('0x27')]){delete _0x45f1cc[_0xfa2a('0x27')];}_0xc85512[_0xfa2a('0x17')](_0x5c1890)[_0xfa2a('0x28')](_0x45f1cc);};}exports[_0xfa2a('0x29')]=function(_0x2fbf47,_0x1c5206){var _0x3a6b31={},_0x1e60bf={},_0x262825={'count':0x0,'rows':[]};var _0x31aee0=_['map'](db[_0xfa2a('0x2a')][_0xfa2a('0x2b')],function(_0x2c5a8c){return{'name':_0x2c5a8c['fieldName'],'type':_0x2c5a8c[_0xfa2a('0x2c')][_0xfa2a('0x2d')]};});_0x1e60bf[_0xfa2a('0x2e')]=_[_0xfa2a('0x2f')](_0x31aee0,_0xfa2a('0x27'));_0x1e60bf[_0xfa2a('0x30')]=_[_0xfa2a('0x31')](_0x2fbf47[_0xfa2a('0x30')]);_0x1e60bf[_0xfa2a('0x32')]=_[_0xfa2a('0x33')](_0x1e60bf[_0xfa2a('0x2e')],_0x1e60bf[_0xfa2a('0x30')]);_0x3a6b31['attributes']=_[_0xfa2a('0x33')](_0x1e60bf[_0xfa2a('0x2e')],qs['fields'](_0x2fbf47['query'][_0xfa2a('0x34')]));_0x3a6b31[_0xfa2a('0x35')]=_0x3a6b31[_0xfa2a('0x35')]['length']?_0x3a6b31[_0xfa2a('0x35')]:_0x1e60bf[_0xfa2a('0x2e')];if(!_0x2fbf47[_0xfa2a('0x30')]['hasOwnProperty']('nolimit')){_0x3a6b31[_0xfa2a('0x1c')]=qs['limit'](_0x2fbf47['query'][_0xfa2a('0x1c')]);_0x3a6b31['offset']=qs['offset'](_0x2fbf47[_0xfa2a('0x30')][_0xfa2a('0x1a')]);}_0x3a6b31[_0xfa2a('0x36')]=qs['sort'](_0x2fbf47[_0xfa2a('0x30')][_0xfa2a('0x37')]);_0x3a6b31[_0xfa2a('0x38')]=qs[_0xfa2a('0x32')](_[_0xfa2a('0x39')](_0x2fbf47['query'],_0x1e60bf[_0xfa2a('0x32')]),_0x31aee0);if(_0x2fbf47['query'][_0xfa2a('0x3a')]){_0x3a6b31['where']=_[_0xfa2a('0x3b')](_0x3a6b31[_0xfa2a('0x38')],{'$or':_[_0xfa2a('0x2f')](_0x31aee0,function(_0x586983){if(_0x586983['type']!==_0xfa2a('0x3c')){var _0x2c49f4={};_0x2c49f4[_0x586983['name']]={'$like':'%'+_0x2fbf47[_0xfa2a('0x30')][_0xfa2a('0x3a')]+'%'};return _0x2c49f4;}})});}_0x3a6b31=_[_0xfa2a('0x3b')]({},_0x3a6b31,_0x2fbf47[_0xfa2a('0x3d')]);var _0xb778ca={'where':_0x3a6b31['where']};return db['SalesforceAccount'][_0xfa2a('0x1d')](_0xb778ca)[_0xfa2a('0x24')](function(_0xfe8bb9){_0x262825[_0xfa2a('0x1d')]=_0xfe8bb9;if(_0x2fbf47[_0xfa2a('0x30')][_0xfa2a('0x3e')]){_0x3a6b31[_0xfa2a('0x3f')]=[{'all':!![]}];}return db[_0xfa2a('0x2a')]['findAll'](_0x3a6b31);})[_0xfa2a('0x24')](function(_0x45fe98){_0x262825[_0xfa2a('0x40')]=_0x45fe98;return _0x262825;})['then'](respondWithFilteredResult(_0x1c5206,_0x3a6b31))[_0xfa2a('0x41')](handleError(_0x1c5206,null));};exports[_0xfa2a('0x42')]=function(_0x4d5509,_0x4c75aa){var _0x20c98c={'raw':![],'where':{'id':_0x4d5509[_0xfa2a('0x43')]['id']}},_0x45003d={};_0x45003d[_0xfa2a('0x2e')]=_[_0xfa2a('0x31')](db[_0xfa2a('0x2a')]['rawAttributes']);_0x45003d[_0xfa2a('0x30')]=_[_0xfa2a('0x31')](_0x4d5509['query']);_0x45003d[_0xfa2a('0x32')]=_[_0xfa2a('0x33')](_0x45003d[_0xfa2a('0x2e')],_0x45003d[_0xfa2a('0x30')]);_0x20c98c[_0xfa2a('0x35')]=_[_0xfa2a('0x33')](_0x45003d['model'],qs[_0xfa2a('0x34')](_0x4d5509['query'][_0xfa2a('0x34')]));_0x20c98c[_0xfa2a('0x35')]=_0x20c98c[_0xfa2a('0x35')][_0xfa2a('0x44')]?_0x20c98c[_0xfa2a('0x35')]:_0x45003d[_0xfa2a('0x2e')];if(_0x4d5509['query'][_0xfa2a('0x3e')]){_0x20c98c[_0xfa2a('0x3f')]=[{'all':!![]}];}_0x20c98c=_['merge']({},_0x20c98c,_0x4d5509['options']);return db[_0xfa2a('0x2a')][_0xfa2a('0x45')](_0x20c98c)[_0xfa2a('0x24')](handleEntityNotFound(_0x4c75aa,null))['then'](respondWithResult(_0x4c75aa,null))[_0xfa2a('0x41')](handleError(_0x4c75aa,null));};exports['create']=function(_0x1cca80,_0x5a2a06){return db[_0xfa2a('0x2a')][_0xfa2a('0x46')](_0x1cca80['body'],{})['then'](respondWithResult(_0x5a2a06,0xc9))[_0xfa2a('0x41')](handleError(_0x5a2a06,null));};exports[_0xfa2a('0x23')]=function(_0x53a228,_0x15696b){if(_0x53a228[_0xfa2a('0x47')]['id']){delete _0x53a228[_0xfa2a('0x47')]['id'];}return db[_0xfa2a('0x2a')][_0xfa2a('0x45')]({'where':{'id':_0x53a228[_0xfa2a('0x43')]['id']}})['then'](handleEntityNotFound(_0x15696b,null))[_0xfa2a('0x24')](saveUpdates(_0x53a228['body'],null))[_0xfa2a('0x24')](respondWithResult(_0x15696b,null))[_0xfa2a('0x41')](handleError(_0x15696b,null));};exports[_0xfa2a('0x48')]=function(_0x191ad5,_0x50aed1){return db['SalesforceAccount']['find']({'where':{'id':_0x191ad5['params']['id']}})[_0xfa2a('0x24')](handleEntityNotFound(_0x50aed1,null))[_0xfa2a('0x24')](removeEntity(_0x50aed1,null))[_0xfa2a('0x41')](handleError(_0x50aed1,null));};exports[_0xfa2a('0x49')]=function(_0x12938e,_0x4b1a7e,_0x34cea8){var _0x546cbe={};var _0x49abc7={};var _0x515f45;var _0x257f31;return db[_0xfa2a('0x2a')][_0xfa2a('0x4a')]({'where':{'id':_0x12938e[_0xfa2a('0x43')]['id']}})[_0xfa2a('0x24')](handleEntityNotFound(_0x4b1a7e,null))['then'](function(_0x1be341){if(_0x1be341){_0x515f45=_0x1be341;_0x49abc7[_0xfa2a('0x2e')]=_[_0xfa2a('0x31')](db[_0xfa2a('0x4b')][_0xfa2a('0x2b')]);_0x49abc7[_0xfa2a('0x30')]=_['keys'](_0x12938e[_0xfa2a('0x30')]);_0x49abc7[_0xfa2a('0x32')]=_[_0xfa2a('0x33')](_0x49abc7[_0xfa2a('0x2e')],_0x49abc7[_0xfa2a('0x30')]);_0x546cbe[_0xfa2a('0x35')]=_[_0xfa2a('0x33')](_0x49abc7[_0xfa2a('0x2e')],qs[_0xfa2a('0x34')](_0x12938e[_0xfa2a('0x30')]['fields']));_0x546cbe[_0xfa2a('0x35')]=_0x546cbe[_0xfa2a('0x35')]['length']?_0x546cbe[_0xfa2a('0x35')]:_0x49abc7[_0xfa2a('0x2e')];_0x546cbe[_0xfa2a('0x36')]=qs[_0xfa2a('0x37')](_0x12938e[_0xfa2a('0x30')][_0xfa2a('0x37')]);_0x546cbe[_0xfa2a('0x38')]=qs['filters'](_[_0xfa2a('0x39')](_0x12938e[_0xfa2a('0x30')],_0x49abc7['filters']));if(_0x12938e[_0xfa2a('0x30')][_0xfa2a('0x3a')]){_0x546cbe[_0xfa2a('0x38')]=_[_0xfa2a('0x3b')](_0x546cbe[_0xfa2a('0x38')],{'$or':_['map'](_0x546cbe[_0xfa2a('0x35')],function(_0x2ca040){var _0x16a050={};_0x16a050[_0x2ca040]={'$like':'%'+_0x12938e[_0xfa2a('0x30')]['filter']+'%'};return _0x16a050;})});}_0x546cbe=_[_0xfa2a('0x3b')]({},_0x546cbe,_0x12938e[_0xfa2a('0x3d')]);return _0x515f45[_0xfa2a('0x49')](_0x546cbe);}})[_0xfa2a('0x24')](function(_0x81d89e){if(_0x81d89e){_0x257f31=_0x81d89e[_0xfa2a('0x44')];if(!_0x12938e[_0xfa2a('0x30')][_0xfa2a('0x4c')](_0xfa2a('0x4d'))){_0x546cbe[_0xfa2a('0x1c')]=qs['limit'](_0x12938e[_0xfa2a('0x30')][_0xfa2a('0x1c')]);_0x546cbe[_0xfa2a('0x1a')]=qs[_0xfa2a('0x1a')](_0x12938e[_0xfa2a('0x30')][_0xfa2a('0x1a')]);}return _0x515f45[_0xfa2a('0x49')](_0x546cbe);}})[_0xfa2a('0x24')](function(_0x18a2b4){if(_0x18a2b4){return _0x18a2b4?{'count':_0x257f31,'rows':_0x18a2b4}:null;}})['then'](respondWithResult(_0x4b1a7e,null))[_0xfa2a('0x41')](handleError(_0x4b1a7e,null));};exports[_0xfa2a('0x4e')]=function(_0x3e7599,_0x12808d,_0x11add6){if(_0x3e7599['body']['id']){delete _0x3e7599[_0xfa2a('0x47')]['id'];}return db[_0xfa2a('0x2a')][_0xfa2a('0x4a')]({'where':{'id':_0x3e7599['params']['id']}})['then'](handleEntityNotFound(_0x12808d,null))[_0xfa2a('0x24')](function(_0xe27fa4){if(_0xe27fa4){_0x3e7599[_0xfa2a('0x47')][_0xfa2a('0x4f')]=_0xe27fa4['id'];_0x3e7599[_0xfa2a('0x47')][_0xfa2a('0x50')]=integrations[_0xfa2a('0x51')](_0x3e7599[_0xfa2a('0x47')][_0xfa2a('0x52')],_0x3e7599[_0xfa2a('0x47')][_0xfa2a('0x2c')]);_0x3e7599[_0xfa2a('0x47')][_0xfa2a('0x53')]=integrations['getDescriptions'](_0x3e7599[_0xfa2a('0x47')][_0xfa2a('0x52')],_0x3e7599['body']['type']);return db['SalesforceConfiguration']['create'](_0x3e7599[_0xfa2a('0x47')],{'include':[{'model':db[_0xfa2a('0x54')],'as':'Subjects'},{'model':db['SalesforceField'],'as':'Descriptions'}]});}return null;})[_0xfa2a('0x24')](respondWithResult(_0x12808d,null))['catch'](handleError(_0x12808d,null));};exports[_0xfa2a('0x55')]=function(_0x3e1d25,_0x2be3d3,_0x5028f4){var _0x5c3ac2;var _0x3a3e15='';var _0x6f92f2=_0xfa2a('0x56');return db[_0xfa2a('0x2a')][_0xfa2a('0x4a')]({'where':{'id':_0x3e1d25[_0xfa2a('0x43')]['id']},'attributes':['id',_0xfa2a('0x57'),'clientId',_0xfa2a('0x58'),_0xfa2a('0x59'),_0xfa2a('0x5a'),_0xfa2a('0x5b')]})['then'](handleEntityNotFound(_0x2be3d3,null))[_0xfa2a('0x24')](function(_0x435140){if(_0x435140){_0x3a3e15=_0x435140[_0xfa2a('0x57')];var _0xf3b196=_0x3a3e15['slice'](-0x1);if(_0xf3b196==='/'){_0x3a3e15=_0x3a3e15[_0xfa2a('0x5c')](0x0,_0x3a3e15['lastIndexOf'](_0xf3b196));}_0x5c3ac2=new jsforce[(_0xfa2a('0x5d'))]({'oauth2':{'loginUrl':_0x3a3e15,'clientId':_0x435140['clientId'],'clientSecret':_0x435140[_0xfa2a('0x58')]}});return _0x5c3ac2[_0xfa2a('0x5e')](_0x435140['username'],_0x435140[_0xfa2a('0x5a')][_0xfa2a('0x5f')](_0x435140['securityToken']));}})[_0xfa2a('0x24')](function(_0x1dba8b){if(_0x1dba8b){if(!_[_0xfa2a('0x60')](_0x3e1d25[_0xfa2a('0x30')][_0xfa2a('0x61')])){_0x6f92f2=_0x3e1d25[_0xfa2a('0x30')][_0xfa2a('0x61')];}return _0x5c3ac2[_0xfa2a('0x62')](_0x6f92f2)[_0xfa2a('0x63')]();}})[_0xfa2a('0x24')](function(_0x28dca4){var _0x499e1b=[_0xfa2a('0x64'),_0xfa2a('0x65'),_0xfa2a('0x66'),'IsRecurrence',_0xfa2a('0x67'),_0xfa2a('0x68')];var _0x5219f9=['string',_0xfa2a('0x69'),'picklist','boolean',_0xfa2a('0x6a'),_0xfa2a('0x6b'),'phone'];if(_0x28dca4){_[_0xfa2a('0x6c')](_0x28dca4[_0xfa2a('0x34')],function(_0x3d120c){return _0x499e1b['includes'](_0x3d120c[_0xfa2a('0x27')])||!_0x5219f9['includes'](_0x3d120c['type']);});return{'count':_0x28dca4[_0xfa2a('0x34')]['length'],'rows':_[_0xfa2a('0x2f')](_0x28dca4[_0xfa2a('0x34')],function(_0x4009c0){return{'id':_0x4009c0['name'],'name':_0x4009c0['label'],'custom':_0x4009c0[_0xfa2a('0x6d')],'options':_0x4009c0[_0xfa2a('0x6e')][_0xfa2a('0x44')]>0x0?_[_0xfa2a('0x2f')](_0x4009c0[_0xfa2a('0x6e')],function(_0x72df3f){return{'name':_0x72df3f['label'],'value':_0x72df3f[_0xfa2a('0x6f')]};}):_0x4009c0[_0xfa2a('0x2c')]=='boolean'?[{'name':'True','value':_0xfa2a('0x70')},{'name':_0xfa2a('0x71'),'value':_0xfa2a('0x72')}]:[]};})};}})[_0xfa2a('0x24')](respondWithResult(_0x2be3d3,null))['catch'](function(_0x7cf645){var _0x10c890=_0x3e1d25[_0xfa2a('0x30')][_0xfa2a('0x73')]?0x1f4:_0x7cf645[_0xfa2a('0x74')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x10c890,JSON['stringify'](_0x7cf645));delete _0x7cf645[_0xfa2a('0x27')];if(_0x10c890===0x191){_0x10c890=0x190;}_0x2be3d3['status'](_0x10c890)['send'](_0x3e1d25['query'][_0xfa2a('0x73')]?{'message':_0xfa2a('0x75'),'statusCode':_0x7cf645[_0xfa2a('0x74')]}:_0x7cf645);});};