28e76dbe932982d29de7342016e523e12e34a80e
[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 _0x97cd=['set','Content-Range','json','apply','reject','save','then','destroy','sendStatus','error','stack','send','index','map','SalesforceConfiguration','fieldName','type','key','model','name','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','params','rawAttributes','keys','create','body','update','find','getFields','findOne','SalesforceField','filter','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','end','status','offset','limit','undefined'];(function(_0x3c0666,_0xa7e902){var _0x17801e=function(_0x277552){while(--_0x277552){_0x3c0666['push'](_0x3c0666['shift']());}};_0x17801e(++_0xa7e902);}(_0x97cd,0x1e9));var _0xd97c=function(_0x5a44b5,_0x802d9b){_0x5a44b5=_0x5a44b5-0x0;var _0x4c6f1b=_0x97cd[_0x5a44b5];return _0x4c6f1b;};'use strict';var emlformat=require(_0xd97c('0x0'));var rimraf=require(_0xd97c('0x1'));var zipdir=require(_0xd97c('0x2'));var jsonpatch=require(_0xd97c('0x3'));var rp=require(_0xd97c('0x4'));var moment=require(_0xd97c('0x5'));var BPromise=require(_0xd97c('0x6'));var Mustache=require(_0xd97c('0x7'));var util=require(_0xd97c('0x8'));var path=require(_0xd97c('0x9'));var sox=require(_0xd97c('0xa'));var csv=require(_0xd97c('0xb'));var ejs=require(_0xd97c('0xc'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd97c('0xd'));var squel=require(_0xd97c('0xe'));var crypto=require(_0xd97c('0xf'));var jsforce=require(_0xd97c('0x10'));var deskjs=require(_0xd97c('0x11'));var toCsv=require(_0xd97c('0xb'));var querystring=require(_0xd97c('0x12'));var Papa=require(_0xd97c('0x13'));var Redis=require(_0xd97c('0x14'));var authService=require(_0xd97c('0x15'));var qs=require(_0xd97c('0x16'));var as=require(_0xd97c('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd97c('0x18'))('api');var utils=require(_0xd97c('0x19'));var config=require(_0xd97c('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0xd97c('0x1b'))['db'];function respondWithStatusCode(_0x4bd0a8,_0x302084){_0x302084=_0x302084||0xcc;return function(_0x5e67e4){if(_0x5e67e4){return _0x4bd0a8['sendStatus'](_0x302084);}return _0x4bd0a8['status'](_0x302084)[_0xd97c('0x1c')]();};}function respondWithResult(_0xbb298a,_0x53a562){_0x53a562=_0x53a562||0xc8;return function(_0x488748){if(_0x488748){return _0xbb298a[_0xd97c('0x1d')](_0x53a562)['json'](_0x488748);}};}function respondWithFilteredResult(_0x9caaeb,_0x4b2d3c){return function(_0x4d1b6c){if(_0x4d1b6c){var _0x7337bb=typeof _0x4b2d3c[_0xd97c('0x1e')]==='undefined'&&typeof _0x4b2d3c[_0xd97c('0x1f')]===_0xd97c('0x20');var _0x18ee0b=_0x4d1b6c['count'];var _0x5cb2b5=_0x7337bb?0x0:_0x4b2d3c[_0xd97c('0x1e')];var _0x373988=_0x7337bb?_0x4d1b6c['count']:_0x4b2d3c[_0xd97c('0x1e')]+_0x4b2d3c[_0xd97c('0x1f')];var _0xa1f6b6;if(_0x373988>=_0x18ee0b){_0x373988=_0x18ee0b;_0xa1f6b6=0xc8;}else{_0xa1f6b6=0xce;}_0x9caaeb[_0xd97c('0x1d')](_0xa1f6b6);return _0x9caaeb[_0xd97c('0x21')](_0xd97c('0x22'),_0x5cb2b5+'-'+_0x373988+'/'+_0x18ee0b)[_0xd97c('0x23')](_0x4d1b6c);}return null;};}function patchUpdates(_0x356bbf){return function(_0x283dda){try{jsonpatch[_0xd97c('0x24')](_0x283dda,_0x356bbf,!![]);}catch(_0x3d97fb){return BPromise[_0xd97c('0x25')](_0x3d97fb);}return _0x283dda[_0xd97c('0x26')]();};}function saveUpdates(_0x27bbed,_0x46a154){return function(_0x2b2995){if(_0x2b2995){return _0x2b2995['update'](_0x27bbed)[_0xd97c('0x27')](function(_0x516972){return _0x516972;});}return null;};}function removeEntity(_0x3e2086,_0x5c49a6){return function(_0x4ac329){if(_0x4ac329){return _0x4ac329[_0xd97c('0x28')]()['then'](function(){_0x3e2086['status'](0xcc)[_0xd97c('0x1c')]();});}};}function handleEntityNotFound(_0xab35d,_0x5234af){return function(_0x33d24c){if(!_0x33d24c){_0xab35d[_0xd97c('0x29')](0x194);}return _0x33d24c;};}function handleError(_0x30a282,_0x2df606){_0x2df606=_0x2df606||0x1f4;return function(_0x2f335a){logger[_0xd97c('0x2a')](_0x2f335a[_0xd97c('0x2b')]);if(_0x2f335a['name']){delete _0x2f335a['name'];}_0x30a282[_0xd97c('0x1d')](_0x2df606)[_0xd97c('0x2c')](_0x2f335a);};}exports[_0xd97c('0x2d')]=function(_0x49cff7,_0x302b8b){var _0x121e49={},_0x3968dd={},_0x96a2d0={'count':0x0,'rows':[]};var _0x4056ec=_[_0xd97c('0x2e')](db[_0xd97c('0x2f')]['rawAttributes'],function(_0x1344b6){return{'name':_0x1344b6[_0xd97c('0x30')],'type':_0x1344b6[_0xd97c('0x31')][_0xd97c('0x32')]};});_0x3968dd[_0xd97c('0x33')]=_['map'](_0x4056ec,_0xd97c('0x34'));_0x3968dd[_0xd97c('0x35')]=_['keys'](_0x49cff7['query']);_0x3968dd['filters']=_[_0xd97c('0x36')](_0x3968dd[_0xd97c('0x33')],_0x3968dd[_0xd97c('0x35')]);_0x121e49[_0xd97c('0x37')]=_[_0xd97c('0x36')](_0x3968dd['model'],qs[_0xd97c('0x38')](_0x49cff7['query'][_0xd97c('0x38')]));_0x121e49[_0xd97c('0x37')]=_0x121e49['attributes'][_0xd97c('0x39')]?_0x121e49[_0xd97c('0x37')]:_0x3968dd['model'];if(!_0x49cff7[_0xd97c('0x35')][_0xd97c('0x3a')](_0xd97c('0x3b'))){_0x121e49[_0xd97c('0x1f')]=qs[_0xd97c('0x1f')](_0x49cff7['query'][_0xd97c('0x1f')]);_0x121e49[_0xd97c('0x1e')]=qs['offset'](_0x49cff7[_0xd97c('0x35')][_0xd97c('0x1e')]);}_0x121e49[_0xd97c('0x3c')]=qs[_0xd97c('0x3d')](_0x49cff7[_0xd97c('0x35')][_0xd97c('0x3d')]);_0x121e49[_0xd97c('0x3e')]=qs[_0xd97c('0x3f')](_[_0xd97c('0x40')](_0x49cff7[_0xd97c('0x35')],_0x3968dd[_0xd97c('0x3f')]),_0x4056ec);if(_0x49cff7[_0xd97c('0x35')]['filter']){_0x121e49[_0xd97c('0x3e')]=_[_0xd97c('0x41')](_0x121e49[_0xd97c('0x3e')],{'$or':_[_0xd97c('0x2e')](_0x4056ec,function(_0x30898f){if(_0x30898f['type']!==_0xd97c('0x42')){var _0x301b04={};_0x301b04[_0x30898f[_0xd97c('0x34')]]={'$like':'%'+_0x49cff7['query']['filter']+'%'};return _0x301b04;}})});}_0x121e49=_[_0xd97c('0x41')]({},_0x121e49,_0x49cff7[_0xd97c('0x43')]);var _0x253a0e={'where':_0x121e49[_0xd97c('0x3e')]};return db[_0xd97c('0x2f')][_0xd97c('0x44')](_0x253a0e)[_0xd97c('0x27')](function(_0x5874a3){_0x96a2d0[_0xd97c('0x44')]=_0x5874a3;if(_0x49cff7[_0xd97c('0x35')][_0xd97c('0x45')]){_0x121e49[_0xd97c('0x46')]=[{'all':!![]}];}return db['SalesforceConfiguration'][_0xd97c('0x47')](_0x121e49);})[_0xd97c('0x27')](function(_0x586aac){_0x96a2d0[_0xd97c('0x48')]=_0x586aac;return _0x96a2d0;})['then'](respondWithFilteredResult(_0x302b8b,_0x121e49))[_0xd97c('0x49')](handleError(_0x302b8b,null));};exports['show']=function(_0xff3cac,_0x46a8ce){var _0x4ef7c8={'raw':![],'where':{'id':_0xff3cac[_0xd97c('0x4a')]['id']}},_0x224272={};_0x224272[_0xd97c('0x33')]=_['keys'](db['SalesforceConfiguration'][_0xd97c('0x4b')]);_0x224272['query']=_[_0xd97c('0x4c')](_0xff3cac[_0xd97c('0x35')]);_0x224272['filters']=_[_0xd97c('0x36')](_0x224272[_0xd97c('0x33')],_0x224272['query']);_0x4ef7c8[_0xd97c('0x37')]=_[_0xd97c('0x36')](_0x224272[_0xd97c('0x33')],qs[_0xd97c('0x38')](_0xff3cac[_0xd97c('0x35')]['fields']));_0x4ef7c8[_0xd97c('0x37')]=_0x4ef7c8[_0xd97c('0x37')]['length']?_0x4ef7c8[_0xd97c('0x37')]:_0x224272[_0xd97c('0x33')];if(_0xff3cac[_0xd97c('0x35')]['includeAll']){_0x4ef7c8[_0xd97c('0x46')]=[{'all':!![]}];}_0x4ef7c8=_[_0xd97c('0x41')]({},_0x4ef7c8,_0xff3cac['options']);return db['SalesforceConfiguration']['find'](_0x4ef7c8)[_0xd97c('0x27')](handleEntityNotFound(_0x46a8ce,null))[_0xd97c('0x27')](respondWithResult(_0x46a8ce,null))[_0xd97c('0x49')](handleError(_0x46a8ce,null));};exports['create']=function(_0x3aca19,_0x576f95){return db[_0xd97c('0x2f')][_0xd97c('0x4d')](_0x3aca19[_0xd97c('0x4e')],{})[_0xd97c('0x27')](respondWithResult(_0x576f95,0xc9))[_0xd97c('0x49')](handleError(_0x576f95,null));};exports[_0xd97c('0x4f')]=function(_0x47673a,_0x3feb32){if(_0x47673a[_0xd97c('0x4e')]['id']){delete _0x47673a['body']['id'];}return db[_0xd97c('0x2f')]['find']({'where':{'id':_0x47673a[_0xd97c('0x4a')]['id']}})['then'](handleEntityNotFound(_0x3feb32,null))[_0xd97c('0x27')](saveUpdates(_0x47673a[_0xd97c('0x4e')],null))['then'](respondWithResult(_0x3feb32,null))['catch'](handleError(_0x3feb32,null));};exports['destroy']=function(_0x433f4a,_0x302f01){return db[_0xd97c('0x2f')][_0xd97c('0x50')]({'where':{'id':_0x433f4a[_0xd97c('0x4a')]['id']}})[_0xd97c('0x27')](handleEntityNotFound(_0x302f01,null))['then'](removeEntity(_0x302f01,null))[_0xd97c('0x49')](handleError(_0x302f01,null));};exports[_0xd97c('0x51')]=function(_0x246532,_0x239c0e,_0x17b1b4){var _0x11dbaa={};var _0x16a47e={};var _0x5f569e;var _0x41d55a;return db['SalesforceConfiguration'][_0xd97c('0x52')]({'where':{'id':_0x246532[_0xd97c('0x4a')]['id']}})[_0xd97c('0x27')](handleEntityNotFound(_0x239c0e,null))['then'](function(_0x3304e1){if(_0x3304e1){_0x5f569e=_0x3304e1;_0x16a47e[_0xd97c('0x33')]=_[_0xd97c('0x4c')](db[_0xd97c('0x53')][_0xd97c('0x4b')]);_0x16a47e['query']=_['keys'](_0x246532[_0xd97c('0x35')]);_0x16a47e['filters']=_[_0xd97c('0x36')](_0x16a47e[_0xd97c('0x33')],_0x16a47e[_0xd97c('0x35')]);_0x11dbaa[_0xd97c('0x37')]=_[_0xd97c('0x36')](_0x16a47e[_0xd97c('0x33')],qs['fields'](_0x246532['query'][_0xd97c('0x38')]));_0x11dbaa[_0xd97c('0x37')]=_0x11dbaa[_0xd97c('0x37')][_0xd97c('0x39')]?_0x11dbaa[_0xd97c('0x37')]:_0x16a47e['model'];_0x11dbaa['order']=qs['sort'](_0x246532[_0xd97c('0x35')][_0xd97c('0x3d')]);_0x11dbaa[_0xd97c('0x3e')]=qs[_0xd97c('0x3f')](_[_0xd97c('0x40')](_0x246532[_0xd97c('0x35')],_0x16a47e[_0xd97c('0x3f')]));if(_0x246532['query']['filter']){_0x11dbaa[_0xd97c('0x3e')]=_[_0xd97c('0x41')](_0x11dbaa[_0xd97c('0x3e')],{'$or':_[_0xd97c('0x2e')](_0x11dbaa['attributes'],function(_0x3804fe){var _0x277163={};_0x277163[_0x3804fe]={'$like':'%'+_0x246532[_0xd97c('0x35')]['filter']+'%'};return _0x277163;})});}_0x11dbaa=_['merge']({},_0x11dbaa,_0x246532['options']);return _0x5f569e[_0xd97c('0x51')](_0x11dbaa);}})[_0xd97c('0x27')](function(_0x3b18d0){if(_0x3b18d0){_0x41d55a=_0x3b18d0[_0xd97c('0x39')];if(!_0x246532['query'][_0xd97c('0x3a')](_0xd97c('0x3b'))){_0x11dbaa[_0xd97c('0x1f')]=qs[_0xd97c('0x1f')](_0x246532[_0xd97c('0x35')][_0xd97c('0x1f')]);_0x11dbaa['offset']=qs['offset'](_0x246532[_0xd97c('0x35')][_0xd97c('0x1e')]);}return _0x5f569e[_0xd97c('0x51')](_0x11dbaa);}})[_0xd97c('0x27')](function(_0x29f0fb){if(_0x29f0fb){return _0x29f0fb?{'count':_0x41d55a,'rows':_0x29f0fb}:null;}})[_0xd97c('0x27')](respondWithResult(_0x239c0e,null))[_0xd97c('0x49')](handleError(_0x239c0e,null));};exports['getSubjects']=function(_0x174202,_0x560462,_0x38e561){var _0x3a87e8={};var _0x15c5f3={};var _0x44ec05;var _0x132811;return db[_0xd97c('0x2f')][_0xd97c('0x52')]({'where':{'id':_0x174202['params']['id']}})[_0xd97c('0x27')](handleEntityNotFound(_0x560462,null))['then'](function(_0x369ee3){if(_0x369ee3){_0x44ec05=_0x369ee3;_0x15c5f3[_0xd97c('0x33')]=_[_0xd97c('0x4c')](db[_0xd97c('0x53')][_0xd97c('0x4b')]);_0x15c5f3[_0xd97c('0x35')]=_[_0xd97c('0x4c')](_0x174202[_0xd97c('0x35')]);_0x15c5f3[_0xd97c('0x3f')]=_[_0xd97c('0x36')](_0x15c5f3[_0xd97c('0x33')],_0x15c5f3[_0xd97c('0x35')]);_0x3a87e8[_0xd97c('0x37')]=_[_0xd97c('0x36')](_0x15c5f3['model'],qs[_0xd97c('0x38')](_0x174202['query'][_0xd97c('0x38')]));_0x3a87e8[_0xd97c('0x37')]=_0x3a87e8[_0xd97c('0x37')][_0xd97c('0x39')]?_0x3a87e8[_0xd97c('0x37')]:_0x15c5f3[_0xd97c('0x33')];_0x3a87e8[_0xd97c('0x3c')]=qs[_0xd97c('0x3d')](_0x174202[_0xd97c('0x35')][_0xd97c('0x3d')]);_0x3a87e8[_0xd97c('0x3e')]=qs[_0xd97c('0x3f')](_[_0xd97c('0x40')](_0x174202[_0xd97c('0x35')],_0x15c5f3[_0xd97c('0x3f')]));if(_0x174202[_0xd97c('0x35')][_0xd97c('0x54')]){_0x3a87e8['where']=_['merge'](_0x3a87e8['where'],{'$or':_[_0xd97c('0x2e')](_0x3a87e8[_0xd97c('0x37')],function(_0xb88c60){var _0x5ef255={};_0x5ef255[_0xb88c60]={'$like':'%'+_0x174202[_0xd97c('0x35')][_0xd97c('0x54')]+'%'};return _0x5ef255;})});}_0x3a87e8=_[_0xd97c('0x41')]({},_0x3a87e8,_0x174202[_0xd97c('0x43')]);return _0x44ec05[_0xd97c('0x55')](_0x3a87e8);}})[_0xd97c('0x27')](function(_0x3fcafb){if(_0x3fcafb){_0x132811=_0x3fcafb[_0xd97c('0x39')];if(!_0x174202['query']['hasOwnProperty'](_0xd97c('0x3b'))){_0x3a87e8[_0xd97c('0x1f')]=qs[_0xd97c('0x1f')](_0x174202[_0xd97c('0x35')]['limit']);_0x3a87e8[_0xd97c('0x1e')]=qs[_0xd97c('0x1e')](_0x174202[_0xd97c('0x35')][_0xd97c('0x1e')]);}return _0x44ec05[_0xd97c('0x55')](_0x3a87e8);}})[_0xd97c('0x27')](function(_0x4c526a){if(_0x4c526a){return _0x4c526a?{'count':_0x132811,'rows':_0x4c526a}:null;}})[_0xd97c('0x27')](respondWithResult(_0x560462,null))[_0xd97c('0x49')](handleError(_0x560462,null));};exports[_0xd97c('0x56')]=function(_0x888c2b,_0x151951,_0x566593){var _0x20a401={};var _0x3fba45={};var _0x58f653;var _0x2e9588;return db[_0xd97c('0x2f')]['findOne']({'where':{'id':_0x888c2b[_0xd97c('0x4a')]['id']}})[_0xd97c('0x27')](handleEntityNotFound(_0x151951,null))[_0xd97c('0x27')](function(_0x27dc76){if(_0x27dc76){_0x58f653=_0x27dc76;_0x3fba45[_0xd97c('0x33')]=_['keys'](db['SalesforceField']['rawAttributes']);_0x3fba45[_0xd97c('0x35')]=_[_0xd97c('0x4c')](_0x888c2b[_0xd97c('0x35')]);_0x3fba45[_0xd97c('0x3f')]=_[_0xd97c('0x36')](_0x3fba45[_0xd97c('0x33')],_0x3fba45[_0xd97c('0x35')]);_0x20a401[_0xd97c('0x37')]=_[_0xd97c('0x36')](_0x3fba45[_0xd97c('0x33')],qs[_0xd97c('0x38')](_0x888c2b[_0xd97c('0x35')][_0xd97c('0x38')]));_0x20a401['attributes']=_0x20a401['attributes'][_0xd97c('0x39')]?_0x20a401['attributes']:_0x3fba45[_0xd97c('0x33')];_0x20a401['order']=qs[_0xd97c('0x3d')](_0x888c2b[_0xd97c('0x35')][_0xd97c('0x3d')]);_0x20a401[_0xd97c('0x3e')]=qs[_0xd97c('0x3f')](_[_0xd97c('0x40')](_0x888c2b['query'],_0x3fba45[_0xd97c('0x3f')]));if(_0x888c2b[_0xd97c('0x35')][_0xd97c('0x54')]){_0x20a401[_0xd97c('0x3e')]=_[_0xd97c('0x41')](_0x20a401['where'],{'$or':_[_0xd97c('0x2e')](_0x20a401[_0xd97c('0x37')],function(_0x46e9e0){var _0x5a9baf={};_0x5a9baf[_0x46e9e0]={'$like':'%'+_0x888c2b[_0xd97c('0x35')][_0xd97c('0x54')]+'%'};return _0x5a9baf;})});}_0x20a401=_[_0xd97c('0x41')]({},_0x20a401,_0x888c2b[_0xd97c('0x43')]);return _0x58f653['getDescriptions'](_0x20a401);}})[_0xd97c('0x27')](function(_0x3bac97){if(_0x3bac97){_0x2e9588=_0x3bac97[_0xd97c('0x39')];if(!_0x888c2b['query'][_0xd97c('0x3a')](_0xd97c('0x3b'))){_0x20a401[_0xd97c('0x1f')]=qs[_0xd97c('0x1f')](_0x888c2b[_0xd97c('0x35')][_0xd97c('0x1f')]);_0x20a401[_0xd97c('0x1e')]=qs[_0xd97c('0x1e')](_0x888c2b['query']['offset']);}return _0x58f653[_0xd97c('0x56')](_0x20a401);}})[_0xd97c('0x27')](function(_0x3ab78c){if(_0x3ab78c){return _0x3ab78c?{'count':_0x2e9588,'rows':_0x3ab78c}:null;}})['then'](respondWithResult(_0x151951,null))[_0xd97c('0x49')](handleError(_0x151951,null));};