Built motion from commit 85328c08.|2.5.50
[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 _0x85fc=['test','Wrong\x20credentials','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../components/integrations/configuration','sendStatus','status','end','offset','undefined','limit','count','json','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','options','SalesforceAccount','includeAll','findAll','rows','catch','show','length','find','create','body','params','getConfigurations','findOne','SalesforceConfiguration','filter','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientSecret','username','password','securityToken','substring','lastIndexOf','Connection','concat','isNil','ticketType','describe','OwnerId','ActivityDate','IsRecurrence','Subject','Description','string','int','picklist','email','textarea','phone','remove','includes','label','custom','picklistValues','value','boolean','true','False','false','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify'];(function(_0x457e20,_0x3985ac){var _0x1f920b=function(_0x3804e4){while(--_0x3804e4){_0x457e20['push'](_0x457e20['shift']());}};_0x1f920b(++_0x3985ac);}(_0x85fc,0x7b));var _0xc85f=function(_0x52f3,_0x1ac14f){_0x52f3=_0x52f3-0x0;var _0x266655=_0x85fc[_0x52f3];return _0x266655;};'use strict';var emlformat=require(_0xc85f('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc85f('0x1'));var rp=require(_0xc85f('0x2'));var moment=require(_0xc85f('0x3'));var BPromise=require(_0xc85f('0x4'));var Mustache=require('mustache');var util=require(_0xc85f('0x5'));var path=require(_0xc85f('0x6'));var sox=require('sox');var csv=require(_0xc85f('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xc85f('0x8'));var crypto=require('crypto');var jsforce=require(_0xc85f('0x9'));var deskjs=require(_0xc85f('0xa'));var toCsv=require(_0xc85f('0x7'));var querystring=require(_0xc85f('0xb'));var Papa=require(_0xc85f('0xc'));var Redis=require(_0xc85f('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xc85f('0xe'));var as=require(_0xc85f('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xc85f('0x10'));var utils=require('../../config/utils');var config=require(_0xc85f('0x11'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require(_0xc85f('0x12'));function respondWithStatusCode(_0x2b0fc1,_0x467812){_0x467812=_0x467812||0xcc;return function(_0x17da98){if(_0x17da98){return _0x2b0fc1[_0xc85f('0x13')](_0x467812);}return _0x2b0fc1[_0xc85f('0x14')](_0x467812)[_0xc85f('0x15')]();};}function respondWithResult(_0x43e98e,_0x1878d0){_0x1878d0=_0x1878d0||0xc8;return function(_0x27dc90){if(_0x27dc90){return _0x43e98e[_0xc85f('0x14')](_0x1878d0)['json'](_0x27dc90);}};}function respondWithFilteredResult(_0x4d0964,_0x419e6b){return function(_0x305246){if(_0x305246){var _0x2d1bec=typeof _0x419e6b[_0xc85f('0x16')]===_0xc85f('0x17')&&typeof _0x419e6b[_0xc85f('0x18')]==='undefined';var _0x4bad59=_0x305246[_0xc85f('0x19')];var _0x32f15f=_0x2d1bec?0x0:_0x419e6b[_0xc85f('0x16')];var _0x25d89c=_0x2d1bec?_0x305246[_0xc85f('0x19')]:_0x419e6b[_0xc85f('0x16')]+_0x419e6b[_0xc85f('0x18')];var _0x5281f6;if(_0x25d89c>=_0x4bad59){_0x25d89c=_0x4bad59;_0x5281f6=0xc8;}else{_0x5281f6=0xce;}_0x4d0964[_0xc85f('0x14')](_0x5281f6);return _0x4d0964['set']('Content-Range',_0x32f15f+'-'+_0x25d89c+'/'+_0x4bad59)[_0xc85f('0x1a')](_0x305246);}return null;};}function patchUpdates(_0x316bac){return function(_0x4f7404){try{jsonpatch[_0xc85f('0x1b')](_0x4f7404,_0x316bac,!![]);}catch(_0x4868f1){return BPromise[_0xc85f('0x1c')](_0x4868f1);}return _0x4f7404[_0xc85f('0x1d')]();};}function saveUpdates(_0x5768d2,_0x836571){return function(_0x13647c){if(_0x13647c){return _0x13647c[_0xc85f('0x1e')](_0x5768d2)[_0xc85f('0x1f')](function(_0x1ac15d){return _0x1ac15d;});}return null;};}function removeEntity(_0xfcbf2e,_0x1c2749){return function(_0x579b1c){if(_0x579b1c){return _0x579b1c[_0xc85f('0x20')]()['then'](function(){_0xfcbf2e[_0xc85f('0x14')](0xcc)[_0xc85f('0x15')]();});}};}function handleEntityNotFound(_0x240e92,_0x379160){return function(_0x528fd0){if(!_0x528fd0){_0x240e92['sendStatus'](0x194);}return _0x528fd0;};}function handleError(_0x2bdb8b,_0x9c7b9c){_0x9c7b9c=_0x9c7b9c||0x1f4;return function(_0x464225){logger[_0xc85f('0x21')](_0x464225[_0xc85f('0x22')]);if(_0x464225[_0xc85f('0x23')]){delete _0x464225['name'];}_0x2bdb8b[_0xc85f('0x14')](_0x9c7b9c)[_0xc85f('0x24')](_0x464225);};}exports[_0xc85f('0x25')]=function(_0x23894c,_0x1af152){var _0x3ec423={},_0x50699c={},_0x5f43ff={'count':0x0,'rows':[]};var _0x2e41fe=_[_0xc85f('0x26')](db['SalesforceAccount'][_0xc85f('0x27')],function(_0x520c37){return{'name':_0x520c37[_0xc85f('0x28')],'type':_0x520c37[_0xc85f('0x29')][_0xc85f('0x2a')]};});_0x50699c['model']=_['map'](_0x2e41fe,_0xc85f('0x23'));_0x50699c['query']=_[_0xc85f('0x2b')](_0x23894c[_0xc85f('0x2c')]);_0x50699c[_0xc85f('0x2d')]=_[_0xc85f('0x2e')](_0x50699c[_0xc85f('0x2f')],_0x50699c[_0xc85f('0x2c')]);_0x3ec423[_0xc85f('0x30')]=_[_0xc85f('0x2e')](_0x50699c[_0xc85f('0x2f')],qs[_0xc85f('0x31')](_0x23894c[_0xc85f('0x2c')][_0xc85f('0x31')]));_0x3ec423['attributes']=_0x3ec423[_0xc85f('0x30')]['length']?_0x3ec423[_0xc85f('0x30')]:_0x50699c[_0xc85f('0x2f')];if(!_0x23894c[_0xc85f('0x2c')][_0xc85f('0x32')](_0xc85f('0x33'))){_0x3ec423[_0xc85f('0x18')]=qs[_0xc85f('0x18')](_0x23894c[_0xc85f('0x2c')][_0xc85f('0x18')]);_0x3ec423['offset']=qs[_0xc85f('0x16')](_0x23894c[_0xc85f('0x2c')][_0xc85f('0x16')]);}_0x3ec423[_0xc85f('0x34')]=qs[_0xc85f('0x35')](_0x23894c[_0xc85f('0x2c')][_0xc85f('0x35')]);_0x3ec423[_0xc85f('0x36')]=qs['filters'](_['pick'](_0x23894c[_0xc85f('0x2c')],_0x50699c[_0xc85f('0x2d')]),_0x2e41fe);if(_0x23894c[_0xc85f('0x2c')]['filter']){_0x3ec423[_0xc85f('0x36')]=_[_0xc85f('0x37')](_0x3ec423[_0xc85f('0x36')],{'$or':_['map'](_0x2e41fe,function(_0x71fb8c){if(_0x71fb8c[_0xc85f('0x29')]!==_0xc85f('0x38')){var _0x45df31={};_0x45df31[_0x71fb8c[_0xc85f('0x23')]]={'$like':'%'+_0x23894c[_0xc85f('0x2c')]['filter']+'%'};return _0x45df31;}})});}_0x3ec423=_[_0xc85f('0x37')]({},_0x3ec423,_0x23894c[_0xc85f('0x39')]);var _0x44b4b0={'where':_0x3ec423[_0xc85f('0x36')]};return db[_0xc85f('0x3a')][_0xc85f('0x19')](_0x44b4b0)[_0xc85f('0x1f')](function(_0x59f45d){_0x5f43ff['count']=_0x59f45d;if(_0x23894c[_0xc85f('0x2c')][_0xc85f('0x3b')]){_0x3ec423['include']=[{'all':!![]}];}return db[_0xc85f('0x3a')][_0xc85f('0x3c')](_0x3ec423);})[_0xc85f('0x1f')](function(_0x3ab966){_0x5f43ff[_0xc85f('0x3d')]=_0x3ab966;return _0x5f43ff;})[_0xc85f('0x1f')](respondWithFilteredResult(_0x1af152,_0x3ec423))[_0xc85f('0x3e')](handleError(_0x1af152,null));};exports[_0xc85f('0x3f')]=function(_0x5ab810,_0x2d4307){var _0x47b1f8={'raw':![],'where':{'id':_0x5ab810['params']['id']}},_0x1842ae={};_0x1842ae[_0xc85f('0x2f')]=_[_0xc85f('0x2b')](db['SalesforceAccount'][_0xc85f('0x27')]);_0x1842ae[_0xc85f('0x2c')]=_[_0xc85f('0x2b')](_0x5ab810[_0xc85f('0x2c')]);_0x1842ae[_0xc85f('0x2d')]=_['intersection'](_0x1842ae[_0xc85f('0x2f')],_0x1842ae[_0xc85f('0x2c')]);_0x47b1f8['attributes']=_[_0xc85f('0x2e')](_0x1842ae[_0xc85f('0x2f')],qs['fields'](_0x5ab810['query']['fields']));_0x47b1f8[_0xc85f('0x30')]=_0x47b1f8[_0xc85f('0x30')][_0xc85f('0x40')]?_0x47b1f8['attributes']:_0x1842ae[_0xc85f('0x2f')];if(_0x5ab810[_0xc85f('0x2c')]['includeAll']){_0x47b1f8['include']=[{'all':!![]}];}_0x47b1f8=_[_0xc85f('0x37')]({},_0x47b1f8,_0x5ab810[_0xc85f('0x39')]);return db[_0xc85f('0x3a')][_0xc85f('0x41')](_0x47b1f8)[_0xc85f('0x1f')](handleEntityNotFound(_0x2d4307,null))[_0xc85f('0x1f')](respondWithResult(_0x2d4307,null))[_0xc85f('0x3e')](handleError(_0x2d4307,null));};exports[_0xc85f('0x42')]=function(_0x3a118f,_0x171677){return db[_0xc85f('0x3a')][_0xc85f('0x42')](_0x3a118f['body'],{})[_0xc85f('0x1f')](respondWithResult(_0x171677,0xc9))[_0xc85f('0x3e')](handleError(_0x171677,null));};exports['update']=function(_0x17c280,_0x3e0c00){if(_0x17c280[_0xc85f('0x43')]['id']){delete _0x17c280[_0xc85f('0x43')]['id'];}return db[_0xc85f('0x3a')]['find']({'where':{'id':_0x17c280[_0xc85f('0x44')]['id']}})[_0xc85f('0x1f')](handleEntityNotFound(_0x3e0c00,null))['then'](saveUpdates(_0x17c280['body'],null))[_0xc85f('0x1f')](respondWithResult(_0x3e0c00,null))[_0xc85f('0x3e')](handleError(_0x3e0c00,null));};exports[_0xc85f('0x20')]=function(_0x263a9a,_0x191d04){return db['SalesforceAccount'][_0xc85f('0x41')]({'where':{'id':_0x263a9a[_0xc85f('0x44')]['id']}})[_0xc85f('0x1f')](handleEntityNotFound(_0x191d04,null))[_0xc85f('0x1f')](removeEntity(_0x191d04,null))[_0xc85f('0x3e')](handleError(_0x191d04,null));};exports[_0xc85f('0x45')]=function(_0x4e2290,_0x598e73,_0x148e30){var _0x19add8={};var _0x5ce7e2={};var _0x19968c;var _0x282afc;return db['SalesforceAccount'][_0xc85f('0x46')]({'where':{'id':_0x4e2290[_0xc85f('0x44')]['id']}})['then'](handleEntityNotFound(_0x598e73,null))[_0xc85f('0x1f')](function(_0x17b44c){if(_0x17b44c){_0x19968c=_0x17b44c;_0x5ce7e2[_0xc85f('0x2f')]=_['keys'](db[_0xc85f('0x47')]['rawAttributes']);_0x5ce7e2['query']=_[_0xc85f('0x2b')](_0x4e2290[_0xc85f('0x2c')]);_0x5ce7e2[_0xc85f('0x2d')]=_[_0xc85f('0x2e')](_0x5ce7e2[_0xc85f('0x2f')],_0x5ce7e2['query']);_0x19add8[_0xc85f('0x30')]=_[_0xc85f('0x2e')](_0x5ce7e2[_0xc85f('0x2f')],qs[_0xc85f('0x31')](_0x4e2290['query'][_0xc85f('0x31')]));_0x19add8[_0xc85f('0x30')]=_0x19add8[_0xc85f('0x30')][_0xc85f('0x40')]?_0x19add8[_0xc85f('0x30')]:_0x5ce7e2[_0xc85f('0x2f')];_0x19add8[_0xc85f('0x34')]=qs[_0xc85f('0x35')](_0x4e2290['query'][_0xc85f('0x35')]);_0x19add8['where']=qs['filters'](_['pick'](_0x4e2290[_0xc85f('0x2c')],_0x5ce7e2[_0xc85f('0x2d')]));if(_0x4e2290['query'][_0xc85f('0x48')]){_0x19add8[_0xc85f('0x36')]=_[_0xc85f('0x37')](_0x19add8[_0xc85f('0x36')],{'$or':_[_0xc85f('0x26')](_0x19add8[_0xc85f('0x30')],function(_0x33317a){var _0x3244ad={};_0x3244ad[_0x33317a]={'$like':'%'+_0x4e2290[_0xc85f('0x2c')][_0xc85f('0x48')]+'%'};return _0x3244ad;})});}_0x19add8=_[_0xc85f('0x37')]({},_0x19add8,_0x4e2290[_0xc85f('0x39')]);return _0x19968c[_0xc85f('0x45')](_0x19add8);}})[_0xc85f('0x1f')](function(_0x14c9b6){if(_0x14c9b6){_0x282afc=_0x14c9b6[_0xc85f('0x40')];if(!_0x4e2290['query'][_0xc85f('0x32')](_0xc85f('0x33'))){_0x19add8['limit']=qs[_0xc85f('0x18')](_0x4e2290[_0xc85f('0x2c')]['limit']);_0x19add8[_0xc85f('0x16')]=qs[_0xc85f('0x16')](_0x4e2290[_0xc85f('0x2c')][_0xc85f('0x16')]);}return _0x19968c[_0xc85f('0x45')](_0x19add8);}})[_0xc85f('0x1f')](function(_0x8cf4cf){if(_0x8cf4cf){return _0x8cf4cf?{'count':_0x282afc,'rows':_0x8cf4cf}:null;}})[_0xc85f('0x1f')](respondWithResult(_0x598e73,null))[_0xc85f('0x3e')](handleError(_0x598e73,null));};exports[_0xc85f('0x49')]=function(_0xe28fe,_0x3f248a,_0x50c0f5){if(_0xe28fe['body']['id']){delete _0xe28fe['body']['id'];}return db[_0xc85f('0x3a')][_0xc85f('0x46')]({'where':{'id':_0xe28fe[_0xc85f('0x44')]['id']}})['then'](handleEntityNotFound(_0x3f248a,null))[_0xc85f('0x1f')](function(_0x4df548){if(_0x4df548){_0xe28fe[_0xc85f('0x43')][_0xc85f('0x4a')]=_0x4df548['id'];_0xe28fe[_0xc85f('0x43')][_0xc85f('0x4b')]=integrations[_0xc85f('0x4c')](_0xe28fe[_0xc85f('0x43')][_0xc85f('0x4d')],_0xe28fe[_0xc85f('0x43')]['type']);_0xe28fe[_0xc85f('0x43')][_0xc85f('0x4e')]=integrations[_0xc85f('0x4f')](_0xe28fe[_0xc85f('0x43')][_0xc85f('0x4d')],_0xe28fe[_0xc85f('0x43')][_0xc85f('0x29')]);return db[_0xc85f('0x47')][_0xc85f('0x42')](_0xe28fe[_0xc85f('0x43')],{'include':[{'model':db[_0xc85f('0x50')],'as':_0xc85f('0x4b')},{'model':db[_0xc85f('0x50')],'as':_0xc85f('0x4e')}]});}return null;})[_0xc85f('0x1f')](respondWithResult(_0x3f248a,null))[_0xc85f('0x3e')](handleError(_0x3f248a,null));};exports[_0xc85f('0x51')]=function(_0x7ff56d,_0x3c19e6,_0x2f0ba7){var _0x5e60bb;var _0x231332='';var _0x514de9=_0xc85f('0x52');return db[_0xc85f('0x3a')][_0xc85f('0x46')]({'where':{'id':_0x7ff56d['params']['id']},'attributes':['id',_0xc85f('0x53'),'clientId',_0xc85f('0x54'),_0xc85f('0x55'),_0xc85f('0x56'),_0xc85f('0x57')]})[_0xc85f('0x1f')](handleEntityNotFound(_0x3c19e6,null))[_0xc85f('0x1f')](function(_0x3d979e){if(_0x3d979e){_0x231332=_0x3d979e[_0xc85f('0x53')];var _0x5e4399=_0x231332['slice'](-0x1);if(_0x5e4399==='/'){_0x231332=_0x231332[_0xc85f('0x58')](0x0,_0x231332[_0xc85f('0x59')](_0x5e4399));}_0x5e60bb=new jsforce[(_0xc85f('0x5a'))]({'oauth2':{'loginUrl':_0x231332,'clientId':_0x3d979e['clientId'],'clientSecret':_0x3d979e[_0xc85f('0x54')]}});return _0x5e60bb['login'](_0x3d979e['username'],_0x3d979e[_0xc85f('0x56')][_0xc85f('0x5b')](_0x3d979e[_0xc85f('0x57')]));}})[_0xc85f('0x1f')](function(_0x1eb1f1){if(_0x1eb1f1){if(!_[_0xc85f('0x5c')](_0x7ff56d[_0xc85f('0x2c')][_0xc85f('0x5d')])){_0x514de9=_0x7ff56d[_0xc85f('0x2c')]['ticketType'];}return _0x5e60bb['sobject'](_0x514de9)[_0xc85f('0x5e')]();}})['then'](function(_0x1c49b2){var _0x493e3b=[_0xc85f('0x5f'),_0xc85f('0x60'),'IsReminderSet',_0xc85f('0x61'),_0xc85f('0x62'),_0xc85f('0x63')];var _0x35b002=[_0xc85f('0x64'),_0xc85f('0x65'),_0xc85f('0x66'),'boolean',_0xc85f('0x67'),_0xc85f('0x68'),_0xc85f('0x69')];if(_0x1c49b2){_[_0xc85f('0x6a')](_0x1c49b2[_0xc85f('0x31')],function(_0x46228f){return _0x493e3b['includes'](_0x46228f[_0xc85f('0x23')])||!_0x35b002[_0xc85f('0x6b')](_0x46228f[_0xc85f('0x29')]);});return{'count':_0x1c49b2['fields'][_0xc85f('0x40')],'rows':_['map'](_0x1c49b2[_0xc85f('0x31')],function(_0x426dc1){return{'id':_0x426dc1['name'],'name':_0x426dc1[_0xc85f('0x6c')],'custom':_0x426dc1[_0xc85f('0x6d')],'options':_0x426dc1[_0xc85f('0x6e')][_0xc85f('0x40')]>0x0?_['map'](_0x426dc1[_0xc85f('0x6e')],function(_0x252e49){return{'name':_0x252e49[_0xc85f('0x6c')],'value':_0x252e49[_0xc85f('0x6f')]};}):_0x426dc1[_0xc85f('0x29')]==_0xc85f('0x70')?[{'name':'True','value':_0xc85f('0x71')},{'name':_0xc85f('0x72'),'value':_0xc85f('0x73')}]:[]};})};}})[_0xc85f('0x1f')](respondWithResult(_0x3c19e6,null))[_0xc85f('0x3e')](function(_0x4346b8){var _0x1f3f03=_0x7ff56d[_0xc85f('0x2c')]['test']?0x1f4:_0x4346b8[_0xc85f('0x74')]||0x1f4;logger[_0xc85f('0x21')](_0xc85f('0x75'),_0xc85f('0x51'),_0x1f3f03,JSON[_0xc85f('0x76')](_0x4346b8));delete _0x4346b8['name'];if(_0x1f3f03===0x191){_0x1f3f03=0x190;}_0x3c19e6[_0xc85f('0x14')](_0x1f3f03)[_0xc85f('0x24')](_0x7ff56d['query'][_0xc85f('0x77')]?{'message':_0xc85f('0x78'),'statusCode':_0x4346b8['statusCode']}:_0x4346b8);});};