Built motion from commit 96f8de6d.|2.6.3
[motion2.git] / server / api / intSalesforceConfiguration / intSalesforceConfiguration.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 _0xcfa1=['name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','type','options','includeAll','include','rows','catch','show','params','create','body','find','getFields','findOne','SalesforceField','pick','filter','getSubjects','getDescriptions','eml-format','zip-dir','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','jsforce','querystring','papaparse','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','error','stack'];(function(_0x4ca15a,_0x497f78){var _0x4260ef=function(_0x44ee7b){while(--_0x44ee7b){_0x4ca15a['push'](_0x4ca15a['shift']());}};_0x4260ef(++_0x497f78);}(_0xcfa1,0xbe));var _0x1cfa=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0xcfa1[_0x2dafbe];return _0x58a45a;};'use strict';var emlformat=require(_0x1cfa('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1cfa('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x1cfa('0x2'));var BPromise=require(_0x1cfa('0x3'));var Mustache=require(_0x1cfa('0x4'));var util=require(_0x1cfa('0x5'));var path=require(_0x1cfa('0x6'));var sox=require('sox');var csv=require(_0x1cfa('0x7'));var ejs=require(_0x1cfa('0x8'));var fs=require('fs');var fs_extra=require(_0x1cfa('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1cfa('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x1cfa('0x7'));var querystring=require(_0x1cfa('0xb'));var Papa=require(_0x1cfa('0xc'));var Redis=require('ioredis');var authService=require(_0x1cfa('0xd'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x1cfa('0xe'))(_0x1cfa('0xf'));var utils=require(_0x1cfa('0x10'));var config=require(_0x1cfa('0x11'));var licenseUtil=require(_0x1cfa('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4524f0,_0x3a9bae){_0x3a9bae=_0x3a9bae||0xcc;return function(_0x10e950){if(_0x10e950){return _0x4524f0[_0x1cfa('0x13')](_0x3a9bae);}return _0x4524f0[_0x1cfa('0x14')](_0x3a9bae)[_0x1cfa('0x15')]();};}function respondWithResult(_0xf709fa,_0x79c58){_0x79c58=_0x79c58||0xc8;return function(_0x100b6b){if(_0x100b6b){return _0xf709fa['status'](_0x79c58)['json'](_0x100b6b);}};}function respondWithFilteredResult(_0x12cc32,_0x181bb5){return function(_0x5452cb){if(_0x5452cb){var _0x963ee8=typeof _0x181bb5[_0x1cfa('0x16')]===_0x1cfa('0x17')&&typeof _0x181bb5['limit']===_0x1cfa('0x17');var _0xdfe146=_0x5452cb['count'];var _0x299179=_0x963ee8?0x0:_0x181bb5[_0x1cfa('0x16')];var _0x37c263=_0x963ee8?_0x5452cb[_0x1cfa('0x18')]:_0x181bb5['offset']+_0x181bb5[_0x1cfa('0x19')];var _0x11a679;if(_0x37c263>=_0xdfe146){_0x37c263=_0xdfe146;_0x11a679=0xc8;}else{_0x11a679=0xce;}_0x12cc32[_0x1cfa('0x14')](_0x11a679);return _0x12cc32[_0x1cfa('0x1a')](_0x1cfa('0x1b'),_0x299179+'-'+_0x37c263+'/'+_0xdfe146)['json'](_0x5452cb);}return null;};}function patchUpdates(_0x4525e8){return function(_0x3099a){try{jsonpatch['apply'](_0x3099a,_0x4525e8,!![]);}catch(_0x24956b){return BPromise[_0x1cfa('0x1c')](_0x24956b);}return _0x3099a[_0x1cfa('0x1d')]();};}function saveUpdates(_0x7657c5,_0x4fa903){return function(_0x1aa87e){if(_0x1aa87e){return _0x1aa87e[_0x1cfa('0x1e')](_0x7657c5)[_0x1cfa('0x1f')](function(_0x135cff){return _0x135cff;});}return null;};}function removeEntity(_0xe8f3de,_0x45f407){return function(_0x5b9cd6){if(_0x5b9cd6){return _0x5b9cd6[_0x1cfa('0x20')]()[_0x1cfa('0x1f')](function(){_0xe8f3de['status'](0xcc)[_0x1cfa('0x15')]();});}};}function handleEntityNotFound(_0x1b0570,_0x12895c){return function(_0x2d9c6d){if(!_0x2d9c6d){_0x1b0570[_0x1cfa('0x13')](0x194);}return _0x2d9c6d;};}function handleError(_0x201b23,_0x3f566f){_0x3f566f=_0x3f566f||0x1f4;return function(_0x3c064e){logger[_0x1cfa('0x21')](_0x3c064e[_0x1cfa('0x22')]);if(_0x3c064e[_0x1cfa('0x23')]){delete _0x3c064e[_0x1cfa('0x23')];}_0x201b23['status'](_0x3f566f)[_0x1cfa('0x24')](_0x3c064e);};}exports[_0x1cfa('0x25')]=function(_0x4ac5a5,_0x5596d1){var _0x2a4917={},_0x284f24={},_0x4b085b={'count':0x0,'rows':[]};var _0xce569=_[_0x1cfa('0x26')](db[_0x1cfa('0x27')][_0x1cfa('0x28')],function(_0x788cc3){return{'name':_0x788cc3[_0x1cfa('0x29')],'type':_0x788cc3['type'][_0x1cfa('0x2a')]};});_0x284f24[_0x1cfa('0x2b')]=_[_0x1cfa('0x26')](_0xce569,'name');_0x284f24[_0x1cfa('0x2c')]=_[_0x1cfa('0x2d')](_0x4ac5a5['query']);_0x284f24[_0x1cfa('0x2e')]=_[_0x1cfa('0x2f')](_0x284f24[_0x1cfa('0x2b')],_0x284f24[_0x1cfa('0x2c')]);_0x2a4917[_0x1cfa('0x30')]=_[_0x1cfa('0x2f')](_0x284f24['model'],qs[_0x1cfa('0x31')](_0x4ac5a5[_0x1cfa('0x2c')][_0x1cfa('0x31')]));_0x2a4917[_0x1cfa('0x30')]=_0x2a4917['attributes'][_0x1cfa('0x32')]?_0x2a4917['attributes']:_0x284f24['model'];if(!_0x4ac5a5[_0x1cfa('0x2c')][_0x1cfa('0x33')](_0x1cfa('0x34'))){_0x2a4917[_0x1cfa('0x19')]=qs['limit'](_0x4ac5a5[_0x1cfa('0x2c')][_0x1cfa('0x19')]);_0x2a4917[_0x1cfa('0x16')]=qs[_0x1cfa('0x16')](_0x4ac5a5[_0x1cfa('0x2c')][_0x1cfa('0x16')]);}_0x2a4917[_0x1cfa('0x35')]=qs[_0x1cfa('0x36')](_0x4ac5a5[_0x1cfa('0x2c')][_0x1cfa('0x36')]);_0x2a4917['where']=qs[_0x1cfa('0x2e')](_['pick'](_0x4ac5a5[_0x1cfa('0x2c')],_0x284f24[_0x1cfa('0x2e')]),_0xce569);if(_0x4ac5a5['query']['filter']){_0x2a4917[_0x1cfa('0x37')]=_[_0x1cfa('0x38')](_0x2a4917[_0x1cfa('0x37')],{'$or':_[_0x1cfa('0x26')](_0xce569,function(_0x28aa9f){if(_0x28aa9f[_0x1cfa('0x39')]!=='VIRTUAL'){var _0x5750ee={};_0x5750ee[_0x28aa9f['name']]={'$like':'%'+_0x4ac5a5[_0x1cfa('0x2c')]['filter']+'%'};return _0x5750ee;}})});}_0x2a4917=_[_0x1cfa('0x38')]({},_0x2a4917,_0x4ac5a5[_0x1cfa('0x3a')]);var _0x5b0a2e={'where':_0x2a4917['where']};return db['SalesforceConfiguration'][_0x1cfa('0x18')](_0x5b0a2e)[_0x1cfa('0x1f')](function(_0x2e09aa){_0x4b085b[_0x1cfa('0x18')]=_0x2e09aa;if(_0x4ac5a5[_0x1cfa('0x2c')][_0x1cfa('0x3b')]){_0x2a4917[_0x1cfa('0x3c')]=[{'all':!![]}];}return db['SalesforceConfiguration']['findAll'](_0x2a4917);})[_0x1cfa('0x1f')](function(_0x3d604e){_0x4b085b[_0x1cfa('0x3d')]=_0x3d604e;return _0x4b085b;})[_0x1cfa('0x1f')](respondWithFilteredResult(_0x5596d1,_0x2a4917))[_0x1cfa('0x3e')](handleError(_0x5596d1,null));};exports[_0x1cfa('0x3f')]=function(_0x1e1d27,_0x2fd524){var _0xfbcb06={'raw':![],'where':{'id':_0x1e1d27[_0x1cfa('0x40')]['id']}},_0x434330={};_0x434330[_0x1cfa('0x2b')]=_[_0x1cfa('0x2d')](db['SalesforceConfiguration'][_0x1cfa('0x28')]);_0x434330['query']=_[_0x1cfa('0x2d')](_0x1e1d27[_0x1cfa('0x2c')]);_0x434330['filters']=_[_0x1cfa('0x2f')](_0x434330[_0x1cfa('0x2b')],_0x434330[_0x1cfa('0x2c')]);_0xfbcb06['attributes']=_['intersection'](_0x434330[_0x1cfa('0x2b')],qs['fields'](_0x1e1d27[_0x1cfa('0x2c')][_0x1cfa('0x31')]));_0xfbcb06[_0x1cfa('0x30')]=_0xfbcb06[_0x1cfa('0x30')]['length']?_0xfbcb06['attributes']:_0x434330['model'];if(_0x1e1d27['query'][_0x1cfa('0x3b')]){_0xfbcb06[_0x1cfa('0x3c')]=[{'all':!![]}];}_0xfbcb06=_[_0x1cfa('0x38')]({},_0xfbcb06,_0x1e1d27[_0x1cfa('0x3a')]);return db['SalesforceConfiguration']['find'](_0xfbcb06)['then'](handleEntityNotFound(_0x2fd524,null))[_0x1cfa('0x1f')](respondWithResult(_0x2fd524,null))[_0x1cfa('0x3e')](handleError(_0x2fd524,null));};exports[_0x1cfa('0x41')]=function(_0x492c54,_0x5c7510){return db[_0x1cfa('0x27')]['create'](_0x492c54['body'],{})[_0x1cfa('0x1f')](respondWithResult(_0x5c7510,0xc9))[_0x1cfa('0x3e')](handleError(_0x5c7510,null));};exports[_0x1cfa('0x1e')]=function(_0x3f2c94,_0x11b67e){if(_0x3f2c94[_0x1cfa('0x42')]['id']){delete _0x3f2c94[_0x1cfa('0x42')]['id'];}return db[_0x1cfa('0x27')]['find']({'where':{'id':_0x3f2c94[_0x1cfa('0x40')]['id']}})[_0x1cfa('0x1f')](handleEntityNotFound(_0x11b67e,null))[_0x1cfa('0x1f')](saveUpdates(_0x3f2c94[_0x1cfa('0x42')],null))[_0x1cfa('0x1f')](respondWithResult(_0x11b67e,null))[_0x1cfa('0x3e')](handleError(_0x11b67e,null));};exports[_0x1cfa('0x20')]=function(_0x52c5bf,_0x3f4cab){return db['SalesforceConfiguration'][_0x1cfa('0x43')]({'where':{'id':_0x52c5bf[_0x1cfa('0x40')]['id']}})[_0x1cfa('0x1f')](handleEntityNotFound(_0x3f4cab,null))['then'](removeEntity(_0x3f4cab,null))['catch'](handleError(_0x3f4cab,null));};exports[_0x1cfa('0x44')]=function(_0x5d22f4,_0x174d8b,_0x36e167){var _0x44a342={};var _0x12b20b={};var _0x4362d1;var _0xf1a50b;return db[_0x1cfa('0x27')][_0x1cfa('0x45')]({'where':{'id':_0x5d22f4[_0x1cfa('0x40')]['id']}})[_0x1cfa('0x1f')](handleEntityNotFound(_0x174d8b,null))[_0x1cfa('0x1f')](function(_0x384c3b){if(_0x384c3b){_0x4362d1=_0x384c3b;_0x12b20b[_0x1cfa('0x2b')]=_[_0x1cfa('0x2d')](db[_0x1cfa('0x46')][_0x1cfa('0x28')]);_0x12b20b[_0x1cfa('0x2c')]=_[_0x1cfa('0x2d')](_0x5d22f4[_0x1cfa('0x2c')]);_0x12b20b[_0x1cfa('0x2e')]=_['intersection'](_0x12b20b['model'],_0x12b20b['query']);_0x44a342[_0x1cfa('0x30')]=_[_0x1cfa('0x2f')](_0x12b20b[_0x1cfa('0x2b')],qs['fields'](_0x5d22f4[_0x1cfa('0x2c')]['fields']));_0x44a342[_0x1cfa('0x30')]=_0x44a342[_0x1cfa('0x30')]['length']?_0x44a342[_0x1cfa('0x30')]:_0x12b20b[_0x1cfa('0x2b')];_0x44a342[_0x1cfa('0x35')]=qs[_0x1cfa('0x36')](_0x5d22f4[_0x1cfa('0x2c')][_0x1cfa('0x36')]);_0x44a342[_0x1cfa('0x37')]=qs[_0x1cfa('0x2e')](_[_0x1cfa('0x47')](_0x5d22f4[_0x1cfa('0x2c')],_0x12b20b[_0x1cfa('0x2e')]));if(_0x5d22f4[_0x1cfa('0x2c')]['filter']){_0x44a342[_0x1cfa('0x37')]=_[_0x1cfa('0x38')](_0x44a342['where'],{'$or':_['map'](_0x44a342[_0x1cfa('0x30')],function(_0x49ba83){var _0x26a2e2={};_0x26a2e2[_0x49ba83]={'$like':'%'+_0x5d22f4[_0x1cfa('0x2c')][_0x1cfa('0x48')]+'%'};return _0x26a2e2;})});}_0x44a342=_[_0x1cfa('0x38')]({},_0x44a342,_0x5d22f4['options']);return _0x4362d1[_0x1cfa('0x44')](_0x44a342);}})[_0x1cfa('0x1f')](function(_0x13e779){if(_0x13e779){_0xf1a50b=_0x13e779[_0x1cfa('0x32')];if(!_0x5d22f4[_0x1cfa('0x2c')]['hasOwnProperty'](_0x1cfa('0x34'))){_0x44a342[_0x1cfa('0x19')]=qs[_0x1cfa('0x19')](_0x5d22f4[_0x1cfa('0x2c')][_0x1cfa('0x19')]);_0x44a342['offset']=qs[_0x1cfa('0x16')](_0x5d22f4[_0x1cfa('0x2c')][_0x1cfa('0x16')]);}return _0x4362d1[_0x1cfa('0x44')](_0x44a342);}})[_0x1cfa('0x1f')](function(_0x55d4be){if(_0x55d4be){return _0x55d4be?{'count':_0xf1a50b,'rows':_0x55d4be}:null;}})[_0x1cfa('0x1f')](respondWithResult(_0x174d8b,null))['catch'](handleError(_0x174d8b,null));};exports[_0x1cfa('0x49')]=function(_0x110a89,_0x499a87,_0x4db05a){var _0x400fa6={};var _0x1d0743={};var _0x517d77;var _0x347cc5;return db[_0x1cfa('0x27')]['findOne']({'where':{'id':_0x110a89['params']['id']}})[_0x1cfa('0x1f')](handleEntityNotFound(_0x499a87,null))['then'](function(_0x2ddc6a){if(_0x2ddc6a){_0x517d77=_0x2ddc6a;_0x1d0743['model']=_[_0x1cfa('0x2d')](db[_0x1cfa('0x46')][_0x1cfa('0x28')]);_0x1d0743['query']=_[_0x1cfa('0x2d')](_0x110a89[_0x1cfa('0x2c')]);_0x1d0743[_0x1cfa('0x2e')]=_['intersection'](_0x1d0743[_0x1cfa('0x2b')],_0x1d0743[_0x1cfa('0x2c')]);_0x400fa6[_0x1cfa('0x30')]=_[_0x1cfa('0x2f')](_0x1d0743[_0x1cfa('0x2b')],qs[_0x1cfa('0x31')](_0x110a89[_0x1cfa('0x2c')][_0x1cfa('0x31')]));_0x400fa6[_0x1cfa('0x30')]=_0x400fa6['attributes']['length']?_0x400fa6['attributes']:_0x1d0743[_0x1cfa('0x2b')];_0x400fa6[_0x1cfa('0x35')]=qs[_0x1cfa('0x36')](_0x110a89[_0x1cfa('0x2c')][_0x1cfa('0x36')]);_0x400fa6[_0x1cfa('0x37')]=qs[_0x1cfa('0x2e')](_[_0x1cfa('0x47')](_0x110a89[_0x1cfa('0x2c')],_0x1d0743[_0x1cfa('0x2e')]));if(_0x110a89['query'][_0x1cfa('0x48')]){_0x400fa6['where']=_[_0x1cfa('0x38')](_0x400fa6[_0x1cfa('0x37')],{'$or':_[_0x1cfa('0x26')](_0x400fa6[_0x1cfa('0x30')],function(_0x3183ad){var _0x136643={};_0x136643[_0x3183ad]={'$like':'%'+_0x110a89['query'][_0x1cfa('0x48')]+'%'};return _0x136643;})});}_0x400fa6=_[_0x1cfa('0x38')]({},_0x400fa6,_0x110a89['options']);return _0x517d77[_0x1cfa('0x49')](_0x400fa6);}})[_0x1cfa('0x1f')](function(_0x57873f){if(_0x57873f){_0x347cc5=_0x57873f[_0x1cfa('0x32')];if(!_0x110a89[_0x1cfa('0x2c')][_0x1cfa('0x33')](_0x1cfa('0x34'))){_0x400fa6['limit']=qs[_0x1cfa('0x19')](_0x110a89[_0x1cfa('0x2c')]['limit']);_0x400fa6[_0x1cfa('0x16')]=qs[_0x1cfa('0x16')](_0x110a89[_0x1cfa('0x2c')][_0x1cfa('0x16')]);}return _0x517d77['getSubjects'](_0x400fa6);}})['then'](function(_0xf3d4f7){if(_0xf3d4f7){return _0xf3d4f7?{'count':_0x347cc5,'rows':_0xf3d4f7}:null;}})[_0x1cfa('0x1f')](respondWithResult(_0x499a87,null))[_0x1cfa('0x3e')](handleError(_0x499a87,null));};exports[_0x1cfa('0x4a')]=function(_0xa71127,_0x5e5e25,_0x11f565){var _0x8993be={};var _0x42b081={};var _0x55c1a3;var _0x2b4ab1;return db[_0x1cfa('0x27')][_0x1cfa('0x45')]({'where':{'id':_0xa71127[_0x1cfa('0x40')]['id']}})[_0x1cfa('0x1f')](handleEntityNotFound(_0x5e5e25,null))['then'](function(_0x5f17ef){if(_0x5f17ef){_0x55c1a3=_0x5f17ef;_0x42b081[_0x1cfa('0x2b')]=_['keys'](db[_0x1cfa('0x46')]['rawAttributes']);_0x42b081['query']=_['keys'](_0xa71127['query']);_0x42b081[_0x1cfa('0x2e')]=_[_0x1cfa('0x2f')](_0x42b081[_0x1cfa('0x2b')],_0x42b081[_0x1cfa('0x2c')]);_0x8993be[_0x1cfa('0x30')]=_['intersection'](_0x42b081[_0x1cfa('0x2b')],qs['fields'](_0xa71127[_0x1cfa('0x2c')][_0x1cfa('0x31')]));_0x8993be[_0x1cfa('0x30')]=_0x8993be[_0x1cfa('0x30')][_0x1cfa('0x32')]?_0x8993be[_0x1cfa('0x30')]:_0x42b081[_0x1cfa('0x2b')];_0x8993be[_0x1cfa('0x35')]=qs['sort'](_0xa71127[_0x1cfa('0x2c')]['sort']);_0x8993be[_0x1cfa('0x37')]=qs['filters'](_['pick'](_0xa71127['query'],_0x42b081[_0x1cfa('0x2e')]));if(_0xa71127[_0x1cfa('0x2c')][_0x1cfa('0x48')]){_0x8993be[_0x1cfa('0x37')]=_['merge'](_0x8993be[_0x1cfa('0x37')],{'$or':_[_0x1cfa('0x26')](_0x8993be[_0x1cfa('0x30')],function(_0x5af7ba){var _0x331908={};_0x331908[_0x5af7ba]={'$like':'%'+_0xa71127['query'][_0x1cfa('0x48')]+'%'};return _0x331908;})});}_0x8993be=_[_0x1cfa('0x38')]({},_0x8993be,_0xa71127[_0x1cfa('0x3a')]);return _0x55c1a3[_0x1cfa('0x4a')](_0x8993be);}})[_0x1cfa('0x1f')](function(_0x91d293){if(_0x91d293){_0x2b4ab1=_0x91d293['length'];if(!_0xa71127[_0x1cfa('0x2c')][_0x1cfa('0x33')]('nolimit')){_0x8993be['limit']=qs[_0x1cfa('0x19')](_0xa71127[_0x1cfa('0x2c')]['limit']);_0x8993be[_0x1cfa('0x16')]=qs[_0x1cfa('0x16')](_0xa71127[_0x1cfa('0x2c')]['offset']);}return _0x55c1a3[_0x1cfa('0x4a')](_0x8993be);}})[_0x1cfa('0x1f')](function(_0x18d7e3){if(_0x18d7e3){return _0x18d7e3?{'count':_0x2b4ab1,'rows':_0x18d7e3}:null;}})[_0x1cfa('0x1f')](respondWithResult(_0x5e5e25,null))[_0x1cfa('0x3e')](handleError(_0x5e5e25,null));};