Built motion from commit da24aabd.|2.6.20
[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 _0x0ef2=['sort','where','pick','filter','VIRTUAL','merge','options','include','rows','catch','show','length','includeAll','create','body','update','find','destroy','params','getFields','findOne','SalesforceField','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','limit','count','offset','status','set','Content-Range','apply','save','then','error','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','order'];(function(_0x8f82df,_0x4ad0e9){var _0x19212a=function(_0xa30958){while(--_0xa30958){_0x8f82df['push'](_0x8f82df['shift']());}};_0x19212a(++_0x4ad0e9);}(_0x0ef2,0x169));var _0x20ef=function(_0x12a2a6,_0x374ff1){_0x12a2a6=_0x12a2a6-0x0;var _0x1754ae=_0x0ef2[_0x12a2a6];return _0x1754ae;};'use strict';var emlformat=require(_0x20ef('0x0'));var rimraf=require(_0x20ef('0x1'));var zipdir=require(_0x20ef('0x2'));var jsonpatch=require(_0x20ef('0x3'));var rp=require('request-promise');var moment=require(_0x20ef('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x20ef('0x5'));var util=require(_0x20ef('0x6'));var path=require(_0x20ef('0x7'));var sox=require(_0x20ef('0x8'));var csv=require(_0x20ef('0x9'));var ejs=require(_0x20ef('0xa'));var fs=require('fs');var fs_extra=require(_0x20ef('0xb'));var _=require(_0x20ef('0xc'));var squel=require(_0x20ef('0xd'));var crypto=require(_0x20ef('0xe'));var jsforce=require(_0x20ef('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x20ef('0x9'));var querystring=require(_0x20ef('0x10'));var Papa=require(_0x20ef('0x11'));var Redis=require(_0x20ef('0x12'));var authService=require(_0x20ef('0x13'));var qs=require(_0x20ef('0x14'));var as=require(_0x20ef('0x15'));var hardwareService=require(_0x20ef('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x20ef('0x17'));var config=require(_0x20ef('0x18'));var licenseUtil=require(_0x20ef('0x19'));var db=require(_0x20ef('0x1a'))['db'];function respondWithStatusCode(_0x24cbe1,_0x3609ad){_0x3609ad=_0x3609ad||0xcc;return function(_0x486908){if(_0x486908){return _0x24cbe1[_0x20ef('0x1b')](_0x3609ad);}return _0x24cbe1['status'](_0x3609ad)[_0x20ef('0x1c')]();};}function respondWithResult(_0xaa5448,_0x471367){_0x471367=_0x471367||0xc8;return function(_0x118ddb){if(_0x118ddb){return _0xaa5448['status'](_0x471367)[_0x20ef('0x1d')](_0x118ddb);}};}function respondWithFilteredResult(_0x1c5f29,_0x58da53){return function(_0x2b3ec0){if(_0x2b3ec0){var _0x2ea9ba=typeof _0x58da53['offset']==='undefined'&&typeof _0x58da53[_0x20ef('0x1e')]==='undefined';var _0x1bba2c=_0x2b3ec0[_0x20ef('0x1f')];var _0x45167c=_0x2ea9ba?0x0:_0x58da53['offset'];var _0x23088b=_0x2ea9ba?_0x2b3ec0[_0x20ef('0x1f')]:_0x58da53[_0x20ef('0x20')]+_0x58da53[_0x20ef('0x1e')];var _0xd180ed;if(_0x23088b>=_0x1bba2c){_0x23088b=_0x1bba2c;_0xd180ed=0xc8;}else{_0xd180ed=0xce;}_0x1c5f29[_0x20ef('0x21')](_0xd180ed);return _0x1c5f29[_0x20ef('0x22')](_0x20ef('0x23'),_0x45167c+'-'+_0x23088b+'/'+_0x1bba2c)[_0x20ef('0x1d')](_0x2b3ec0);}return null;};}function patchUpdates(_0x8d716b){return function(_0x2a3a4b){try{jsonpatch[_0x20ef('0x24')](_0x2a3a4b,_0x8d716b,!![]);}catch(_0x23e62c){return BPromise['reject'](_0x23e62c);}return _0x2a3a4b[_0x20ef('0x25')]();};}function saveUpdates(_0xcd37fc,_0x5b6b){return function(_0x51ecaf){if(_0x51ecaf){return _0x51ecaf['update'](_0xcd37fc)[_0x20ef('0x26')](function(_0x173a87){return _0x173a87;});}return null;};}function removeEntity(_0x40d79b,_0x51cace){return function(_0x42af24){if(_0x42af24){return _0x42af24['destroy']()[_0x20ef('0x26')](function(){_0x40d79b['status'](0xcc)[_0x20ef('0x1c')]();});}};}function handleEntityNotFound(_0x4077f4,_0x4d592b){return function(_0x5118e6){if(!_0x5118e6){_0x4077f4[_0x20ef('0x1b')](0x194);}return _0x5118e6;};}function handleError(_0x1238e1,_0x592ecf){_0x592ecf=_0x592ecf||0x1f4;return function(_0x289d3b){logger[_0x20ef('0x27')](_0x289d3b[_0x20ef('0x28')]);if(_0x289d3b[_0x20ef('0x29')]){delete _0x289d3b[_0x20ef('0x29')];}_0x1238e1[_0x20ef('0x21')](_0x592ecf)[_0x20ef('0x2a')](_0x289d3b);};}exports[_0x20ef('0x2b')]=function(_0x2ada48,_0x32da7e){var _0x4d5601={},_0x5aed77={},_0x46f95b={'count':0x0,'rows':[]};var _0x36676a=_[_0x20ef('0x2c')](db[_0x20ef('0x2d')][_0x20ef('0x2e')],function(_0x4d460d){return{'name':_0x4d460d[_0x20ef('0x2f')],'type':_0x4d460d[_0x20ef('0x30')][_0x20ef('0x31')]};});_0x5aed77[_0x20ef('0x32')]=_['map'](_0x36676a,_0x20ef('0x29'));_0x5aed77[_0x20ef('0x33')]=_[_0x20ef('0x34')](_0x2ada48[_0x20ef('0x33')]);_0x5aed77[_0x20ef('0x35')]=_['intersection'](_0x5aed77[_0x20ef('0x32')],_0x5aed77[_0x20ef('0x33')]);_0x4d5601[_0x20ef('0x36')]=_[_0x20ef('0x37')](_0x5aed77['model'],qs[_0x20ef('0x38')](_0x2ada48[_0x20ef('0x33')]['fields']));_0x4d5601['attributes']=_0x4d5601['attributes']['length']?_0x4d5601['attributes']:_0x5aed77[_0x20ef('0x32')];if(!_0x2ada48[_0x20ef('0x33')][_0x20ef('0x39')]('nolimit')){_0x4d5601[_0x20ef('0x1e')]=qs[_0x20ef('0x1e')](_0x2ada48[_0x20ef('0x33')][_0x20ef('0x1e')]);_0x4d5601[_0x20ef('0x20')]=qs[_0x20ef('0x20')](_0x2ada48[_0x20ef('0x33')][_0x20ef('0x20')]);}_0x4d5601[_0x20ef('0x3a')]=qs['sort'](_0x2ada48[_0x20ef('0x33')][_0x20ef('0x3b')]);_0x4d5601[_0x20ef('0x3c')]=qs['filters'](_[_0x20ef('0x3d')](_0x2ada48[_0x20ef('0x33')],_0x5aed77[_0x20ef('0x35')]),_0x36676a);if(_0x2ada48[_0x20ef('0x33')][_0x20ef('0x3e')]){_0x4d5601[_0x20ef('0x3c')]=_['merge'](_0x4d5601[_0x20ef('0x3c')],{'$or':_[_0x20ef('0x2c')](_0x36676a,function(_0x53a761){if(_0x53a761[_0x20ef('0x30')]!==_0x20ef('0x3f')){var _0x459d7c={};_0x459d7c[_0x53a761['name']]={'$like':'%'+_0x2ada48[_0x20ef('0x33')][_0x20ef('0x3e')]+'%'};return _0x459d7c;}})});}_0x4d5601=_[_0x20ef('0x40')]({},_0x4d5601,_0x2ada48[_0x20ef('0x41')]);var _0x9614da={'where':_0x4d5601[_0x20ef('0x3c')]};return db[_0x20ef('0x2d')][_0x20ef('0x1f')](_0x9614da)[_0x20ef('0x26')](function(_0xd37e83){_0x46f95b[_0x20ef('0x1f')]=_0xd37e83;if(_0x2ada48[_0x20ef('0x33')]['includeAll']){_0x4d5601[_0x20ef('0x42')]=[{'all':!![]}];}return db[_0x20ef('0x2d')]['findAll'](_0x4d5601);})[_0x20ef('0x26')](function(_0x87d11){_0x46f95b[_0x20ef('0x43')]=_0x87d11;return _0x46f95b;})['then'](respondWithFilteredResult(_0x32da7e,_0x4d5601))[_0x20ef('0x44')](handleError(_0x32da7e,null));};exports[_0x20ef('0x45')]=function(_0x4d0ca7,_0x43838d){var _0x41b077={'raw':![],'where':{'id':_0x4d0ca7['params']['id']}},_0x20ae96={};_0x20ae96[_0x20ef('0x32')]=_['keys'](db[_0x20ef('0x2d')][_0x20ef('0x2e')]);_0x20ae96[_0x20ef('0x33')]=_[_0x20ef('0x34')](_0x4d0ca7['query']);_0x20ae96[_0x20ef('0x35')]=_[_0x20ef('0x37')](_0x20ae96['model'],_0x20ae96[_0x20ef('0x33')]);_0x41b077[_0x20ef('0x36')]=_[_0x20ef('0x37')](_0x20ae96['model'],qs[_0x20ef('0x38')](_0x4d0ca7[_0x20ef('0x33')]['fields']));_0x41b077[_0x20ef('0x36')]=_0x41b077[_0x20ef('0x36')][_0x20ef('0x46')]?_0x41b077['attributes']:_0x20ae96[_0x20ef('0x32')];if(_0x4d0ca7[_0x20ef('0x33')][_0x20ef('0x47')]){_0x41b077['include']=[{'all':!![]}];}_0x41b077=_[_0x20ef('0x40')]({},_0x41b077,_0x4d0ca7[_0x20ef('0x41')]);return db[_0x20ef('0x2d')]['find'](_0x41b077)['then'](handleEntityNotFound(_0x43838d,null))[_0x20ef('0x26')](respondWithResult(_0x43838d,null))[_0x20ef('0x44')](handleError(_0x43838d,null));};exports[_0x20ef('0x48')]=function(_0x47d4f3,_0x55801d){return db['SalesforceConfiguration']['create'](_0x47d4f3[_0x20ef('0x49')],{})[_0x20ef('0x26')](respondWithResult(_0x55801d,0xc9))[_0x20ef('0x44')](handleError(_0x55801d,null));};exports[_0x20ef('0x4a')]=function(_0x51bc93,_0x5ed24d){if(_0x51bc93[_0x20ef('0x49')]['id']){delete _0x51bc93[_0x20ef('0x49')]['id'];}return db[_0x20ef('0x2d')][_0x20ef('0x4b')]({'where':{'id':_0x51bc93['params']['id']}})[_0x20ef('0x26')](handleEntityNotFound(_0x5ed24d,null))[_0x20ef('0x26')](saveUpdates(_0x51bc93[_0x20ef('0x49')],null))[_0x20ef('0x26')](respondWithResult(_0x5ed24d,null))[_0x20ef('0x44')](handleError(_0x5ed24d,null));};exports[_0x20ef('0x4c')]=function(_0x37c01d,_0x39d44c){return db[_0x20ef('0x2d')]['find']({'where':{'id':_0x37c01d[_0x20ef('0x4d')]['id']}})[_0x20ef('0x26')](handleEntityNotFound(_0x39d44c,null))[_0x20ef('0x26')](removeEntity(_0x39d44c,null))[_0x20ef('0x44')](handleError(_0x39d44c,null));};exports[_0x20ef('0x4e')]=function(_0x1e2b85,_0x1c26ea,_0x149707){var _0x59fa88={};var _0x10f5da={};var _0x1d0460;var _0x23bc75;return db[_0x20ef('0x2d')][_0x20ef('0x4f')]({'where':{'id':_0x1e2b85[_0x20ef('0x4d')]['id']}})[_0x20ef('0x26')](handleEntityNotFound(_0x1c26ea,null))['then'](function(_0x21911b){if(_0x21911b){_0x1d0460=_0x21911b;_0x10f5da['model']=_['keys'](db[_0x20ef('0x50')][_0x20ef('0x2e')]);_0x10f5da['query']=_['keys'](_0x1e2b85['query']);_0x10f5da[_0x20ef('0x35')]=_[_0x20ef('0x37')](_0x10f5da[_0x20ef('0x32')],_0x10f5da[_0x20ef('0x33')]);_0x59fa88[_0x20ef('0x36')]=_[_0x20ef('0x37')](_0x10f5da[_0x20ef('0x32')],qs[_0x20ef('0x38')](_0x1e2b85['query'][_0x20ef('0x38')]));_0x59fa88[_0x20ef('0x36')]=_0x59fa88[_0x20ef('0x36')][_0x20ef('0x46')]?_0x59fa88[_0x20ef('0x36')]:_0x10f5da[_0x20ef('0x32')];_0x59fa88[_0x20ef('0x3a')]=qs[_0x20ef('0x3b')](_0x1e2b85[_0x20ef('0x33')][_0x20ef('0x3b')]);_0x59fa88[_0x20ef('0x3c')]=qs[_0x20ef('0x35')](_[_0x20ef('0x3d')](_0x1e2b85[_0x20ef('0x33')],_0x10f5da[_0x20ef('0x35')]));if(_0x1e2b85[_0x20ef('0x33')][_0x20ef('0x3e')]){_0x59fa88['where']=_[_0x20ef('0x40')](_0x59fa88[_0x20ef('0x3c')],{'$or':_[_0x20ef('0x2c')](_0x59fa88['attributes'],function(_0x173368){var _0x19bbae={};_0x19bbae[_0x173368]={'$like':'%'+_0x1e2b85['query'][_0x20ef('0x3e')]+'%'};return _0x19bbae;})});}_0x59fa88=_['merge']({},_0x59fa88,_0x1e2b85['options']);return _0x1d0460[_0x20ef('0x4e')](_0x59fa88);}})[_0x20ef('0x26')](function(_0x315b80){if(_0x315b80){_0x23bc75=_0x315b80['length'];if(!_0x1e2b85['query'][_0x20ef('0x39')](_0x20ef('0x51'))){_0x59fa88[_0x20ef('0x1e')]=qs[_0x20ef('0x1e')](_0x1e2b85[_0x20ef('0x33')][_0x20ef('0x1e')]);_0x59fa88[_0x20ef('0x20')]=qs[_0x20ef('0x20')](_0x1e2b85[_0x20ef('0x33')][_0x20ef('0x20')]);}return _0x1d0460[_0x20ef('0x4e')](_0x59fa88);}})[_0x20ef('0x26')](function(_0x1b57e9){if(_0x1b57e9){return _0x1b57e9?{'count':_0x23bc75,'rows':_0x1b57e9}:null;}})[_0x20ef('0x26')](respondWithResult(_0x1c26ea,null))[_0x20ef('0x44')](handleError(_0x1c26ea,null));};exports['getSubjects']=function(_0x5a32db,_0x1dc6bd,_0x39a7ac){var _0x21ad94={};var _0x30b4d7={};var _0xc3cf51;var _0x8f3d49;return db[_0x20ef('0x2d')][_0x20ef('0x4f')]({'where':{'id':_0x5a32db[_0x20ef('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1dc6bd,null))['then'](function(_0x3605ff){if(_0x3605ff){_0xc3cf51=_0x3605ff;_0x30b4d7['model']=_['keys'](db['SalesforceField'][_0x20ef('0x2e')]);_0x30b4d7[_0x20ef('0x33')]=_[_0x20ef('0x34')](_0x5a32db['query']);_0x30b4d7[_0x20ef('0x35')]=_[_0x20ef('0x37')](_0x30b4d7[_0x20ef('0x32')],_0x30b4d7[_0x20ef('0x33')]);_0x21ad94[_0x20ef('0x36')]=_['intersection'](_0x30b4d7[_0x20ef('0x32')],qs['fields'](_0x5a32db[_0x20ef('0x33')]['fields']));_0x21ad94[_0x20ef('0x36')]=_0x21ad94[_0x20ef('0x36')][_0x20ef('0x46')]?_0x21ad94['attributes']:_0x30b4d7[_0x20ef('0x32')];_0x21ad94[_0x20ef('0x3a')]=qs[_0x20ef('0x3b')](_0x5a32db[_0x20ef('0x33')][_0x20ef('0x3b')]);_0x21ad94[_0x20ef('0x3c')]=qs[_0x20ef('0x35')](_[_0x20ef('0x3d')](_0x5a32db[_0x20ef('0x33')],_0x30b4d7[_0x20ef('0x35')]));if(_0x5a32db[_0x20ef('0x33')][_0x20ef('0x3e')]){_0x21ad94['where']=_['merge'](_0x21ad94[_0x20ef('0x3c')],{'$or':_[_0x20ef('0x2c')](_0x21ad94[_0x20ef('0x36')],function(_0x18b88e){var _0xc0640d={};_0xc0640d[_0x18b88e]={'$like':'%'+_0x5a32db['query']['filter']+'%'};return _0xc0640d;})});}_0x21ad94=_['merge']({},_0x21ad94,_0x5a32db['options']);return _0xc3cf51[_0x20ef('0x52')](_0x21ad94);}})[_0x20ef('0x26')](function(_0x4799b4){if(_0x4799b4){_0x8f3d49=_0x4799b4['length'];if(!_0x5a32db[_0x20ef('0x33')]['hasOwnProperty'](_0x20ef('0x51'))){_0x21ad94[_0x20ef('0x1e')]=qs[_0x20ef('0x1e')](_0x5a32db[_0x20ef('0x33')][_0x20ef('0x1e')]);_0x21ad94[_0x20ef('0x20')]=qs[_0x20ef('0x20')](_0x5a32db[_0x20ef('0x33')]['offset']);}return _0xc3cf51[_0x20ef('0x52')](_0x21ad94);}})[_0x20ef('0x26')](function(_0x3d1266){if(_0x3d1266){return _0x3d1266?{'count':_0x8f3d49,'rows':_0x3d1266}:null;}})[_0x20ef('0x26')](respondWithResult(_0x1dc6bd,null))[_0x20ef('0x44')](handleError(_0x1dc6bd,null));};exports[_0x20ef('0x53')]=function(_0x249e70,_0x239221,_0x51794e){var _0x40521a={};var _0x1f285b={};var _0x1dfdc3;var _0xa3872d;return db[_0x20ef('0x2d')][_0x20ef('0x4f')]({'where':{'id':_0x249e70['params']['id']}})['then'](handleEntityNotFound(_0x239221,null))[_0x20ef('0x26')](function(_0x65540f){if(_0x65540f){_0x1dfdc3=_0x65540f;_0x1f285b[_0x20ef('0x32')]=_[_0x20ef('0x34')](db[_0x20ef('0x50')]['rawAttributes']);_0x1f285b[_0x20ef('0x33')]=_[_0x20ef('0x34')](_0x249e70[_0x20ef('0x33')]);_0x1f285b[_0x20ef('0x35')]=_[_0x20ef('0x37')](_0x1f285b[_0x20ef('0x32')],_0x1f285b['query']);_0x40521a[_0x20ef('0x36')]=_[_0x20ef('0x37')](_0x1f285b[_0x20ef('0x32')],qs[_0x20ef('0x38')](_0x249e70['query'][_0x20ef('0x38')]));_0x40521a[_0x20ef('0x36')]=_0x40521a[_0x20ef('0x36')][_0x20ef('0x46')]?_0x40521a['attributes']:_0x1f285b[_0x20ef('0x32')];_0x40521a[_0x20ef('0x3a')]=qs[_0x20ef('0x3b')](_0x249e70[_0x20ef('0x33')][_0x20ef('0x3b')]);_0x40521a[_0x20ef('0x3c')]=qs[_0x20ef('0x35')](_[_0x20ef('0x3d')](_0x249e70[_0x20ef('0x33')],_0x1f285b[_0x20ef('0x35')]));if(_0x249e70[_0x20ef('0x33')][_0x20ef('0x3e')]){_0x40521a[_0x20ef('0x3c')]=_[_0x20ef('0x40')](_0x40521a['where'],{'$or':_['map'](_0x40521a[_0x20ef('0x36')],function(_0x18da8c){var _0x3ca9a7={};_0x3ca9a7[_0x18da8c]={'$like':'%'+_0x249e70[_0x20ef('0x33')][_0x20ef('0x3e')]+'%'};return _0x3ca9a7;})});}_0x40521a=_[_0x20ef('0x40')]({},_0x40521a,_0x249e70[_0x20ef('0x41')]);return _0x1dfdc3[_0x20ef('0x53')](_0x40521a);}})['then'](function(_0x4b923c){if(_0x4b923c){_0xa3872d=_0x4b923c[_0x20ef('0x46')];if(!_0x249e70[_0x20ef('0x33')]['hasOwnProperty'](_0x20ef('0x51'))){_0x40521a[_0x20ef('0x1e')]=qs[_0x20ef('0x1e')](_0x249e70[_0x20ef('0x33')][_0x20ef('0x1e')]);_0x40521a[_0x20ef('0x20')]=qs[_0x20ef('0x20')](_0x249e70[_0x20ef('0x33')][_0x20ef('0x20')]);}return _0x1dfdc3['getDescriptions'](_0x40521a);}})[_0x20ef('0x26')](function(_0x31f7a8){if(_0x31f7a8){return _0x31f7a8?{'count':_0xa3872d,'rows':_0x31f7a8}:null;}})[_0x20ef('0x26')](respondWithResult(_0x239221,null))['catch'](handleError(_0x239221,null));};