Built motion from commit 3c2ce842.|2.6.31
[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 _0x2690=['getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','error','stack','name','index','SalesforceConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','show','create','body','find','params','destroy','getFields','SalesforceField','map','nolimit'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x2690,0xa7));var _0x0269=function(_0x252ef1,_0x2e0041){_0x252ef1=_0x252ef1-0x0;var _0x25817c=_0x2690[_0x252ef1];return _0x25817c;};'use strict';var emlformat=require(_0x0269('0x0'));var rimraf=require(_0x0269('0x1'));var zipdir=require(_0x0269('0x2'));var jsonpatch=require(_0x0269('0x3'));var rp=require(_0x0269('0x4'));var moment=require(_0x0269('0x5'));var BPromise=require(_0x0269('0x6'));var Mustache=require(_0x0269('0x7'));var util=require(_0x0269('0x8'));var path=require(_0x0269('0x9'));var sox=require('sox');var csv=require(_0x0269('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0269('0xb'));var _=require(_0x0269('0xc'));var squel=require(_0x0269('0xd'));var crypto=require('crypto');var jsforce=require(_0x0269('0xe'));var deskjs=require(_0x0269('0xf'));var toCsv=require(_0x0269('0xa'));var querystring=require('querystring');var Papa=require(_0x0269('0x10'));var Redis=require(_0x0269('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x0269('0x12'));var as=require(_0x0269('0x13'));var hardwareService=require(_0x0269('0x14'));var logger=require('../../config/logger')(_0x0269('0x15'));var utils=require(_0x0269('0x16'));var config=require(_0x0269('0x17'));var licenseUtil=require(_0x0269('0x18'));var db=require(_0x0269('0x19'))['db'];function respondWithStatusCode(_0x286dd2,_0x1da87a){_0x1da87a=_0x1da87a||0xcc;return function(_0x2eebb3){if(_0x2eebb3){return _0x286dd2[_0x0269('0x1a')](_0x1da87a);}return _0x286dd2['status'](_0x1da87a)[_0x0269('0x1b')]();};}function respondWithResult(_0x371c18,_0x31392e){_0x31392e=_0x31392e||0xc8;return function(_0x5e502b){if(_0x5e502b){return _0x371c18[_0x0269('0x1c')](_0x31392e)[_0x0269('0x1d')](_0x5e502b);}};}function respondWithFilteredResult(_0x4af045,_0x1693ea){return function(_0x4362c6){if(_0x4362c6){var _0x3731b5=typeof _0x1693ea[_0x0269('0x1e')]==='undefined'&&typeof _0x1693ea['limit']===_0x0269('0x1f');var _0x4f46f3=_0x4362c6[_0x0269('0x20')];var _0x4b3a8b=_0x3731b5?0x0:_0x1693ea['offset'];var _0x18799b=_0x3731b5?_0x4362c6[_0x0269('0x20')]:_0x1693ea[_0x0269('0x1e')]+_0x1693ea[_0x0269('0x21')];var _0x408526;if(_0x18799b>=_0x4f46f3){_0x18799b=_0x4f46f3;_0x408526=0xc8;}else{_0x408526=0xce;}_0x4af045['status'](_0x408526);return _0x4af045[_0x0269('0x22')](_0x0269('0x23'),_0x4b3a8b+'-'+_0x18799b+'/'+_0x4f46f3)['json'](_0x4362c6);}return null;};}function patchUpdates(_0x39b5ef){return function(_0x1e9838){try{jsonpatch[_0x0269('0x24')](_0x1e9838,_0x39b5ef,!![]);}catch(_0x4c8472){return BPromise[_0x0269('0x25')](_0x4c8472);}return _0x1e9838['save']();};}function saveUpdates(_0x3218ea,_0x1fcef6){return function(_0x2f9a91){if(_0x2f9a91){return _0x2f9a91[_0x0269('0x26')](_0x3218ea)[_0x0269('0x27')](function(_0x4a77e0){return _0x4a77e0;});}return null;};}function removeEntity(_0x592a13,_0x4ffe2f){return function(_0x2714cf){if(_0x2714cf){return _0x2714cf['destroy']()['then'](function(){_0x592a13[_0x0269('0x1c')](0xcc)[_0x0269('0x1b')]();});}};}function handleEntityNotFound(_0xe15c90,_0x18d4aa){return function(_0x58329b){if(!_0x58329b){_0xe15c90[_0x0269('0x1a')](0x194);}return _0x58329b;};}function handleError(_0x162b8d,_0x5419ca){_0x5419ca=_0x5419ca||0x1f4;return function(_0x10dca0){logger[_0x0269('0x28')](_0x10dca0[_0x0269('0x29')]);if(_0x10dca0['name']){delete _0x10dca0[_0x0269('0x2a')];}_0x162b8d[_0x0269('0x1c')](_0x5419ca)['send'](_0x10dca0);};}exports[_0x0269('0x2b')]=function(_0x3ecbec,_0x573155){var _0x544cea={},_0x378155={},_0x2f3d50={'count':0x0,'rows':[]};var _0xefc19f=_['map'](db[_0x0269('0x2c')][_0x0269('0x2d')],function(_0x29f6c9){return{'name':_0x29f6c9['fieldName'],'type':_0x29f6c9[_0x0269('0x2e')][_0x0269('0x2f')]};});_0x378155[_0x0269('0x30')]=_['map'](_0xefc19f,'name');_0x378155[_0x0269('0x31')]=_[_0x0269('0x32')](_0x3ecbec[_0x0269('0x31')]);_0x378155[_0x0269('0x33')]=_[_0x0269('0x34')](_0x378155['model'],_0x378155[_0x0269('0x31')]);_0x544cea[_0x0269('0x35')]=_[_0x0269('0x34')](_0x378155[_0x0269('0x30')],qs['fields'](_0x3ecbec[_0x0269('0x31')][_0x0269('0x36')]));_0x544cea[_0x0269('0x35')]=_0x544cea[_0x0269('0x35')][_0x0269('0x37')]?_0x544cea[_0x0269('0x35')]:_0x378155[_0x0269('0x30')];if(!_0x3ecbec[_0x0269('0x31')][_0x0269('0x38')]('nolimit')){_0x544cea[_0x0269('0x21')]=qs[_0x0269('0x21')](_0x3ecbec[_0x0269('0x31')][_0x0269('0x21')]);_0x544cea[_0x0269('0x1e')]=qs['offset'](_0x3ecbec[_0x0269('0x31')][_0x0269('0x1e')]);}_0x544cea[_0x0269('0x39')]=qs[_0x0269('0x3a')](_0x3ecbec[_0x0269('0x31')]['sort']);_0x544cea['where']=qs['filters'](_[_0x0269('0x3b')](_0x3ecbec['query'],_0x378155['filters']),_0xefc19f);if(_0x3ecbec[_0x0269('0x31')][_0x0269('0x3c')]){_0x544cea[_0x0269('0x3d')]=_[_0x0269('0x3e')](_0x544cea[_0x0269('0x3d')],{'$or':_['map'](_0xefc19f,function(_0x284ccc){if(_0x284ccc[_0x0269('0x2e')]!=='VIRTUAL'){var _0x4f17be={};_0x4f17be[_0x284ccc[_0x0269('0x2a')]]={'$like':'%'+_0x3ecbec['query'][_0x0269('0x3c')]+'%'};return _0x4f17be;}})});}_0x544cea=_[_0x0269('0x3e')]({},_0x544cea,_0x3ecbec[_0x0269('0x3f')]);var _0x1cd204={'where':_0x544cea[_0x0269('0x3d')]};return db['SalesforceConfiguration'][_0x0269('0x20')](_0x1cd204)[_0x0269('0x27')](function(_0x200960){_0x2f3d50['count']=_0x200960;if(_0x3ecbec[_0x0269('0x31')][_0x0269('0x40')]){_0x544cea[_0x0269('0x41')]=[{'all':!![]}];}return db[_0x0269('0x2c')][_0x0269('0x42')](_0x544cea);})[_0x0269('0x27')](function(_0x17ab83){_0x2f3d50[_0x0269('0x43')]=_0x17ab83;return _0x2f3d50;})[_0x0269('0x27')](respondWithFilteredResult(_0x573155,_0x544cea))[_0x0269('0x44')](handleError(_0x573155,null));};exports[_0x0269('0x45')]=function(_0x382949,_0x2749de){var _0x35c927={'raw':![],'where':{'id':_0x382949['params']['id']}},_0x39e9e5={};_0x39e9e5['model']=_['keys'](db[_0x0269('0x2c')]['rawAttributes']);_0x39e9e5[_0x0269('0x31')]=_[_0x0269('0x32')](_0x382949['query']);_0x39e9e5['filters']=_[_0x0269('0x34')](_0x39e9e5[_0x0269('0x30')],_0x39e9e5['query']);_0x35c927[_0x0269('0x35')]=_[_0x0269('0x34')](_0x39e9e5[_0x0269('0x30')],qs[_0x0269('0x36')](_0x382949[_0x0269('0x31')][_0x0269('0x36')]));_0x35c927[_0x0269('0x35')]=_0x35c927[_0x0269('0x35')][_0x0269('0x37')]?_0x35c927['attributes']:_0x39e9e5[_0x0269('0x30')];if(_0x382949[_0x0269('0x31')]['includeAll']){_0x35c927[_0x0269('0x41')]=[{'all':!![]}];}_0x35c927=_[_0x0269('0x3e')]({},_0x35c927,_0x382949[_0x0269('0x3f')]);return db[_0x0269('0x2c')]['find'](_0x35c927)[_0x0269('0x27')](handleEntityNotFound(_0x2749de,null))['then'](respondWithResult(_0x2749de,null))[_0x0269('0x44')](handleError(_0x2749de,null));};exports[_0x0269('0x46')]=function(_0x452949,_0x15ee1e){return db[_0x0269('0x2c')][_0x0269('0x46')](_0x452949[_0x0269('0x47')],{})[_0x0269('0x27')](respondWithResult(_0x15ee1e,0xc9))[_0x0269('0x44')](handleError(_0x15ee1e,null));};exports[_0x0269('0x26')]=function(_0x4620ab,_0x351dec){if(_0x4620ab['body']['id']){delete _0x4620ab[_0x0269('0x47')]['id'];}return db['SalesforceConfiguration'][_0x0269('0x48')]({'where':{'id':_0x4620ab[_0x0269('0x49')]['id']}})[_0x0269('0x27')](handleEntityNotFound(_0x351dec,null))[_0x0269('0x27')](saveUpdates(_0x4620ab[_0x0269('0x47')],null))[_0x0269('0x27')](respondWithResult(_0x351dec,null))[_0x0269('0x44')](handleError(_0x351dec,null));};exports[_0x0269('0x4a')]=function(_0x5d33a4,_0x108c72){return db[_0x0269('0x2c')][_0x0269('0x48')]({'where':{'id':_0x5d33a4[_0x0269('0x49')]['id']}})[_0x0269('0x27')](handleEntityNotFound(_0x108c72,null))[_0x0269('0x27')](removeEntity(_0x108c72,null))['catch'](handleError(_0x108c72,null));};exports[_0x0269('0x4b')]=function(_0x498620,_0x4f80fa,_0x111bd7){var _0x1f6cdb={};var _0x5aa2c3={};var _0x23ca5f;var _0x1d8f99;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0x498620['params']['id']}})[_0x0269('0x27')](handleEntityNotFound(_0x4f80fa,null))[_0x0269('0x27')](function(_0x181b9b){if(_0x181b9b){_0x23ca5f=_0x181b9b;_0x5aa2c3[_0x0269('0x30')]=_[_0x0269('0x32')](db[_0x0269('0x4c')][_0x0269('0x2d')]);_0x5aa2c3['query']=_[_0x0269('0x32')](_0x498620[_0x0269('0x31')]);_0x5aa2c3['filters']=_[_0x0269('0x34')](_0x5aa2c3['model'],_0x5aa2c3['query']);_0x1f6cdb[_0x0269('0x35')]=_[_0x0269('0x34')](_0x5aa2c3['model'],qs['fields'](_0x498620[_0x0269('0x31')][_0x0269('0x36')]));_0x1f6cdb[_0x0269('0x35')]=_0x1f6cdb[_0x0269('0x35')]['length']?_0x1f6cdb[_0x0269('0x35')]:_0x5aa2c3[_0x0269('0x30')];_0x1f6cdb[_0x0269('0x39')]=qs['sort'](_0x498620['query'][_0x0269('0x3a')]);_0x1f6cdb[_0x0269('0x3d')]=qs[_0x0269('0x33')](_[_0x0269('0x3b')](_0x498620['query'],_0x5aa2c3['filters']));if(_0x498620[_0x0269('0x31')][_0x0269('0x3c')]){_0x1f6cdb[_0x0269('0x3d')]=_[_0x0269('0x3e')](_0x1f6cdb[_0x0269('0x3d')],{'$or':_[_0x0269('0x4d')](_0x1f6cdb[_0x0269('0x35')],function(_0x2f9431){var _0x587bb1={};_0x587bb1[_0x2f9431]={'$like':'%'+_0x498620['query'][_0x0269('0x3c')]+'%'};return _0x587bb1;})});}_0x1f6cdb=_[_0x0269('0x3e')]({},_0x1f6cdb,_0x498620['options']);return _0x23ca5f[_0x0269('0x4b')](_0x1f6cdb);}})[_0x0269('0x27')](function(_0x20aa72){if(_0x20aa72){_0x1d8f99=_0x20aa72[_0x0269('0x37')];if(!_0x498620[_0x0269('0x31')][_0x0269('0x38')](_0x0269('0x4e'))){_0x1f6cdb[_0x0269('0x21')]=qs[_0x0269('0x21')](_0x498620[_0x0269('0x31')][_0x0269('0x21')]);_0x1f6cdb[_0x0269('0x1e')]=qs[_0x0269('0x1e')](_0x498620[_0x0269('0x31')][_0x0269('0x1e')]);}return _0x23ca5f['getFields'](_0x1f6cdb);}})[_0x0269('0x27')](function(_0x334eb7){if(_0x334eb7){return _0x334eb7?{'count':_0x1d8f99,'rows':_0x334eb7}:null;}})[_0x0269('0x27')](respondWithResult(_0x4f80fa,null))[_0x0269('0x44')](handleError(_0x4f80fa,null));};exports[_0x0269('0x4f')]=function(_0x4aa3a8,_0x1f52bb,_0x271e6b){var _0x1a71ab={};var _0x1af5d5={};var _0x2767af;var _0x3d80bf;return db[_0x0269('0x2c')][_0x0269('0x50')]({'where':{'id':_0x4aa3a8[_0x0269('0x49')]['id']}})[_0x0269('0x27')](handleEntityNotFound(_0x1f52bb,null))['then'](function(_0x6e8fd4){if(_0x6e8fd4){_0x2767af=_0x6e8fd4;_0x1af5d5[_0x0269('0x30')]=_[_0x0269('0x32')](db[_0x0269('0x4c')][_0x0269('0x2d')]);_0x1af5d5[_0x0269('0x31')]=_[_0x0269('0x32')](_0x4aa3a8['query']);_0x1af5d5[_0x0269('0x33')]=_[_0x0269('0x34')](_0x1af5d5[_0x0269('0x30')],_0x1af5d5[_0x0269('0x31')]);_0x1a71ab[_0x0269('0x35')]=_[_0x0269('0x34')](_0x1af5d5[_0x0269('0x30')],qs['fields'](_0x4aa3a8[_0x0269('0x31')]['fields']));_0x1a71ab[_0x0269('0x35')]=_0x1a71ab[_0x0269('0x35')][_0x0269('0x37')]?_0x1a71ab[_0x0269('0x35')]:_0x1af5d5[_0x0269('0x30')];_0x1a71ab[_0x0269('0x39')]=qs['sort'](_0x4aa3a8[_0x0269('0x31')]['sort']);_0x1a71ab[_0x0269('0x3d')]=qs[_0x0269('0x33')](_[_0x0269('0x3b')](_0x4aa3a8[_0x0269('0x31')],_0x1af5d5[_0x0269('0x33')]));if(_0x4aa3a8['query'][_0x0269('0x3c')]){_0x1a71ab['where']=_[_0x0269('0x3e')](_0x1a71ab[_0x0269('0x3d')],{'$or':_[_0x0269('0x4d')](_0x1a71ab[_0x0269('0x35')],function(_0x433b37){var _0x3cb983={};_0x3cb983[_0x433b37]={'$like':'%'+_0x4aa3a8[_0x0269('0x31')][_0x0269('0x3c')]+'%'};return _0x3cb983;})});}_0x1a71ab=_[_0x0269('0x3e')]({},_0x1a71ab,_0x4aa3a8[_0x0269('0x3f')]);return _0x2767af[_0x0269('0x4f')](_0x1a71ab);}})['then'](function(_0x2c35d4){if(_0x2c35d4){_0x3d80bf=_0x2c35d4[_0x0269('0x37')];if(!_0x4aa3a8[_0x0269('0x31')][_0x0269('0x38')](_0x0269('0x4e'))){_0x1a71ab[_0x0269('0x21')]=qs[_0x0269('0x21')](_0x4aa3a8[_0x0269('0x31')][_0x0269('0x21')]);_0x1a71ab[_0x0269('0x1e')]=qs['offset'](_0x4aa3a8['query'][_0x0269('0x1e')]);}return _0x2767af[_0x0269('0x4f')](_0x1a71ab);}})[_0x0269('0x27')](function(_0x5df597){if(_0x5df597){return _0x5df597?{'count':_0x3d80bf,'rows':_0x5df597}:null;}})[_0x0269('0x27')](respondWithResult(_0x1f52bb,null))[_0x0269('0x44')](handleError(_0x1f52bb,null));};exports[_0x0269('0x51')]=function(_0x1fa038,_0x41bd5f,_0x549b80){var _0xbb19bd={};var _0x4bb2b9={};var _0x34cb34;var _0x3a4ad5;return db[_0x0269('0x2c')]['findOne']({'where':{'id':_0x1fa038[_0x0269('0x49')]['id']}})[_0x0269('0x27')](handleEntityNotFound(_0x41bd5f,null))['then'](function(_0x199405){if(_0x199405){_0x34cb34=_0x199405;_0x4bb2b9['model']=_['keys'](db[_0x0269('0x4c')]['rawAttributes']);_0x4bb2b9[_0x0269('0x31')]=_['keys'](_0x1fa038[_0x0269('0x31')]);_0x4bb2b9['filters']=_[_0x0269('0x34')](_0x4bb2b9[_0x0269('0x30')],_0x4bb2b9['query']);_0xbb19bd[_0x0269('0x35')]=_['intersection'](_0x4bb2b9[_0x0269('0x30')],qs[_0x0269('0x36')](_0x1fa038[_0x0269('0x31')][_0x0269('0x36')]));_0xbb19bd[_0x0269('0x35')]=_0xbb19bd[_0x0269('0x35')][_0x0269('0x37')]?_0xbb19bd[_0x0269('0x35')]:_0x4bb2b9[_0x0269('0x30')];_0xbb19bd['order']=qs[_0x0269('0x3a')](_0x1fa038[_0x0269('0x31')][_0x0269('0x3a')]);_0xbb19bd[_0x0269('0x3d')]=qs[_0x0269('0x33')](_[_0x0269('0x3b')](_0x1fa038[_0x0269('0x31')],_0x4bb2b9[_0x0269('0x33')]));if(_0x1fa038[_0x0269('0x31')][_0x0269('0x3c')]){_0xbb19bd['where']=_['merge'](_0xbb19bd[_0x0269('0x3d')],{'$or':_[_0x0269('0x4d')](_0xbb19bd[_0x0269('0x35')],function(_0x3ddf87){var _0x22ce77={};_0x22ce77[_0x3ddf87]={'$like':'%'+_0x1fa038[_0x0269('0x31')][_0x0269('0x3c')]+'%'};return _0x22ce77;})});}_0xbb19bd=_['merge']({},_0xbb19bd,_0x1fa038[_0x0269('0x3f')]);return _0x34cb34[_0x0269('0x51')](_0xbb19bd);}})[_0x0269('0x27')](function(_0x18c8b5){if(_0x18c8b5){_0x3a4ad5=_0x18c8b5[_0x0269('0x37')];if(!_0x1fa038['query'][_0x0269('0x38')](_0x0269('0x4e'))){_0xbb19bd[_0x0269('0x21')]=qs[_0x0269('0x21')](_0x1fa038['query']['limit']);_0xbb19bd[_0x0269('0x1e')]=qs[_0x0269('0x1e')](_0x1fa038[_0x0269('0x31')]['offset']);}return _0x34cb34[_0x0269('0x51')](_0xbb19bd);}})[_0x0269('0x27')](function(_0xb313e6){if(_0xb313e6){return _0xb313e6?{'count':_0x3a4ad5,'rows':_0xb313e6}:null;}})[_0x0269('0x27')](respondWithResult(_0x41bd5f,null))[_0x0269('0x44')](handleError(_0x41bd5f,null));};