Built motion from commit 3e059bc2.|2.5.32
[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 _0x1b4e=['include','findAll','rows','params','catch','create','body','find','getFields','findOne','SalesforceField','length','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','keys','query','model','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','options','includeAll'];(function(_0x16fc46,_0x55190d){var _0x20b456=function(_0x194068){while(--_0x194068){_0x16fc46['push'](_0x16fc46['shift']());}};_0x20b456(++_0x55190d);}(_0x1b4e,0x1ad));var _0xe1b4=function(_0x2b5718,_0x2edd21){_0x2b5718=_0x2b5718-0x0;var _0x5c23fc=_0x1b4e[_0x2b5718];return _0x5c23fc;};'use strict';var emlformat=require(_0xe1b4('0x0'));var rimraf=require(_0xe1b4('0x1'));var zipdir=require(_0xe1b4('0x2'));var jsonpatch=require(_0xe1b4('0x3'));var rp=require(_0xe1b4('0x4'));var moment=require('moment');var BPromise=require(_0xe1b4('0x5'));var Mustache=require(_0xe1b4('0x6'));var util=require(_0xe1b4('0x7'));var path=require(_0xe1b4('0x8'));var sox=require(_0xe1b4('0x9'));var csv=require(_0xe1b4('0xa'));var ejs=require(_0xe1b4('0xb'));var fs=require('fs');var fs_extra=require(_0xe1b4('0xc'));var _=require('lodash');var squel=require(_0xe1b4('0xd'));var crypto=require(_0xe1b4('0xe'));var jsforce=require(_0xe1b4('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xe1b4('0xa'));var querystring=require('querystring');var Papa=require(_0xe1b4('0x10'));var Redis=require('ioredis');var authService=require(_0xe1b4('0x11'));var qs=require(_0xe1b4('0x12'));var as=require(_0xe1b4('0x13'));var hardwareService=require(_0xe1b4('0x14'));var logger=require(_0xe1b4('0x15'))(_0xe1b4('0x16'));var utils=require(_0xe1b4('0x17'));var config=require(_0xe1b4('0x18'));var licenseUtil=require(_0xe1b4('0x19'));var db=require(_0xe1b4('0x1a'))['db'];function respondWithStatusCode(_0x14be93,_0x4376d7){_0x4376d7=_0x4376d7||0xcc;return function(_0x208de2){if(_0x208de2){return _0x14be93[_0xe1b4('0x1b')](_0x4376d7);}return _0x14be93[_0xe1b4('0x1c')](_0x4376d7)[_0xe1b4('0x1d')]();};}function respondWithResult(_0x4079df,_0x366fdf){_0x366fdf=_0x366fdf||0xc8;return function(_0x1fb3dc){if(_0x1fb3dc){return _0x4079df[_0xe1b4('0x1c')](_0x366fdf)[_0xe1b4('0x1e')](_0x1fb3dc);}};}function respondWithFilteredResult(_0x410d17,_0x605ed3){return function(_0x58ae7d){if(_0x58ae7d){var _0x27192f=typeof _0x605ed3[_0xe1b4('0x1f')]===_0xe1b4('0x20')&&typeof _0x605ed3[_0xe1b4('0x21')]===_0xe1b4('0x20');var _0x30bc71=_0x58ae7d[_0xe1b4('0x22')];var _0x166428=_0x27192f?0x0:_0x605ed3[_0xe1b4('0x1f')];var _0x3b887b=_0x27192f?_0x58ae7d[_0xe1b4('0x22')]:_0x605ed3[_0xe1b4('0x1f')]+_0x605ed3['limit'];var _0x3fd59d;if(_0x3b887b>=_0x30bc71){_0x3b887b=_0x30bc71;_0x3fd59d=0xc8;}else{_0x3fd59d=0xce;}_0x410d17[_0xe1b4('0x1c')](_0x3fd59d);return _0x410d17[_0xe1b4('0x23')](_0xe1b4('0x24'),_0x166428+'-'+_0x3b887b+'/'+_0x30bc71)['json'](_0x58ae7d);}return null;};}function patchUpdates(_0x21d8c3){return function(_0x24db4f){try{jsonpatch[_0xe1b4('0x25')](_0x24db4f,_0x21d8c3,!![]);}catch(_0x179e61){return BPromise[_0xe1b4('0x26')](_0x179e61);}return _0x24db4f[_0xe1b4('0x27')]();};}function saveUpdates(_0x8dfd8d,_0x39e0da){return function(_0x1f961c){if(_0x1f961c){return _0x1f961c[_0xe1b4('0x28')](_0x8dfd8d)['then'](function(_0x217eea){return _0x217eea;});}return null;};}function removeEntity(_0x2bca42,_0x2aa6bd){return function(_0x18e7d2){if(_0x18e7d2){return _0x18e7d2['destroy']()[_0xe1b4('0x29')](function(){_0x2bca42['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x51bfac,_0x3c471f){return function(_0x4309f0){if(!_0x4309f0){_0x51bfac[_0xe1b4('0x1b')](0x194);}return _0x4309f0;};}function handleError(_0x5d161b,_0x46c450){_0x46c450=_0x46c450||0x1f4;return function(_0x513e86){logger[_0xe1b4('0x2a')](_0x513e86[_0xe1b4('0x2b')]);if(_0x513e86['name']){delete _0x513e86[_0xe1b4('0x2c')];}_0x5d161b[_0xe1b4('0x1c')](_0x46c450)[_0xe1b4('0x2d')](_0x513e86);};}exports[_0xe1b4('0x2e')]=function(_0x3fcafe,_0x33cf87){var _0x1a84e2={},_0x82583e={},_0x14da43={'count':0x0,'rows':[]};var _0x507db3=_[_0xe1b4('0x2f')](db[_0xe1b4('0x30')][_0xe1b4('0x31')],function(_0x56b831){return{'name':_0x56b831[_0xe1b4('0x32')],'type':_0x56b831[_0xe1b4('0x33')]['key']};});_0x82583e['model']=_[_0xe1b4('0x2f')](_0x507db3,'name');_0x82583e['query']=_[_0xe1b4('0x34')](_0x3fcafe[_0xe1b4('0x35')]);_0x82583e['filters']=_['intersection'](_0x82583e[_0xe1b4('0x36')],_0x82583e[_0xe1b4('0x35')]);_0x1a84e2['attributes']=_[_0xe1b4('0x37')](_0x82583e[_0xe1b4('0x36')],qs[_0xe1b4('0x38')](_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x38')]));_0x1a84e2[_0xe1b4('0x39')]=_0x1a84e2['attributes']['length']?_0x1a84e2[_0xe1b4('0x39')]:_0x82583e[_0xe1b4('0x36')];if(!_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x3a')](_0xe1b4('0x3b'))){_0x1a84e2['limit']=qs[_0xe1b4('0x21')](_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x21')]);_0x1a84e2[_0xe1b4('0x1f')]=qs[_0xe1b4('0x1f')](_0x3fcafe['query'][_0xe1b4('0x1f')]);}_0x1a84e2[_0xe1b4('0x3c')]=qs[_0xe1b4('0x3d')](_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x3d')]);_0x1a84e2['where']=qs[_0xe1b4('0x3e')](_[_0xe1b4('0x3f')](_0x3fcafe[_0xe1b4('0x35')],_0x82583e[_0xe1b4('0x3e')]),_0x507db3);if(_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x40')]){_0x1a84e2[_0xe1b4('0x41')]=_[_0xe1b4('0x42')](_0x1a84e2['where'],{'$or':_[_0xe1b4('0x2f')](_0x507db3,function(_0x2e8dc8){if(_0x2e8dc8['type']!=='VIRTUAL'){var _0xea0c98={};_0xea0c98[_0x2e8dc8[_0xe1b4('0x2c')]]={'$like':'%'+_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x40')]+'%'};return _0xea0c98;}})});}_0x1a84e2=_[_0xe1b4('0x42')]({},_0x1a84e2,_0x3fcafe[_0xe1b4('0x43')]);var _0x2637ca={'where':_0x1a84e2[_0xe1b4('0x41')]};return db[_0xe1b4('0x30')]['count'](_0x2637ca)['then'](function(_0x47957d){_0x14da43[_0xe1b4('0x22')]=_0x47957d;if(_0x3fcafe[_0xe1b4('0x35')][_0xe1b4('0x44')]){_0x1a84e2[_0xe1b4('0x45')]=[{'all':!![]}];}return db[_0xe1b4('0x30')][_0xe1b4('0x46')](_0x1a84e2);})['then'](function(_0x9794c){_0x14da43[_0xe1b4('0x47')]=_0x9794c;return _0x14da43;})['then'](respondWithFilteredResult(_0x33cf87,_0x1a84e2))['catch'](handleError(_0x33cf87,null));};exports['show']=function(_0x3bebdb,_0xe8f322){var _0x185474={'raw':![],'where':{'id':_0x3bebdb[_0xe1b4('0x48')]['id']}},_0x575716={};_0x575716['model']=_[_0xe1b4('0x34')](db[_0xe1b4('0x30')][_0xe1b4('0x31')]);_0x575716[_0xe1b4('0x35')]=_['keys'](_0x3bebdb[_0xe1b4('0x35')]);_0x575716[_0xe1b4('0x3e')]=_[_0xe1b4('0x37')](_0x575716[_0xe1b4('0x36')],_0x575716[_0xe1b4('0x35')]);_0x185474[_0xe1b4('0x39')]=_['intersection'](_0x575716[_0xe1b4('0x36')],qs[_0xe1b4('0x38')](_0x3bebdb[_0xe1b4('0x35')][_0xe1b4('0x38')]));_0x185474[_0xe1b4('0x39')]=_0x185474[_0xe1b4('0x39')]['length']?_0x185474[_0xe1b4('0x39')]:_0x575716[_0xe1b4('0x36')];if(_0x3bebdb['query']['includeAll']){_0x185474[_0xe1b4('0x45')]=[{'all':!![]}];}_0x185474=_[_0xe1b4('0x42')]({},_0x185474,_0x3bebdb[_0xe1b4('0x43')]);return db[_0xe1b4('0x30')]['find'](_0x185474)[_0xe1b4('0x29')](handleEntityNotFound(_0xe8f322,null))[_0xe1b4('0x29')](respondWithResult(_0xe8f322,null))[_0xe1b4('0x49')](handleError(_0xe8f322,null));};exports[_0xe1b4('0x4a')]=function(_0x23fa0c,_0x24ec41){return db[_0xe1b4('0x30')][_0xe1b4('0x4a')](_0x23fa0c[_0xe1b4('0x4b')],{})[_0xe1b4('0x29')](respondWithResult(_0x24ec41,0xc9))[_0xe1b4('0x49')](handleError(_0x24ec41,null));};exports[_0xe1b4('0x28')]=function(_0x57ef6e,_0x52acdf){if(_0x57ef6e[_0xe1b4('0x4b')]['id']){delete _0x57ef6e[_0xe1b4('0x4b')]['id'];}return db['SalesforceConfiguration'][_0xe1b4('0x4c')]({'where':{'id':_0x57ef6e[_0xe1b4('0x48')]['id']}})[_0xe1b4('0x29')](handleEntityNotFound(_0x52acdf,null))[_0xe1b4('0x29')](saveUpdates(_0x57ef6e[_0xe1b4('0x4b')],null))[_0xe1b4('0x29')](respondWithResult(_0x52acdf,null))[_0xe1b4('0x49')](handleError(_0x52acdf,null));};exports['destroy']=function(_0x47a9bb,_0x384f43){return db[_0xe1b4('0x30')][_0xe1b4('0x4c')]({'where':{'id':_0x47a9bb[_0xe1b4('0x48')]['id']}})['then'](handleEntityNotFound(_0x384f43,null))[_0xe1b4('0x29')](removeEntity(_0x384f43,null))[_0xe1b4('0x49')](handleError(_0x384f43,null));};exports[_0xe1b4('0x4d')]=function(_0x1a580a,_0x4f247c,_0x55f03f){var _0x3b9fb4={};var _0x407a6d={};var _0x2151f0;var _0xe7927f;return db['SalesforceConfiguration'][_0xe1b4('0x4e')]({'where':{'id':_0x1a580a[_0xe1b4('0x48')]['id']}})['then'](handleEntityNotFound(_0x4f247c,null))[_0xe1b4('0x29')](function(_0x4b6777){if(_0x4b6777){_0x2151f0=_0x4b6777;_0x407a6d[_0xe1b4('0x36')]=_[_0xe1b4('0x34')](db[_0xe1b4('0x4f')]['rawAttributes']);_0x407a6d[_0xe1b4('0x35')]=_['keys'](_0x1a580a[_0xe1b4('0x35')]);_0x407a6d[_0xe1b4('0x3e')]=_[_0xe1b4('0x37')](_0x407a6d['model'],_0x407a6d[_0xe1b4('0x35')]);_0x3b9fb4[_0xe1b4('0x39')]=_[_0xe1b4('0x37')](_0x407a6d[_0xe1b4('0x36')],qs[_0xe1b4('0x38')](_0x1a580a[_0xe1b4('0x35')][_0xe1b4('0x38')]));_0x3b9fb4['attributes']=_0x3b9fb4[_0xe1b4('0x39')][_0xe1b4('0x50')]?_0x3b9fb4[_0xe1b4('0x39')]:_0x407a6d[_0xe1b4('0x36')];_0x3b9fb4[_0xe1b4('0x3c')]=qs[_0xe1b4('0x3d')](_0x1a580a[_0xe1b4('0x35')][_0xe1b4('0x3d')]);_0x3b9fb4[_0xe1b4('0x41')]=qs['filters'](_['pick'](_0x1a580a[_0xe1b4('0x35')],_0x407a6d[_0xe1b4('0x3e')]));if(_0x1a580a['query']['filter']){_0x3b9fb4[_0xe1b4('0x41')]=_['merge'](_0x3b9fb4['where'],{'$or':_[_0xe1b4('0x2f')](_0x3b9fb4[_0xe1b4('0x39')],function(_0x13c88c){var _0x58ad32={};_0x58ad32[_0x13c88c]={'$like':'%'+_0x1a580a[_0xe1b4('0x35')]['filter']+'%'};return _0x58ad32;})});}_0x3b9fb4=_[_0xe1b4('0x42')]({},_0x3b9fb4,_0x1a580a[_0xe1b4('0x43')]);return _0x2151f0['getFields'](_0x3b9fb4);}})[_0xe1b4('0x29')](function(_0x16bb91){if(_0x16bb91){_0xe7927f=_0x16bb91[_0xe1b4('0x50')];if(!_0x1a580a[_0xe1b4('0x35')]['hasOwnProperty'](_0xe1b4('0x3b'))){_0x3b9fb4['limit']=qs['limit'](_0x1a580a[_0xe1b4('0x35')][_0xe1b4('0x21')]);_0x3b9fb4[_0xe1b4('0x1f')]=qs['offset'](_0x1a580a[_0xe1b4('0x35')][_0xe1b4('0x1f')]);}return _0x2151f0['getFields'](_0x3b9fb4);}})[_0xe1b4('0x29')](function(_0x1c593d){if(_0x1c593d){return _0x1c593d?{'count':_0xe7927f,'rows':_0x1c593d}:null;}})[_0xe1b4('0x29')](respondWithResult(_0x4f247c,null))[_0xe1b4('0x49')](handleError(_0x4f247c,null));};exports[_0xe1b4('0x51')]=function(_0x5ad3d6,_0x593e45,_0x16c744){var _0x10b868={};var _0x99bb14={};var _0x43ba06;var _0x3cd7ac;return db[_0xe1b4('0x30')][_0xe1b4('0x4e')]({'where':{'id':_0x5ad3d6[_0xe1b4('0x48')]['id']}})[_0xe1b4('0x29')](handleEntityNotFound(_0x593e45,null))['then'](function(_0x551508){if(_0x551508){_0x43ba06=_0x551508;_0x99bb14['model']=_[_0xe1b4('0x34')](db[_0xe1b4('0x4f')][_0xe1b4('0x31')]);_0x99bb14['query']=_[_0xe1b4('0x34')](_0x5ad3d6[_0xe1b4('0x35')]);_0x99bb14['filters']=_['intersection'](_0x99bb14['model'],_0x99bb14[_0xe1b4('0x35')]);_0x10b868[_0xe1b4('0x39')]=_[_0xe1b4('0x37')](_0x99bb14[_0xe1b4('0x36')],qs[_0xe1b4('0x38')](_0x5ad3d6[_0xe1b4('0x35')][_0xe1b4('0x38')]));_0x10b868[_0xe1b4('0x39')]=_0x10b868[_0xe1b4('0x39')]['length']?_0x10b868[_0xe1b4('0x39')]:_0x99bb14[_0xe1b4('0x36')];_0x10b868[_0xe1b4('0x3c')]=qs[_0xe1b4('0x3d')](_0x5ad3d6[_0xe1b4('0x35')][_0xe1b4('0x3d')]);_0x10b868[_0xe1b4('0x41')]=qs[_0xe1b4('0x3e')](_['pick'](_0x5ad3d6[_0xe1b4('0x35')],_0x99bb14[_0xe1b4('0x3e')]));if(_0x5ad3d6[_0xe1b4('0x35')][_0xe1b4('0x40')]){_0x10b868[_0xe1b4('0x41')]=_[_0xe1b4('0x42')](_0x10b868[_0xe1b4('0x41')],{'$or':_['map'](_0x10b868['attributes'],function(_0x464b58){var _0x42e1ce={};_0x42e1ce[_0x464b58]={'$like':'%'+_0x5ad3d6[_0xe1b4('0x35')][_0xe1b4('0x40')]+'%'};return _0x42e1ce;})});}_0x10b868=_[_0xe1b4('0x42')]({},_0x10b868,_0x5ad3d6[_0xe1b4('0x43')]);return _0x43ba06[_0xe1b4('0x51')](_0x10b868);}})[_0xe1b4('0x29')](function(_0x209abd){if(_0x209abd){_0x3cd7ac=_0x209abd[_0xe1b4('0x50')];if(!_0x5ad3d6[_0xe1b4('0x35')][_0xe1b4('0x3a')](_0xe1b4('0x3b'))){_0x10b868[_0xe1b4('0x21')]=qs[_0xe1b4('0x21')](_0x5ad3d6[_0xe1b4('0x35')][_0xe1b4('0x21')]);_0x10b868[_0xe1b4('0x1f')]=qs['offset'](_0x5ad3d6['query'][_0xe1b4('0x1f')]);}return _0x43ba06[_0xe1b4('0x51')](_0x10b868);}})['then'](function(_0x48ca5d){if(_0x48ca5d){return _0x48ca5d?{'count':_0x3cd7ac,'rows':_0x48ca5d}:null;}})[_0xe1b4('0x29')](respondWithResult(_0x593e45,null))[_0xe1b4('0x49')](handleError(_0x593e45,null));};exports[_0xe1b4('0x52')]=function(_0xc8184,_0x4924ac,_0x57ae5d){var _0x3e307e={};var _0x7bf551={};var _0x877cb7;var _0x3a4031;return db[_0xe1b4('0x30')][_0xe1b4('0x4e')]({'where':{'id':_0xc8184[_0xe1b4('0x48')]['id']}})['then'](handleEntityNotFound(_0x4924ac,null))[_0xe1b4('0x29')](function(_0x5c051f){if(_0x5c051f){_0x877cb7=_0x5c051f;_0x7bf551[_0xe1b4('0x36')]=_[_0xe1b4('0x34')](db[_0xe1b4('0x4f')]['rawAttributes']);_0x7bf551['query']=_[_0xe1b4('0x34')](_0xc8184['query']);_0x7bf551[_0xe1b4('0x3e')]=_[_0xe1b4('0x37')](_0x7bf551[_0xe1b4('0x36')],_0x7bf551[_0xe1b4('0x35')]);_0x3e307e[_0xe1b4('0x39')]=_['intersection'](_0x7bf551[_0xe1b4('0x36')],qs[_0xe1b4('0x38')](_0xc8184[_0xe1b4('0x35')]['fields']));_0x3e307e[_0xe1b4('0x39')]=_0x3e307e[_0xe1b4('0x39')][_0xe1b4('0x50')]?_0x3e307e[_0xe1b4('0x39')]:_0x7bf551[_0xe1b4('0x36')];_0x3e307e['order']=qs[_0xe1b4('0x3d')](_0xc8184['query'][_0xe1b4('0x3d')]);_0x3e307e[_0xe1b4('0x41')]=qs[_0xe1b4('0x3e')](_[_0xe1b4('0x3f')](_0xc8184[_0xe1b4('0x35')],_0x7bf551[_0xe1b4('0x3e')]));if(_0xc8184['query'][_0xe1b4('0x40')]){_0x3e307e[_0xe1b4('0x41')]=_[_0xe1b4('0x42')](_0x3e307e['where'],{'$or':_[_0xe1b4('0x2f')](_0x3e307e[_0xe1b4('0x39')],function(_0x2dd06e){var _0x5a3f5b={};_0x5a3f5b[_0x2dd06e]={'$like':'%'+_0xc8184['query']['filter']+'%'};return _0x5a3f5b;})});}_0x3e307e=_[_0xe1b4('0x42')]({},_0x3e307e,_0xc8184['options']);return _0x877cb7[_0xe1b4('0x52')](_0x3e307e);}})['then'](function(_0x4a5779){if(_0x4a5779){_0x3a4031=_0x4a5779[_0xe1b4('0x50')];if(!_0xc8184[_0xe1b4('0x35')]['hasOwnProperty']('nolimit')){_0x3e307e[_0xe1b4('0x21')]=qs[_0xe1b4('0x21')](_0xc8184[_0xe1b4('0x35')][_0xe1b4('0x21')]);_0x3e307e[_0xe1b4('0x1f')]=qs[_0xe1b4('0x1f')](_0xc8184[_0xe1b4('0x35')]['offset']);}return _0x877cb7[_0xe1b4('0x52')](_0x3e307e);}})[_0xe1b4('0x29')](function(_0x1f583b){if(_0x1f583b){return _0x1f583b?{'count':_0x3a4031,'rows':_0x1f583b}:null;}})[_0xe1b4('0x29')](respondWithResult(_0x4924ac,null))[_0xe1b4('0x49')](handleError(_0x4924ac,null));};