235441252fcdd3f9587b872aede6f544c397c112
[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 _0x0fb4=['test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','limit','undefined','count','offset','Content-Range','reject','save','update','then','destroy','error','name','send','index','SalesforceAccount','rawAttributes','fieldName','type','model','map','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','params','keys','includeAll','find','create','body','getConfigurations','findOne','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','channel','getDescriptions','SalesforceConfiguration','SalesforceField','getFields','Task','remoteUri','clientSecret','password','securityToken','slice','lastIndexOf','Connection','concat','isNil','ticketType','describe','OwnerId','ActivityDate','IsRecurrence','Description','int','picklist','email','textarea','phone','includes','label','custom','picklistValues','value','boolean','True','False','false'];(function(_0xa464c9,_0x7c86d8){var _0x3d73c4=function(_0x5c2056){while(--_0x5c2056){_0xa464c9['push'](_0xa464c9['shift']());}};_0x3d73c4(++_0x7c86d8);}(_0x0fb4,0x80));var _0x40fb=function(_0x433a86,_0x175b5c){_0x433a86=_0x433a86-0x0;var _0x23000c=_0x0fb4[_0x433a86];return _0x23000c;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x40fb('0x0'));var jsonpatch=require(_0x40fb('0x1'));var rp=require(_0x40fb('0x2'));var moment=require('moment');var BPromise=require(_0x40fb('0x3'));var Mustache=require('mustache');var util=require(_0x40fb('0x4'));var path=require(_0x40fb('0x5'));var sox=require(_0x40fb('0x6'));var csv=require(_0x40fb('0x7'));var ejs=require(_0x40fb('0x8'));var fs=require('fs');var fs_extra=require(_0x40fb('0x9'));var _=require(_0x40fb('0xa'));var squel=require(_0x40fb('0xb'));var crypto=require(_0x40fb('0xc'));var jsforce=require(_0x40fb('0xd'));var deskjs=require(_0x40fb('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x40fb('0xf'));var Redis=require(_0x40fb('0x10'));var authService=require(_0x40fb('0x11'));var qs=require(_0x40fb('0x12'));var as=require(_0x40fb('0x13'));var hardwareService=require(_0x40fb('0x14'));var logger=require(_0x40fb('0x15'))(_0x40fb('0x16'));var utils=require(_0x40fb('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x40fb('0x18'));var db=require(_0x40fb('0x19'))['db'];var integrations=require(_0x40fb('0x1a'));function respondWithStatusCode(_0x553241,_0x4706e6){_0x4706e6=_0x4706e6||0xcc;return function(_0x1d764f){if(_0x1d764f){return _0x553241[_0x40fb('0x1b')](_0x4706e6);}return _0x553241[_0x40fb('0x1c')](_0x4706e6)[_0x40fb('0x1d')]();};}function respondWithResult(_0x1c00f8,_0xfa0d05){_0xfa0d05=_0xfa0d05||0xc8;return function(_0x114cb0){if(_0x114cb0){return _0x1c00f8[_0x40fb('0x1c')](_0xfa0d05)[_0x40fb('0x1e')](_0x114cb0);}};}function respondWithFilteredResult(_0x52c795,_0x3d2dcb){return function(_0x237971){if(_0x237971){var _0x343740=typeof _0x3d2dcb['offset']==='undefined'&&typeof _0x3d2dcb[_0x40fb('0x1f')]===_0x40fb('0x20');var _0x283396=_0x237971[_0x40fb('0x21')];var _0x2a4bd0=_0x343740?0x0:_0x3d2dcb['offset'];var _0x1cd331=_0x343740?_0x237971['count']:_0x3d2dcb[_0x40fb('0x22')]+_0x3d2dcb['limit'];var _0x30c587;if(_0x1cd331>=_0x283396){_0x1cd331=_0x283396;_0x30c587=0xc8;}else{_0x30c587=0xce;}_0x52c795[_0x40fb('0x1c')](_0x30c587);return _0x52c795['set'](_0x40fb('0x23'),_0x2a4bd0+'-'+_0x1cd331+'/'+_0x283396)['json'](_0x237971);}return null;};}function patchUpdates(_0x3fd718){return function(_0x125dfc){try{jsonpatch['apply'](_0x125dfc,_0x3fd718,!![]);}catch(_0x5df22c){return BPromise[_0x40fb('0x24')](_0x5df22c);}return _0x125dfc[_0x40fb('0x25')]();};}function saveUpdates(_0x3fabc6,_0x1de4fb){return function(_0x526426){if(_0x526426){return _0x526426[_0x40fb('0x26')](_0x3fabc6)[_0x40fb('0x27')](function(_0x1e32d4){return _0x1e32d4;});}return null;};}function removeEntity(_0x15cb16,_0x1e3424){return function(_0x47468b){if(_0x47468b){return _0x47468b[_0x40fb('0x28')]()[_0x40fb('0x27')](function(){_0x15cb16[_0x40fb('0x1c')](0xcc)[_0x40fb('0x1d')]();});}};}function handleEntityNotFound(_0x406f9b,_0x5ed3ca){return function(_0xd78577){if(!_0xd78577){_0x406f9b[_0x40fb('0x1b')](0x194);}return _0xd78577;};}function handleError(_0x34f7a0,_0x39ff33){_0x39ff33=_0x39ff33||0x1f4;return function(_0x2232ed){logger[_0x40fb('0x29')](_0x2232ed['stack']);if(_0x2232ed[_0x40fb('0x2a')]){delete _0x2232ed['name'];}_0x34f7a0['status'](_0x39ff33)[_0x40fb('0x2b')](_0x2232ed);};}exports[_0x40fb('0x2c')]=function(_0x329053,_0x4873c3){var _0x499edf={},_0x3bf0fc={},_0x2bf4b0={'count':0x0,'rows':[]};var _0x44dcd0=_['map'](db[_0x40fb('0x2d')][_0x40fb('0x2e')],function(_0xbe1bca){return{'name':_0xbe1bca[_0x40fb('0x2f')],'type':_0xbe1bca[_0x40fb('0x30')]['key']};});_0x3bf0fc[_0x40fb('0x31')]=_[_0x40fb('0x32')](_0x44dcd0,_0x40fb('0x2a'));_0x3bf0fc[_0x40fb('0x33')]=_['keys'](_0x329053[_0x40fb('0x33')]);_0x3bf0fc['filters']=_[_0x40fb('0x34')](_0x3bf0fc[_0x40fb('0x31')],_0x3bf0fc[_0x40fb('0x33')]);_0x499edf[_0x40fb('0x35')]=_[_0x40fb('0x34')](_0x3bf0fc['model'],qs['fields'](_0x329053['query'][_0x40fb('0x36')]));_0x499edf[_0x40fb('0x35')]=_0x499edf[_0x40fb('0x35')][_0x40fb('0x37')]?_0x499edf[_0x40fb('0x35')]:_0x3bf0fc[_0x40fb('0x31')];if(!_0x329053[_0x40fb('0x33')]['hasOwnProperty'](_0x40fb('0x38'))){_0x499edf[_0x40fb('0x1f')]=qs[_0x40fb('0x1f')](_0x329053['query'][_0x40fb('0x1f')]);_0x499edf['offset']=qs[_0x40fb('0x22')](_0x329053['query'][_0x40fb('0x22')]);}_0x499edf[_0x40fb('0x39')]=qs['sort'](_0x329053[_0x40fb('0x33')][_0x40fb('0x3a')]);_0x499edf[_0x40fb('0x3b')]=qs[_0x40fb('0x3c')](_[_0x40fb('0x3d')](_0x329053['query'],_0x3bf0fc[_0x40fb('0x3c')]),_0x44dcd0);if(_0x329053[_0x40fb('0x33')][_0x40fb('0x3e')]){_0x499edf[_0x40fb('0x3b')]=_['merge'](_0x499edf['where'],{'$or':_[_0x40fb('0x32')](_0x44dcd0,function(_0x5c6a3b){if(_0x5c6a3b[_0x40fb('0x30')]!==_0x40fb('0x3f')){var _0x21b32d={};_0x21b32d[_0x5c6a3b[_0x40fb('0x2a')]]={'$like':'%'+_0x329053[_0x40fb('0x33')][_0x40fb('0x3e')]+'%'};return _0x21b32d;}})});}_0x499edf=_[_0x40fb('0x40')]({},_0x499edf,_0x329053[_0x40fb('0x41')]);var _0x43472e={'where':_0x499edf[_0x40fb('0x3b')]};return db['SalesforceAccount'][_0x40fb('0x21')](_0x43472e)[_0x40fb('0x27')](function(_0x2e47f3){_0x2bf4b0[_0x40fb('0x21')]=_0x2e47f3;if(_0x329053[_0x40fb('0x33')]['includeAll']){_0x499edf[_0x40fb('0x42')]=[{'all':!![]}];}return db[_0x40fb('0x2d')][_0x40fb('0x43')](_0x499edf);})['then'](function(_0x3f08cc){_0x2bf4b0[_0x40fb('0x44')]=_0x3f08cc;return _0x2bf4b0;})[_0x40fb('0x27')](respondWithFilteredResult(_0x4873c3,_0x499edf))[_0x40fb('0x45')](handleError(_0x4873c3,null));};exports['show']=function(_0x436e12,_0x3839ae){var _0xea4208={'raw':![],'where':{'id':_0x436e12[_0x40fb('0x46')]['id']}},_0x21370a={};_0x21370a[_0x40fb('0x31')]=_[_0x40fb('0x47')](db[_0x40fb('0x2d')]['rawAttributes']);_0x21370a['query']=_[_0x40fb('0x47')](_0x436e12[_0x40fb('0x33')]);_0x21370a[_0x40fb('0x3c')]=_[_0x40fb('0x34')](_0x21370a[_0x40fb('0x31')],_0x21370a[_0x40fb('0x33')]);_0xea4208['attributes']=_['intersection'](_0x21370a['model'],qs[_0x40fb('0x36')](_0x436e12[_0x40fb('0x33')][_0x40fb('0x36')]));_0xea4208['attributes']=_0xea4208[_0x40fb('0x35')]['length']?_0xea4208[_0x40fb('0x35')]:_0x21370a[_0x40fb('0x31')];if(_0x436e12['query'][_0x40fb('0x48')]){_0xea4208['include']=[{'all':!![]}];}_0xea4208=_[_0x40fb('0x40')]({},_0xea4208,_0x436e12[_0x40fb('0x41')]);return db[_0x40fb('0x2d')][_0x40fb('0x49')](_0xea4208)[_0x40fb('0x27')](handleEntityNotFound(_0x3839ae,null))['then'](respondWithResult(_0x3839ae,null))[_0x40fb('0x45')](handleError(_0x3839ae,null));};exports['create']=function(_0x2fcead,_0x68cb34){return db[_0x40fb('0x2d')][_0x40fb('0x4a')](_0x2fcead[_0x40fb('0x4b')],{})[_0x40fb('0x27')](respondWithResult(_0x68cb34,0xc9))['catch'](handleError(_0x68cb34,null));};exports['update']=function(_0x3bedc9,_0x33f122){if(_0x3bedc9[_0x40fb('0x4b')]['id']){delete _0x3bedc9['body']['id'];}return db[_0x40fb('0x2d')][_0x40fb('0x49')]({'where':{'id':_0x3bedc9['params']['id']}})[_0x40fb('0x27')](handleEntityNotFound(_0x33f122,null))[_0x40fb('0x27')](saveUpdates(_0x3bedc9['body'],null))[_0x40fb('0x27')](respondWithResult(_0x33f122,null))[_0x40fb('0x45')](handleError(_0x33f122,null));};exports[_0x40fb('0x28')]=function(_0x1e7624,_0x59c25a){return db[_0x40fb('0x2d')]['find']({'where':{'id':_0x1e7624[_0x40fb('0x46')]['id']}})['then'](handleEntityNotFound(_0x59c25a,null))['then'](removeEntity(_0x59c25a,null))[_0x40fb('0x45')](handleError(_0x59c25a,null));};exports[_0x40fb('0x4c')]=function(_0x30b4ff,_0x393538,_0x51dc42){var _0x137ba0={};var _0x20f47d={};var _0x1299d2;var _0x41ffe2;return db['SalesforceAccount'][_0x40fb('0x4d')]({'where':{'id':_0x30b4ff[_0x40fb('0x46')]['id']}})[_0x40fb('0x27')](handleEntityNotFound(_0x393538,null))[_0x40fb('0x27')](function(_0x1e0f72){if(_0x1e0f72){_0x1299d2=_0x1e0f72;_0x20f47d[_0x40fb('0x31')]=_[_0x40fb('0x47')](db['SalesforceConfiguration'][_0x40fb('0x2e')]);_0x20f47d[_0x40fb('0x33')]=_[_0x40fb('0x47')](_0x30b4ff[_0x40fb('0x33')]);_0x20f47d[_0x40fb('0x3c')]=_['intersection'](_0x20f47d[_0x40fb('0x31')],_0x20f47d[_0x40fb('0x33')]);_0x137ba0[_0x40fb('0x35')]=_[_0x40fb('0x34')](_0x20f47d[_0x40fb('0x31')],qs[_0x40fb('0x36')](_0x30b4ff['query'][_0x40fb('0x36')]));_0x137ba0[_0x40fb('0x35')]=_0x137ba0[_0x40fb('0x35')][_0x40fb('0x37')]?_0x137ba0['attributes']:_0x20f47d[_0x40fb('0x31')];_0x137ba0[_0x40fb('0x39')]=qs[_0x40fb('0x3a')](_0x30b4ff['query'][_0x40fb('0x3a')]);_0x137ba0[_0x40fb('0x3b')]=qs[_0x40fb('0x3c')](_[_0x40fb('0x3d')](_0x30b4ff[_0x40fb('0x33')],_0x20f47d[_0x40fb('0x3c')]));if(_0x30b4ff[_0x40fb('0x33')]['filter']){_0x137ba0[_0x40fb('0x3b')]=_['merge'](_0x137ba0[_0x40fb('0x3b')],{'$or':_[_0x40fb('0x32')](_0x137ba0['attributes'],function(_0x5acb93){var _0x44239d={};_0x44239d[_0x5acb93]={'$like':'%'+_0x30b4ff[_0x40fb('0x33')][_0x40fb('0x3e')]+'%'};return _0x44239d;})});}_0x137ba0=_[_0x40fb('0x40')]({},_0x137ba0,_0x30b4ff[_0x40fb('0x41')]);return _0x1299d2[_0x40fb('0x4c')](_0x137ba0);}})['then'](function(_0x57deec){if(_0x57deec){_0x41ffe2=_0x57deec[_0x40fb('0x37')];if(!_0x30b4ff[_0x40fb('0x33')][_0x40fb('0x4e')](_0x40fb('0x38'))){_0x137ba0['limit']=qs['limit'](_0x30b4ff[_0x40fb('0x33')][_0x40fb('0x1f')]);_0x137ba0['offset']=qs[_0x40fb('0x22')](_0x30b4ff[_0x40fb('0x33')][_0x40fb('0x22')]);}return _0x1299d2[_0x40fb('0x4c')](_0x137ba0);}})[_0x40fb('0x27')](function(_0x51c0f5){if(_0x51c0f5){return _0x51c0f5?{'count':_0x41ffe2,'rows':_0x51c0f5}:null;}})[_0x40fb('0x27')](respondWithResult(_0x393538,null))[_0x40fb('0x45')](handleError(_0x393538,null));};exports[_0x40fb('0x4f')]=function(_0x1d3b5b,_0x1bbef0,_0x1d5aec){if(_0x1d3b5b[_0x40fb('0x4b')]['id']){delete _0x1d3b5b[_0x40fb('0x4b')]['id'];}return db[_0x40fb('0x2d')][_0x40fb('0x4d')]({'where':{'id':_0x1d3b5b[_0x40fb('0x46')]['id']}})[_0x40fb('0x27')](handleEntityNotFound(_0x1bbef0,null))['then'](function(_0x4c485c){if(_0x4c485c){_0x1d3b5b['body'][_0x40fb('0x50')]=_0x4c485c['id'];_0x1d3b5b[_0x40fb('0x4b')][_0x40fb('0x51')]=integrations[_0x40fb('0x52')](_0x1d3b5b[_0x40fb('0x4b')][_0x40fb('0x53')],_0x1d3b5b[_0x40fb('0x4b')][_0x40fb('0x30')]);_0x1d3b5b[_0x40fb('0x4b')]['Descriptions']=integrations[_0x40fb('0x54')](_0x1d3b5b['body'][_0x40fb('0x53')],_0x1d3b5b[_0x40fb('0x4b')][_0x40fb('0x30')]);return db[_0x40fb('0x55')]['create'](_0x1d3b5b[_0x40fb('0x4b')],{'include':[{'model':db['SalesforceField'],'as':'Subjects'},{'model':db[_0x40fb('0x56')],'as':'Descriptions'}]});}return null;})[_0x40fb('0x27')](respondWithResult(_0x1bbef0,null))[_0x40fb('0x45')](handleError(_0x1bbef0,null));};exports[_0x40fb('0x57')]=function(_0x334421,_0xe055e4,_0x472b69){var _0x37018d;var _0x423de2='';var _0x2bd090=_0x40fb('0x58');return db[_0x40fb('0x2d')]['findOne']({'where':{'id':_0x334421[_0x40fb('0x46')]['id']},'attributes':['id',_0x40fb('0x59'),'clientId',_0x40fb('0x5a'),'username',_0x40fb('0x5b'),_0x40fb('0x5c')]})[_0x40fb('0x27')](handleEntityNotFound(_0xe055e4,null))['then'](function(_0x4939ac){if(_0x4939ac){_0x423de2=_0x4939ac[_0x40fb('0x59')];var _0x87fc24=_0x423de2[_0x40fb('0x5d')](-0x1);if(_0x87fc24==='/'){_0x423de2=_0x423de2['substring'](0x0,_0x423de2[_0x40fb('0x5e')](_0x87fc24));}_0x37018d=new jsforce[(_0x40fb('0x5f'))]({'oauth2':{'loginUrl':_0x423de2,'clientId':_0x4939ac['clientId'],'clientSecret':_0x4939ac['clientSecret']}});return _0x37018d['login'](_0x4939ac['username'],_0x4939ac[_0x40fb('0x5b')][_0x40fb('0x60')](_0x4939ac[_0x40fb('0x5c')]));}})[_0x40fb('0x27')](function(_0x47f937){if(_0x47f937){if(!_[_0x40fb('0x61')](_0x334421[_0x40fb('0x33')][_0x40fb('0x62')])){_0x2bd090=_0x334421[_0x40fb('0x33')][_0x40fb('0x62')];}return _0x37018d['sobject'](_0x2bd090)[_0x40fb('0x63')]();}})[_0x40fb('0x27')](function(_0x1f54d6){var _0x2b34f8=[_0x40fb('0x64'),_0x40fb('0x65'),'IsReminderSet',_0x40fb('0x66'),'Subject',_0x40fb('0x67')];var _0x2cee36=['string',_0x40fb('0x68'),_0x40fb('0x69'),'boolean',_0x40fb('0x6a'),_0x40fb('0x6b'),_0x40fb('0x6c')];if(_0x1f54d6){_['remove'](_0x1f54d6['fields'],function(_0x3107c1){return _0x2b34f8[_0x40fb('0x6d')](_0x3107c1[_0x40fb('0x2a')])||!_0x2cee36[_0x40fb('0x6d')](_0x3107c1[_0x40fb('0x30')]);});return{'count':_0x1f54d6[_0x40fb('0x36')]['length'],'rows':_[_0x40fb('0x32')](_0x1f54d6[_0x40fb('0x36')],function(_0xbf3858){return{'id':_0xbf3858[_0x40fb('0x2a')],'name':_0xbf3858[_0x40fb('0x6e')],'custom':_0xbf3858[_0x40fb('0x6f')],'options':_0xbf3858[_0x40fb('0x70')][_0x40fb('0x37')]>0x0?_[_0x40fb('0x32')](_0xbf3858[_0x40fb('0x70')],function(_0x1eb0ce){return{'name':_0x1eb0ce[_0x40fb('0x6e')],'value':_0x1eb0ce[_0x40fb('0x71')]};}):_0xbf3858[_0x40fb('0x30')]==_0x40fb('0x72')?[{'name':_0x40fb('0x73'),'value':'true'},{'name':_0x40fb('0x74'),'value':_0x40fb('0x75')}]:[]};})};}})[_0x40fb('0x27')](respondWithResult(_0xe055e4,null))[_0x40fb('0x45')](function(_0x1fa47e){var _0x1c6970=_0x334421[_0x40fb('0x33')][_0x40fb('0x76')]?0x1f4:_0x1fa47e[_0x40fb('0x77')]||0x1f4;logger[_0x40fb('0x29')](_0x40fb('0x78'),_0x40fb('0x57'),_0x1c6970,JSON[_0x40fb('0x79')](_0x1fa47e));delete _0x1fa47e[_0x40fb('0x2a')];if(_0x1c6970===0x191){_0x1c6970=0x190;}_0xe055e4[_0x40fb('0x1c')](_0x1c6970)[_0x40fb('0x2b')](_0x334421[_0x40fb('0x33')][_0x40fb('0x76')]?{'message':_0x40fb('0x7a'),'statusCode':_0x1fa47e['statusCode']}:_0x1fa47e);});};