Built motion from commit 9e1399f3.|2.5.37
[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 _0x230d=['picklistValues','value','True','true','False','false','test','getFields','stringify','send','statusCode','zip-dir','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','destroy','error','stack','name','index','map','SalesforceAccount','fieldName','type','query','keys','intersection','model','attributes','fields','order','sort','filters','filter','where','VIRTUAL','merge','options','includeAll','include','rows','catch','params','rawAttributes','length','find','create','body','getConfigurations','findOne','SalesforceConfiguration','pick','nolimit','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','Task','remoteUri','clientId','username','password','securityToken','substring','lastIndexOf','Connection','clientSecret','login','concat','isNil','ticketType','sobject','describe','OwnerId','IsRecurrence','Description','string','int','picklist','boolean','email','textarea','remove','includes','label','custom'];(function(_0x3bb9e3,_0x1fb1c4){var _0x381aa0=function(_0xb56b49){while(--_0xb56b49){_0x3bb9e3['push'](_0x3bb9e3['shift']());}};_0x381aa0(++_0x1fb1c4);}(_0x230d,0x83));var _0xd230=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0x230d[_0x57b54c];return _0x59cc19;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd230('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd230('0x1'));var moment=require('moment');var BPromise=require(_0xd230('0x2'));var Mustache=require('mustache');var util=require(_0xd230('0x3'));var path=require(_0xd230('0x4'));var sox=require(_0xd230('0x5'));var csv=require(_0xd230('0x6'));var ejs=require(_0xd230('0x7'));var fs=require('fs');var fs_extra=require(_0xd230('0x8'));var _=require(_0xd230('0x9'));var squel=require(_0xd230('0xa'));var crypto=require(_0xd230('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xd230('0xc'));var Papa=require(_0xd230('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd230('0xe'));var as=require(_0xd230('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd230('0x10'))('api');var utils=require(_0xd230('0x11'));var config=require(_0xd230('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xd230('0x13'))['db'];var integrations=require(_0xd230('0x14'));function respondWithStatusCode(_0x514ec3,_0xcb22c7){_0xcb22c7=_0xcb22c7||0xcc;return function(_0x424c37){if(_0x424c37){return _0x514ec3[_0xd230('0x15')](_0xcb22c7);}return _0x514ec3[_0xd230('0x16')](_0xcb22c7)[_0xd230('0x17')]();};}function respondWithResult(_0x1efac6,_0x2e147c){_0x2e147c=_0x2e147c||0xc8;return function(_0x4d4094){if(_0x4d4094){return _0x1efac6[_0xd230('0x16')](_0x2e147c)['json'](_0x4d4094);}};}function respondWithFilteredResult(_0x294f53,_0x1709d8){return function(_0x5776c0){if(_0x5776c0){var _0x135ca3=typeof _0x1709d8[_0xd230('0x18')]===_0xd230('0x19')&&typeof _0x1709d8[_0xd230('0x1a')]===_0xd230('0x19');var _0x1808f3=_0x5776c0[_0xd230('0x1b')];var _0x27d2ee=_0x135ca3?0x0:_0x1709d8[_0xd230('0x18')];var _0x2996c7=_0x135ca3?_0x5776c0[_0xd230('0x1b')]:_0x1709d8[_0xd230('0x18')]+_0x1709d8['limit'];var _0x31cbd4;if(_0x2996c7>=_0x1808f3){_0x2996c7=_0x1808f3;_0x31cbd4=0xc8;}else{_0x31cbd4=0xce;}_0x294f53[_0xd230('0x16')](_0x31cbd4);return _0x294f53[_0xd230('0x1c')](_0xd230('0x1d'),_0x27d2ee+'-'+_0x2996c7+'/'+_0x1808f3)[_0xd230('0x1e')](_0x5776c0);}return null;};}function patchUpdates(_0x3a2595){return function(_0x398b98){try{jsonpatch['apply'](_0x398b98,_0x3a2595,!![]);}catch(_0x22f915){return BPromise[_0xd230('0x1f')](_0x22f915);}return _0x398b98[_0xd230('0x20')]();};}function saveUpdates(_0x1d61c1,_0x54ed8c){return function(_0x531ef1){if(_0x531ef1){return _0x531ef1[_0xd230('0x21')](_0x1d61c1)[_0xd230('0x22')](function(_0x858754){return _0x858754;});}return null;};}function removeEntity(_0x369023,_0x5026b2){return function(_0x14eeb7){if(_0x14eeb7){return _0x14eeb7[_0xd230('0x23')]()[_0xd230('0x22')](function(){_0x369023[_0xd230('0x16')](0xcc)[_0xd230('0x17')]();});}};}function handleEntityNotFound(_0x309168,_0x190aa5){return function(_0x310430){if(!_0x310430){_0x309168[_0xd230('0x15')](0x194);}return _0x310430;};}function handleError(_0x2a75ab,_0x1a408f){_0x1a408f=_0x1a408f||0x1f4;return function(_0x3251c1){logger[_0xd230('0x24')](_0x3251c1[_0xd230('0x25')]);if(_0x3251c1[_0xd230('0x26')]){delete _0x3251c1[_0xd230('0x26')];}_0x2a75ab[_0xd230('0x16')](_0x1a408f)['send'](_0x3251c1);};}exports[_0xd230('0x27')]=function(_0x457a75,_0x127b71){var _0x388bb5={},_0x54744e={},_0x5ea980={'count':0x0,'rows':[]};var _0xc4d9cb=_[_0xd230('0x28')](db[_0xd230('0x29')]['rawAttributes'],function(_0x4ce702){return{'name':_0x4ce702[_0xd230('0x2a')],'type':_0x4ce702[_0xd230('0x2b')]['key']};});_0x54744e['model']=_[_0xd230('0x28')](_0xc4d9cb,'name');_0x54744e[_0xd230('0x2c')]=_[_0xd230('0x2d')](_0x457a75['query']);_0x54744e['filters']=_[_0xd230('0x2e')](_0x54744e[_0xd230('0x2f')],_0x54744e['query']);_0x388bb5[_0xd230('0x30')]=_[_0xd230('0x2e')](_0x54744e[_0xd230('0x2f')],qs[_0xd230('0x31')](_0x457a75[_0xd230('0x2c')][_0xd230('0x31')]));_0x388bb5[_0xd230('0x30')]=_0x388bb5[_0xd230('0x30')]['length']?_0x388bb5[_0xd230('0x30')]:_0x54744e[_0xd230('0x2f')];if(!_0x457a75[_0xd230('0x2c')]['hasOwnProperty']('nolimit')){_0x388bb5[_0xd230('0x1a')]=qs[_0xd230('0x1a')](_0x457a75[_0xd230('0x2c')][_0xd230('0x1a')]);_0x388bb5[_0xd230('0x18')]=qs[_0xd230('0x18')](_0x457a75[_0xd230('0x2c')][_0xd230('0x18')]);}_0x388bb5[_0xd230('0x32')]=qs[_0xd230('0x33')](_0x457a75[_0xd230('0x2c')]['sort']);_0x388bb5['where']=qs[_0xd230('0x34')](_['pick'](_0x457a75[_0xd230('0x2c')],_0x54744e['filters']),_0xc4d9cb);if(_0x457a75[_0xd230('0x2c')][_0xd230('0x35')]){_0x388bb5[_0xd230('0x36')]=_['merge'](_0x388bb5[_0xd230('0x36')],{'$or':_[_0xd230('0x28')](_0xc4d9cb,function(_0x9b8108){if(_0x9b8108['type']!==_0xd230('0x37')){var _0x3801f7={};_0x3801f7[_0x9b8108['name']]={'$like':'%'+_0x457a75[_0xd230('0x2c')][_0xd230('0x35')]+'%'};return _0x3801f7;}})});}_0x388bb5=_[_0xd230('0x38')]({},_0x388bb5,_0x457a75[_0xd230('0x39')]);var _0x4f8d83={'where':_0x388bb5['where']};return db[_0xd230('0x29')]['count'](_0x4f8d83)['then'](function(_0xb18cf1){_0x5ea980['count']=_0xb18cf1;if(_0x457a75['query'][_0xd230('0x3a')]){_0x388bb5[_0xd230('0x3b')]=[{'all':!![]}];}return db[_0xd230('0x29')]['findAll'](_0x388bb5);})[_0xd230('0x22')](function(_0x33bb03){_0x5ea980[_0xd230('0x3c')]=_0x33bb03;return _0x5ea980;})[_0xd230('0x22')](respondWithFilteredResult(_0x127b71,_0x388bb5))[_0xd230('0x3d')](handleError(_0x127b71,null));};exports['show']=function(_0x58ce6d,_0x688703){var _0x3dff3d={'raw':![],'where':{'id':_0x58ce6d[_0xd230('0x3e')]['id']}},_0x34fe04={};_0x34fe04[_0xd230('0x2f')]=_[_0xd230('0x2d')](db[_0xd230('0x29')][_0xd230('0x3f')]);_0x34fe04['query']=_[_0xd230('0x2d')](_0x58ce6d[_0xd230('0x2c')]);_0x34fe04['filters']=_[_0xd230('0x2e')](_0x34fe04[_0xd230('0x2f')],_0x34fe04[_0xd230('0x2c')]);_0x3dff3d[_0xd230('0x30')]=_[_0xd230('0x2e')](_0x34fe04[_0xd230('0x2f')],qs[_0xd230('0x31')](_0x58ce6d[_0xd230('0x2c')][_0xd230('0x31')]));_0x3dff3d['attributes']=_0x3dff3d[_0xd230('0x30')][_0xd230('0x40')]?_0x3dff3d[_0xd230('0x30')]:_0x34fe04[_0xd230('0x2f')];if(_0x58ce6d['query']['includeAll']){_0x3dff3d['include']=[{'all':!![]}];}_0x3dff3d=_[_0xd230('0x38')]({},_0x3dff3d,_0x58ce6d[_0xd230('0x39')]);return db[_0xd230('0x29')][_0xd230('0x41')](_0x3dff3d)[_0xd230('0x22')](handleEntityNotFound(_0x688703,null))[_0xd230('0x22')](respondWithResult(_0x688703,null))[_0xd230('0x3d')](handleError(_0x688703,null));};exports[_0xd230('0x42')]=function(_0x18dbb1,_0x423c88){return db[_0xd230('0x29')][_0xd230('0x42')](_0x18dbb1[_0xd230('0x43')],{})['then'](respondWithResult(_0x423c88,0xc9))[_0xd230('0x3d')](handleError(_0x423c88,null));};exports[_0xd230('0x21')]=function(_0x437c24,_0x76a69c){if(_0x437c24[_0xd230('0x43')]['id']){delete _0x437c24[_0xd230('0x43')]['id'];}return db[_0xd230('0x29')][_0xd230('0x41')]({'where':{'id':_0x437c24[_0xd230('0x3e')]['id']}})['then'](handleEntityNotFound(_0x76a69c,null))[_0xd230('0x22')](saveUpdates(_0x437c24[_0xd230('0x43')],null))['then'](respondWithResult(_0x76a69c,null))[_0xd230('0x3d')](handleError(_0x76a69c,null));};exports['destroy']=function(_0x2842d9,_0x4feaba){return db['SalesforceAccount'][_0xd230('0x41')]({'where':{'id':_0x2842d9[_0xd230('0x3e')]['id']}})[_0xd230('0x22')](handleEntityNotFound(_0x4feaba,null))[_0xd230('0x22')](removeEntity(_0x4feaba,null))[_0xd230('0x3d')](handleError(_0x4feaba,null));};exports[_0xd230('0x44')]=function(_0x314d11,_0xc8b910,_0x1cb4b9){var _0x21b5e9={};var _0x17eb7b={};var _0x46fc40;var _0x1a23a4;return db[_0xd230('0x29')][_0xd230('0x45')]({'where':{'id':_0x314d11[_0xd230('0x3e')]['id']}})[_0xd230('0x22')](handleEntityNotFound(_0xc8b910,null))[_0xd230('0x22')](function(_0x223340){if(_0x223340){_0x46fc40=_0x223340;_0x17eb7b['model']=_[_0xd230('0x2d')](db[_0xd230('0x46')][_0xd230('0x3f')]);_0x17eb7b[_0xd230('0x2c')]=_['keys'](_0x314d11[_0xd230('0x2c')]);_0x17eb7b[_0xd230('0x34')]=_[_0xd230('0x2e')](_0x17eb7b[_0xd230('0x2f')],_0x17eb7b[_0xd230('0x2c')]);_0x21b5e9['attributes']=_[_0xd230('0x2e')](_0x17eb7b[_0xd230('0x2f')],qs[_0xd230('0x31')](_0x314d11['query'][_0xd230('0x31')]));_0x21b5e9[_0xd230('0x30')]=_0x21b5e9['attributes'][_0xd230('0x40')]?_0x21b5e9[_0xd230('0x30')]:_0x17eb7b[_0xd230('0x2f')];_0x21b5e9[_0xd230('0x32')]=qs['sort'](_0x314d11[_0xd230('0x2c')][_0xd230('0x33')]);_0x21b5e9[_0xd230('0x36')]=qs['filters'](_[_0xd230('0x47')](_0x314d11[_0xd230('0x2c')],_0x17eb7b[_0xd230('0x34')]));if(_0x314d11['query']['filter']){_0x21b5e9['where']=_[_0xd230('0x38')](_0x21b5e9[_0xd230('0x36')],{'$or':_[_0xd230('0x28')](_0x21b5e9['attributes'],function(_0xb584d2){var _0x59ae25={};_0x59ae25[_0xb584d2]={'$like':'%'+_0x314d11['query']['filter']+'%'};return _0x59ae25;})});}_0x21b5e9=_[_0xd230('0x38')]({},_0x21b5e9,_0x314d11[_0xd230('0x39')]);return _0x46fc40[_0xd230('0x44')](_0x21b5e9);}})[_0xd230('0x22')](function(_0x9a5eb1){if(_0x9a5eb1){_0x1a23a4=_0x9a5eb1[_0xd230('0x40')];if(!_0x314d11[_0xd230('0x2c')]['hasOwnProperty'](_0xd230('0x48'))){_0x21b5e9[_0xd230('0x1a')]=qs[_0xd230('0x1a')](_0x314d11[_0xd230('0x2c')]['limit']);_0x21b5e9['offset']=qs[_0xd230('0x18')](_0x314d11['query']['offset']);}return _0x46fc40[_0xd230('0x44')](_0x21b5e9);}})[_0xd230('0x22')](function(_0x129959){if(_0x129959){return _0x129959?{'count':_0x1a23a4,'rows':_0x129959}:null;}})['then'](respondWithResult(_0xc8b910,null))[_0xd230('0x3d')](handleError(_0xc8b910,null));};exports[_0xd230('0x49')]=function(_0x4faba7,_0x5a1462,_0x5cb977){if(_0x4faba7[_0xd230('0x43')]['id']){delete _0x4faba7[_0xd230('0x43')]['id'];}return db[_0xd230('0x29')][_0xd230('0x45')]({'where':{'id':_0x4faba7[_0xd230('0x3e')]['id']}})[_0xd230('0x22')](handleEntityNotFound(_0x5a1462,null))[_0xd230('0x22')](function(_0x2bbec7){if(_0x2bbec7){_0x4faba7[_0xd230('0x43')]['AccountId']=_0x2bbec7['id'];_0x4faba7[_0xd230('0x43')][_0xd230('0x4a')]=integrations[_0xd230('0x4b')](_0x4faba7[_0xd230('0x43')][_0xd230('0x4c')],_0x4faba7['body'][_0xd230('0x2b')]);_0x4faba7[_0xd230('0x43')][_0xd230('0x4d')]=integrations[_0xd230('0x4e')](_0x4faba7['body'][_0xd230('0x4c')],_0x4faba7[_0xd230('0x43')][_0xd230('0x2b')]);return db[_0xd230('0x46')][_0xd230('0x42')](_0x4faba7['body'],{'include':[{'model':db[_0xd230('0x4f')],'as':_0xd230('0x4a')},{'model':db[_0xd230('0x4f')],'as':_0xd230('0x4d')}]});}return null;})['then'](respondWithResult(_0x5a1462,null))['catch'](handleError(_0x5a1462,null));};exports['getFields']=function(_0x437520,_0x1bf6a0,_0x5907d0){var _0x5b5f5a;var _0x3b9ec0='';var _0x535f80=_0xd230('0x50');return db[_0xd230('0x29')][_0xd230('0x45')]({'where':{'id':_0x437520['params']['id']},'attributes':['id',_0xd230('0x51'),_0xd230('0x52'),'clientSecret',_0xd230('0x53'),_0xd230('0x54'),_0xd230('0x55')]})[_0xd230('0x22')](handleEntityNotFound(_0x1bf6a0,null))[_0xd230('0x22')](function(_0x3a4926){if(_0x3a4926){_0x3b9ec0=_0x3a4926['remoteUri'];var _0x5f55bf=_0x3b9ec0['slice'](-0x1);if(_0x5f55bf==='/'){_0x3b9ec0=_0x3b9ec0[_0xd230('0x56')](0x0,_0x3b9ec0[_0xd230('0x57')](_0x5f55bf));}_0x5b5f5a=new jsforce[(_0xd230('0x58'))]({'oauth2':{'loginUrl':_0x3b9ec0,'clientId':_0x3a4926[_0xd230('0x52')],'clientSecret':_0x3a4926[_0xd230('0x59')]}});return _0x5b5f5a[_0xd230('0x5a')](_0x3a4926[_0xd230('0x53')],_0x3a4926[_0xd230('0x54')][_0xd230('0x5b')](_0x3a4926[_0xd230('0x55')]));}})[_0xd230('0x22')](function(_0x42047){if(_0x42047){if(!_[_0xd230('0x5c')](_0x437520['query'][_0xd230('0x5d')])){_0x535f80=_0x437520[_0xd230('0x2c')][_0xd230('0x5d')];}return _0x5b5f5a[_0xd230('0x5e')](_0x535f80)[_0xd230('0x5f')]();}})[_0xd230('0x22')](function(_0x53e8d0){var _0x12f4da=[_0xd230('0x60'),'ActivityDate','IsReminderSet',_0xd230('0x61'),'Subject',_0xd230('0x62')];var _0x1a7318=[_0xd230('0x63'),_0xd230('0x64'),_0xd230('0x65'),_0xd230('0x66'),_0xd230('0x67'),_0xd230('0x68'),'phone'];if(_0x53e8d0){_[_0xd230('0x69')](_0x53e8d0[_0xd230('0x31')],function(_0x5f4054){return _0x12f4da['includes'](_0x5f4054[_0xd230('0x26')])||!_0x1a7318[_0xd230('0x6a')](_0x5f4054[_0xd230('0x2b')]);});return{'count':_0x53e8d0[_0xd230('0x31')]['length'],'rows':_['map'](_0x53e8d0[_0xd230('0x31')],function(_0x35fc1a){return{'id':_0x35fc1a[_0xd230('0x26')],'name':_0x35fc1a[_0xd230('0x6b')],'custom':_0x35fc1a[_0xd230('0x6c')],'options':_0x35fc1a[_0xd230('0x6d')]['length']>0x0?_[_0xd230('0x28')](_0x35fc1a[_0xd230('0x6d')],function(_0x106d40){return{'name':_0x106d40[_0xd230('0x6b')],'value':_0x106d40[_0xd230('0x6e')]};}):_0x35fc1a[_0xd230('0x2b')]==_0xd230('0x66')?[{'name':_0xd230('0x6f'),'value':_0xd230('0x70')},{'name':_0xd230('0x71'),'value':_0xd230('0x72')}]:[]};})};}})['then'](respondWithResult(_0x1bf6a0,null))[_0xd230('0x3d')](function(_0x235645){var _0x183f4e=_0x437520[_0xd230('0x2c')][_0xd230('0x73')]?0x1f4:_0x235645['statusCode']||0x1f4;logger[_0xd230('0x24')]('getFields,\x20%s,\x20%s,\x20%s',_0xd230('0x74'),_0x183f4e,JSON[_0xd230('0x75')](_0x235645));delete _0x235645[_0xd230('0x26')];if(_0x183f4e===0x191){_0x183f4e=0x190;}_0x1bf6a0[_0xd230('0x16')](_0x183f4e)[_0xd230('0x76')](_0x437520[_0xd230('0x2c')][_0xd230('0x73')]?{'message':'Wrong\x20credentials','statusCode':_0x235645[_0xd230('0x77')]}:_0x235645);});};