Built motion from commit b5413ace.|2.6.9
[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 _0xdf3b=['moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../components/integrations/configuration','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','update','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','sort','where','filters','pick','filter','VIRTUAL','include','findAll','catch','show','params','keys','includeAll','options','find','create','body','getConfigurations','findOne','SalesforceConfiguration','order','merge','nolimit','AccountId','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','substring','lastIndexOf','Connection','login','concat','securityToken','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','Subject','Description','string','picklist','boolean','email','phone','remove','includes','label','value','True','true','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x5581ba,_0x268887){var _0x1e927f=function(_0x1803b2){while(--_0x1803b2){_0x5581ba['push'](_0x5581ba['shift']());}};_0x1e927f(++_0x268887);}(_0xdf3b,0x79));var _0xbdf3=function(_0x2a5099,_0x329e92){_0x2a5099=_0x2a5099-0x0;var _0x2802f1=_0xdf3b[_0x2a5099];return _0x2802f1;};'use strict';var emlformat=require(_0xbdf3('0x0'));var rimraf=require(_0xbdf3('0x1'));var zipdir=require(_0xbdf3('0x2'));var jsonpatch=require(_0xbdf3('0x3'));var rp=require(_0xbdf3('0x4'));var moment=require(_0xbdf3('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xbdf3('0x6'));var util=require(_0xbdf3('0x7'));var path=require('path');var sox=require(_0xbdf3('0x8'));var csv=require(_0xbdf3('0x9'));var ejs=require(_0xbdf3('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xbdf3('0xb'));var squel=require(_0xbdf3('0xc'));var crypto=require(_0xbdf3('0xd'));var jsforce=require(_0xbdf3('0xe'));var deskjs=require(_0xbdf3('0xf'));var toCsv=require(_0xbdf3('0x9'));var querystring=require('querystring');var Papa=require(_0xbdf3('0x10'));var Redis=require(_0xbdf3('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xbdf3('0x12'));var as=require(_0xbdf3('0x13'));var hardwareService=require(_0xbdf3('0x14'));var logger=require(_0xbdf3('0x15'))(_0xbdf3('0x16'));var utils=require(_0xbdf3('0x17'));var config=require(_0xbdf3('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require(_0xbdf3('0x19'));function respondWithStatusCode(_0x139017,_0x45a076){_0x45a076=_0x45a076||0xcc;return function(_0x196c5c){if(_0x196c5c){return _0x139017[_0xbdf3('0x1a')](_0x45a076);}return _0x139017[_0xbdf3('0x1b')](_0x45a076)[_0xbdf3('0x1c')]();};}function respondWithResult(_0x38c319,_0x395721){_0x395721=_0x395721||0xc8;return function(_0x518daf){if(_0x518daf){return _0x38c319['status'](_0x395721)[_0xbdf3('0x1d')](_0x518daf);}};}function respondWithFilteredResult(_0x4b0b5c,_0x68006c){return function(_0x149bcc){if(_0x149bcc){var _0x1da0fe=typeof _0x68006c[_0xbdf3('0x1e')]==='undefined'&&typeof _0x68006c[_0xbdf3('0x1f')]===_0xbdf3('0x20');var _0x16d018=_0x149bcc[_0xbdf3('0x21')];var _0x3f4210=_0x1da0fe?0x0:_0x68006c[_0xbdf3('0x1e')];var _0x50fcdb=_0x1da0fe?_0x149bcc[_0xbdf3('0x21')]:_0x68006c['offset']+_0x68006c[_0xbdf3('0x1f')];var _0x47e685;if(_0x50fcdb>=_0x16d018){_0x50fcdb=_0x16d018;_0x47e685=0xc8;}else{_0x47e685=0xce;}_0x4b0b5c[_0xbdf3('0x1b')](_0x47e685);return _0x4b0b5c[_0xbdf3('0x22')](_0xbdf3('0x23'),_0x3f4210+'-'+_0x50fcdb+'/'+_0x16d018)[_0xbdf3('0x1d')](_0x149bcc);}return null;};}function patchUpdates(_0x283e55){return function(_0x3f5f39){try{jsonpatch[_0xbdf3('0x24')](_0x3f5f39,_0x283e55,!![]);}catch(_0x2c334a){return BPromise['reject'](_0x2c334a);}return _0x3f5f39['save']();};}function saveUpdates(_0x3cb412,_0x37e2c5){return function(_0x4dfbdb){if(_0x4dfbdb){return _0x4dfbdb[_0xbdf3('0x25')](_0x3cb412)[_0xbdf3('0x26')](function(_0x499f29){return _0x499f29;});}return null;};}function removeEntity(_0xa9b23c,_0x57503c){return function(_0x1ed5b1){if(_0x1ed5b1){return _0x1ed5b1[_0xbdf3('0x27')]()[_0xbdf3('0x26')](function(){_0xa9b23c['status'](0xcc)[_0xbdf3('0x1c')]();});}};}function handleEntityNotFound(_0x5a334b,_0x51d578){return function(_0x254c86){if(!_0x254c86){_0x5a334b[_0xbdf3('0x1a')](0x194);}return _0x254c86;};}function handleError(_0x116059,_0x3d1204){_0x3d1204=_0x3d1204||0x1f4;return function(_0x305f10){logger[_0xbdf3('0x28')](_0x305f10[_0xbdf3('0x29')]);if(_0x305f10[_0xbdf3('0x2a')]){delete _0x305f10[_0xbdf3('0x2a')];}_0x116059[_0xbdf3('0x1b')](_0x3d1204)[_0xbdf3('0x2b')](_0x305f10);};}exports[_0xbdf3('0x2c')]=function(_0x29434d,_0x5ca9c9){var _0x2dcd80={},_0x3bccc2={},_0x781317={'count':0x0,'rows':[]};var _0x5174c1=_[_0xbdf3('0x2d')](db[_0xbdf3('0x2e')][_0xbdf3('0x2f')],function(_0x4545e5){return{'name':_0x4545e5[_0xbdf3('0x30')],'type':_0x4545e5[_0xbdf3('0x31')][_0xbdf3('0x32')]};});_0x3bccc2[_0xbdf3('0x33')]=_[_0xbdf3('0x2d')](_0x5174c1,_0xbdf3('0x2a'));_0x3bccc2['query']=_['keys'](_0x29434d['query']);_0x3bccc2['filters']=_['intersection'](_0x3bccc2[_0xbdf3('0x33')],_0x3bccc2[_0xbdf3('0x34')]);_0x2dcd80[_0xbdf3('0x35')]=_[_0xbdf3('0x36')](_0x3bccc2[_0xbdf3('0x33')],qs[_0xbdf3('0x37')](_0x29434d[_0xbdf3('0x34')][_0xbdf3('0x37')]));_0x2dcd80['attributes']=_0x2dcd80[_0xbdf3('0x35')][_0xbdf3('0x38')]?_0x2dcd80['attributes']:_0x3bccc2['model'];if(!_0x29434d[_0xbdf3('0x34')][_0xbdf3('0x39')]('nolimit')){_0x2dcd80[_0xbdf3('0x1f')]=qs[_0xbdf3('0x1f')](_0x29434d[_0xbdf3('0x34')][_0xbdf3('0x1f')]);_0x2dcd80['offset']=qs['offset'](_0x29434d[_0xbdf3('0x34')]['offset']);}_0x2dcd80['order']=qs[_0xbdf3('0x3a')](_0x29434d[_0xbdf3('0x34')]['sort']);_0x2dcd80[_0xbdf3('0x3b')]=qs[_0xbdf3('0x3c')](_[_0xbdf3('0x3d')](_0x29434d[_0xbdf3('0x34')],_0x3bccc2['filters']),_0x5174c1);if(_0x29434d[_0xbdf3('0x34')][_0xbdf3('0x3e')]){_0x2dcd80[_0xbdf3('0x3b')]=_['merge'](_0x2dcd80[_0xbdf3('0x3b')],{'$or':_[_0xbdf3('0x2d')](_0x5174c1,function(_0x5631e0){if(_0x5631e0['type']!==_0xbdf3('0x3f')){var _0x4a2e46={};_0x4a2e46[_0x5631e0[_0xbdf3('0x2a')]]={'$like':'%'+_0x29434d['query'][_0xbdf3('0x3e')]+'%'};return _0x4a2e46;}})});}_0x2dcd80=_['merge']({},_0x2dcd80,_0x29434d['options']);var _0x4ff65f={'where':_0x2dcd80[_0xbdf3('0x3b')]};return db[_0xbdf3('0x2e')][_0xbdf3('0x21')](_0x4ff65f)[_0xbdf3('0x26')](function(_0x4ff458){_0x781317[_0xbdf3('0x21')]=_0x4ff458;if(_0x29434d[_0xbdf3('0x34')]['includeAll']){_0x2dcd80[_0xbdf3('0x40')]=[{'all':!![]}];}return db[_0xbdf3('0x2e')][_0xbdf3('0x41')](_0x2dcd80);})[_0xbdf3('0x26')](function(_0x4b33e1){_0x781317['rows']=_0x4b33e1;return _0x781317;})[_0xbdf3('0x26')](respondWithFilteredResult(_0x5ca9c9,_0x2dcd80))[_0xbdf3('0x42')](handleError(_0x5ca9c9,null));};exports[_0xbdf3('0x43')]=function(_0x401cc9,_0x257849){var _0x197bd1={'raw':![],'where':{'id':_0x401cc9[_0xbdf3('0x44')]['id']}},_0x2962e1={};_0x2962e1[_0xbdf3('0x33')]=_[_0xbdf3('0x45')](db[_0xbdf3('0x2e')]['rawAttributes']);_0x2962e1[_0xbdf3('0x34')]=_[_0xbdf3('0x45')](_0x401cc9[_0xbdf3('0x34')]);_0x2962e1['filters']=_[_0xbdf3('0x36')](_0x2962e1[_0xbdf3('0x33')],_0x2962e1[_0xbdf3('0x34')]);_0x197bd1['attributes']=_[_0xbdf3('0x36')](_0x2962e1['model'],qs[_0xbdf3('0x37')](_0x401cc9[_0xbdf3('0x34')][_0xbdf3('0x37')]));_0x197bd1['attributes']=_0x197bd1[_0xbdf3('0x35')]['length']?_0x197bd1[_0xbdf3('0x35')]:_0x2962e1['model'];if(_0x401cc9[_0xbdf3('0x34')][_0xbdf3('0x46')]){_0x197bd1[_0xbdf3('0x40')]=[{'all':!![]}];}_0x197bd1=_['merge']({},_0x197bd1,_0x401cc9[_0xbdf3('0x47')]);return db['SalesforceAccount'][_0xbdf3('0x48')](_0x197bd1)[_0xbdf3('0x26')](handleEntityNotFound(_0x257849,null))[_0xbdf3('0x26')](respondWithResult(_0x257849,null))[_0xbdf3('0x42')](handleError(_0x257849,null));};exports[_0xbdf3('0x49')]=function(_0x53889b,_0x40dc35){return db[_0xbdf3('0x2e')][_0xbdf3('0x49')](_0x53889b[_0xbdf3('0x4a')],{})[_0xbdf3('0x26')](respondWithResult(_0x40dc35,0xc9))[_0xbdf3('0x42')](handleError(_0x40dc35,null));};exports[_0xbdf3('0x25')]=function(_0x33df12,_0x34876e){if(_0x33df12[_0xbdf3('0x4a')]['id']){delete _0x33df12[_0xbdf3('0x4a')]['id'];}return db[_0xbdf3('0x2e')][_0xbdf3('0x48')]({'where':{'id':_0x33df12[_0xbdf3('0x44')]['id']}})[_0xbdf3('0x26')](handleEntityNotFound(_0x34876e,null))[_0xbdf3('0x26')](saveUpdates(_0x33df12[_0xbdf3('0x4a')],null))['then'](respondWithResult(_0x34876e,null))[_0xbdf3('0x42')](handleError(_0x34876e,null));};exports[_0xbdf3('0x27')]=function(_0x13ad58,_0x19f70c){return db[_0xbdf3('0x2e')][_0xbdf3('0x48')]({'where':{'id':_0x13ad58['params']['id']}})[_0xbdf3('0x26')](handleEntityNotFound(_0x19f70c,null))[_0xbdf3('0x26')](removeEntity(_0x19f70c,null))[_0xbdf3('0x42')](handleError(_0x19f70c,null));};exports[_0xbdf3('0x4b')]=function(_0x40cb7b,_0x2443d6,_0x153ae2){var _0x2595f8={};var _0x2fe7bc={};var _0x44b3f6;var _0x13aa6c;return db[_0xbdf3('0x2e')][_0xbdf3('0x4c')]({'where':{'id':_0x40cb7b['params']['id']}})[_0xbdf3('0x26')](handleEntityNotFound(_0x2443d6,null))[_0xbdf3('0x26')](function(_0x161564){if(_0x161564){_0x44b3f6=_0x161564;_0x2fe7bc[_0xbdf3('0x33')]=_['keys'](db[_0xbdf3('0x4d')][_0xbdf3('0x2f')]);_0x2fe7bc['query']=_[_0xbdf3('0x45')](_0x40cb7b[_0xbdf3('0x34')]);_0x2fe7bc[_0xbdf3('0x3c')]=_['intersection'](_0x2fe7bc[_0xbdf3('0x33')],_0x2fe7bc[_0xbdf3('0x34')]);_0x2595f8[_0xbdf3('0x35')]=_['intersection'](_0x2fe7bc['model'],qs[_0xbdf3('0x37')](_0x40cb7b['query'][_0xbdf3('0x37')]));_0x2595f8[_0xbdf3('0x35')]=_0x2595f8[_0xbdf3('0x35')]['length']?_0x2595f8[_0xbdf3('0x35')]:_0x2fe7bc[_0xbdf3('0x33')];_0x2595f8[_0xbdf3('0x4e')]=qs['sort'](_0x40cb7b['query'][_0xbdf3('0x3a')]);_0x2595f8[_0xbdf3('0x3b')]=qs[_0xbdf3('0x3c')](_[_0xbdf3('0x3d')](_0x40cb7b[_0xbdf3('0x34')],_0x2fe7bc['filters']));if(_0x40cb7b['query'][_0xbdf3('0x3e')]){_0x2595f8['where']=_[_0xbdf3('0x4f')](_0x2595f8[_0xbdf3('0x3b')],{'$or':_['map'](_0x2595f8[_0xbdf3('0x35')],function(_0x1b23da){var _0x333dfb={};_0x333dfb[_0x1b23da]={'$like':'%'+_0x40cb7b[_0xbdf3('0x34')]['filter']+'%'};return _0x333dfb;})});}_0x2595f8=_[_0xbdf3('0x4f')]({},_0x2595f8,_0x40cb7b[_0xbdf3('0x47')]);return _0x44b3f6[_0xbdf3('0x4b')](_0x2595f8);}})[_0xbdf3('0x26')](function(_0x6d778){if(_0x6d778){_0x13aa6c=_0x6d778[_0xbdf3('0x38')];if(!_0x40cb7b[_0xbdf3('0x34')][_0xbdf3('0x39')](_0xbdf3('0x50'))){_0x2595f8[_0xbdf3('0x1f')]=qs['limit'](_0x40cb7b[_0xbdf3('0x34')][_0xbdf3('0x1f')]);_0x2595f8[_0xbdf3('0x1e')]=qs[_0xbdf3('0x1e')](_0x40cb7b[_0xbdf3('0x34')][_0xbdf3('0x1e')]);}return _0x44b3f6[_0xbdf3('0x4b')](_0x2595f8);}})[_0xbdf3('0x26')](function(_0x5863b8){if(_0x5863b8){return _0x5863b8?{'count':_0x13aa6c,'rows':_0x5863b8}:null;}})[_0xbdf3('0x26')](respondWithResult(_0x2443d6,null))[_0xbdf3('0x42')](handleError(_0x2443d6,null));};exports['addConfiguration']=function(_0x44e7a4,_0x11ad6f,_0x49cb39){if(_0x44e7a4[_0xbdf3('0x4a')]['id']){delete _0x44e7a4[_0xbdf3('0x4a')]['id'];}return db[_0xbdf3('0x2e')]['findOne']({'where':{'id':_0x44e7a4[_0xbdf3('0x44')]['id']}})[_0xbdf3('0x26')](handleEntityNotFound(_0x11ad6f,null))['then'](function(_0x3692e9){if(_0x3692e9){_0x44e7a4[_0xbdf3('0x4a')][_0xbdf3('0x51')]=_0x3692e9['id'];_0x44e7a4[_0xbdf3('0x4a')]['Subjects']=integrations[_0xbdf3('0x52')](_0x44e7a4['body'][_0xbdf3('0x53')],_0x44e7a4[_0xbdf3('0x4a')][_0xbdf3('0x31')]);_0x44e7a4[_0xbdf3('0x4a')][_0xbdf3('0x54')]=integrations[_0xbdf3('0x55')](_0x44e7a4['body']['channel'],_0x44e7a4['body'][_0xbdf3('0x31')]);return db[_0xbdf3('0x4d')]['create'](_0x44e7a4[_0xbdf3('0x4a')],{'include':[{'model':db['SalesforceField'],'as':'Subjects'},{'model':db[_0xbdf3('0x56')],'as':'Descriptions'}]});}return null;})[_0xbdf3('0x26')](respondWithResult(_0x11ad6f,null))[_0xbdf3('0x42')](handleError(_0x11ad6f,null));};exports[_0xbdf3('0x57')]=function(_0x349589,_0x257953,_0x3eea03){var _0x1d94de;var _0x49f8e5='';var _0xb14c6c=_0xbdf3('0x58');return db[_0xbdf3('0x2e')][_0xbdf3('0x4c')]({'where':{'id':_0x349589[_0xbdf3('0x44')]['id']},'attributes':['id',_0xbdf3('0x59'),_0xbdf3('0x5a'),_0xbdf3('0x5b'),_0xbdf3('0x5c'),_0xbdf3('0x5d'),'securityToken']})[_0xbdf3('0x26')](handleEntityNotFound(_0x257953,null))[_0xbdf3('0x26')](function(_0x4dee31){if(_0x4dee31){_0x49f8e5=_0x4dee31[_0xbdf3('0x59')];var _0x19b979=_0x49f8e5['slice'](-0x1);if(_0x19b979==='/'){_0x49f8e5=_0x49f8e5[_0xbdf3('0x5e')](0x0,_0x49f8e5[_0xbdf3('0x5f')](_0x19b979));}_0x1d94de=new jsforce[(_0xbdf3('0x60'))]({'oauth2':{'loginUrl':_0x49f8e5,'clientId':_0x4dee31[_0xbdf3('0x5a')],'clientSecret':_0x4dee31['clientSecret']}});return _0x1d94de[_0xbdf3('0x61')](_0x4dee31[_0xbdf3('0x5c')],_0x4dee31['password'][_0xbdf3('0x62')](_0x4dee31[_0xbdf3('0x63')]));}})[_0xbdf3('0x26')](function(_0x3953ea){if(_0x3953ea){if(!_[_0xbdf3('0x64')](_0x349589['query'][_0xbdf3('0x65')])){_0xb14c6c=_0x349589[_0xbdf3('0x34')][_0xbdf3('0x65')];}return _0x1d94de[_0xbdf3('0x66')](_0xb14c6c)[_0xbdf3('0x67')]();}})[_0xbdf3('0x26')](function(_0x5d4a34){var _0x1a8dd2=[_0xbdf3('0x68'),_0xbdf3('0x69'),_0xbdf3('0x6a'),'IsRecurrence',_0xbdf3('0x6b'),_0xbdf3('0x6c')];var _0x20f001=[_0xbdf3('0x6d'),'int',_0xbdf3('0x6e'),_0xbdf3('0x6f'),_0xbdf3('0x70'),'textarea',_0xbdf3('0x71')];if(_0x5d4a34){_[_0xbdf3('0x72')](_0x5d4a34['fields'],function(_0x59137f){return _0x1a8dd2['includes'](_0x59137f[_0xbdf3('0x2a')])||!_0x20f001[_0xbdf3('0x73')](_0x59137f['type']);});return{'count':_0x5d4a34['fields'][_0xbdf3('0x38')],'rows':_[_0xbdf3('0x2d')](_0x5d4a34[_0xbdf3('0x37')],function(_0x2fe069){return{'id':_0x2fe069[_0xbdf3('0x2a')],'name':_0x2fe069[_0xbdf3('0x74')],'custom':_0x2fe069['custom'],'options':_0x2fe069['picklistValues'][_0xbdf3('0x38')]>0x0?_[_0xbdf3('0x2d')](_0x2fe069['picklistValues'],function(_0x499e4b){return{'name':_0x499e4b[_0xbdf3('0x74')],'value':_0x499e4b[_0xbdf3('0x75')]};}):_0x2fe069[_0xbdf3('0x31')]==_0xbdf3('0x6f')?[{'name':_0xbdf3('0x76'),'value':_0xbdf3('0x77')},{'name':'False','value':_0xbdf3('0x78')}]:[]};})};}})[_0xbdf3('0x26')](respondWithResult(_0x257953,null))[_0xbdf3('0x42')](function(_0x164061){var _0x265df1=_0x349589[_0xbdf3('0x34')][_0xbdf3('0x79')]?0x1f4:_0x164061[_0xbdf3('0x7a')]||0x1f4;logger['error'](_0xbdf3('0x7b'),'getFields',_0x265df1,JSON[_0xbdf3('0x7c')](_0x164061));delete _0x164061[_0xbdf3('0x2a')];if(_0x265df1===0x191){_0x265df1=0x190;}_0x257953[_0xbdf3('0x1b')](_0x265df1)[_0xbdf3('0x2b')](_0x349589[_0xbdf3('0x34')]['test']?{'message':_0xbdf3('0x7d'),'statusCode':_0x164061[_0xbdf3('0x7a')]}:_0x164061);});};