Built motion from commit 449495f6.|2.6.27
[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 _0xf0dd=['crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','status','end','json','offset','undefined','count','limit','set','reject','save','update','then','sendStatus','stack','name','send','index','rawAttributes','fieldName','model','map','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','where','type','merge','options','SalesforceConfiguration','rows','params','includeAll','find','catch','create','body','getFields','findOne','SalesforceField','getSubjects','hasOwnProperty','getDescriptions','eml-format','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel'];(function(_0x376f78,_0x144dbf){var _0xb86d59=function(_0x2fd46f){while(--_0x2fd46f){_0x376f78['push'](_0x376f78['shift']());}};_0xb86d59(++_0x144dbf);}(_0xf0dd,0x84));var _0xdf0d=function(_0x3c9fda,_0x188817){_0x3c9fda=_0x3c9fda-0x0;var _0x45b841=_0xf0dd[_0x3c9fda];return _0x45b841;};'use strict';var emlformat=require(_0xdf0d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdf0d('0x1'));var jsonpatch=require(_0xdf0d('0x2'));var rp=require('request-promise');var moment=require(_0xdf0d('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xdf0d('0x4'));var util=require(_0xdf0d('0x5'));var path=require(_0xdf0d('0x6'));var sox=require(_0xdf0d('0x7'));var csv=require(_0xdf0d('0x8'));var ejs=require(_0xdf0d('0x9'));var fs=require('fs');var fs_extra=require(_0xdf0d('0xa'));var _=require('lodash');var squel=require(_0xdf0d('0xb'));var crypto=require(_0xdf0d('0xc'));var jsforce=require(_0xdf0d('0xd'));var deskjs=require(_0xdf0d('0xe'));var toCsv=require(_0xdf0d('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xdf0d('0xf'));var qs=require(_0xdf0d('0x10'));var as=require(_0xdf0d('0x11'));var hardwareService=require(_0xdf0d('0x12'));var logger=require('../../config/logger')(_0xdf0d('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xdf0d('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4a6d5f,_0x1a7793){_0x1a7793=_0x1a7793||0xcc;return function(_0x4746b9){if(_0x4746b9){return _0x4a6d5f['sendStatus'](_0x1a7793);}return _0x4a6d5f[_0xdf0d('0x15')](_0x1a7793)[_0xdf0d('0x16')]();};}function respondWithResult(_0x33d5ac,_0x67e298){_0x67e298=_0x67e298||0xc8;return function(_0x469d0d){if(_0x469d0d){return _0x33d5ac['status'](_0x67e298)[_0xdf0d('0x17')](_0x469d0d);}};}function respondWithFilteredResult(_0x39c6b8,_0x56009f){return function(_0x799849){if(_0x799849){var _0x1126b1=typeof _0x56009f[_0xdf0d('0x18')]===_0xdf0d('0x19')&&typeof _0x56009f['limit']==='undefined';var _0x24bfb5=_0x799849[_0xdf0d('0x1a')];var _0x5e6c6=_0x1126b1?0x0:_0x56009f['offset'];var _0x2ae043=_0x1126b1?_0x799849[_0xdf0d('0x1a')]:_0x56009f['offset']+_0x56009f[_0xdf0d('0x1b')];var _0x47fa51;if(_0x2ae043>=_0x24bfb5){_0x2ae043=_0x24bfb5;_0x47fa51=0xc8;}else{_0x47fa51=0xce;}_0x39c6b8[_0xdf0d('0x15')](_0x47fa51);return _0x39c6b8[_0xdf0d('0x1c')]('Content-Range',_0x5e6c6+'-'+_0x2ae043+'/'+_0x24bfb5)[_0xdf0d('0x17')](_0x799849);}return null;};}function patchUpdates(_0x11a653){return function(_0x155a72){try{jsonpatch['apply'](_0x155a72,_0x11a653,!![]);}catch(_0x2c7e3f){return BPromise[_0xdf0d('0x1d')](_0x2c7e3f);}return _0x155a72[_0xdf0d('0x1e')]();};}function saveUpdates(_0x845eee,_0x4e06fe){return function(_0x20be14){if(_0x20be14){return _0x20be14[_0xdf0d('0x1f')](_0x845eee)[_0xdf0d('0x20')](function(_0xcccc40){return _0xcccc40;});}return null;};}function removeEntity(_0x50d378,_0x3ee224){return function(_0x198ded){if(_0x198ded){return _0x198ded['destroy']()[_0xdf0d('0x20')](function(){_0x50d378[_0xdf0d('0x15')](0xcc)[_0xdf0d('0x16')]();});}};}function handleEntityNotFound(_0x14f1c8,_0x43ff61){return function(_0x149124){if(!_0x149124){_0x14f1c8[_0xdf0d('0x21')](0x194);}return _0x149124;};}function handleError(_0x44c35b,_0x18e370){_0x18e370=_0x18e370||0x1f4;return function(_0x1d367a){logger['error'](_0x1d367a[_0xdf0d('0x22')]);if(_0x1d367a[_0xdf0d('0x23')]){delete _0x1d367a[_0xdf0d('0x23')];}_0x44c35b['status'](_0x18e370)[_0xdf0d('0x24')](_0x1d367a);};}exports[_0xdf0d('0x25')]=function(_0x2cf200,_0x23a002){var _0x2f40f3={},_0x2dc07b={},_0x1c644e={'count':0x0,'rows':[]};var _0x209c50=_['map'](db['SalesforceConfiguration'][_0xdf0d('0x26')],function(_0x2fa3c7){return{'name':_0x2fa3c7[_0xdf0d('0x27')],'type':_0x2fa3c7['type']['key']};});_0x2dc07b[_0xdf0d('0x28')]=_[_0xdf0d('0x29')](_0x209c50,'name');_0x2dc07b['query']=_[_0xdf0d('0x2a')](_0x2cf200[_0xdf0d('0x2b')]);_0x2dc07b[_0xdf0d('0x2c')]=_[_0xdf0d('0x2d')](_0x2dc07b[_0xdf0d('0x28')],_0x2dc07b[_0xdf0d('0x2b')]);_0x2f40f3[_0xdf0d('0x2e')]=_[_0xdf0d('0x2d')](_0x2dc07b[_0xdf0d('0x28')],qs[_0xdf0d('0x2f')](_0x2cf200[_0xdf0d('0x2b')]['fields']));_0x2f40f3[_0xdf0d('0x2e')]=_0x2f40f3[_0xdf0d('0x2e')][_0xdf0d('0x30')]?_0x2f40f3[_0xdf0d('0x2e')]:_0x2dc07b[_0xdf0d('0x28')];if(!_0x2cf200[_0xdf0d('0x2b')]['hasOwnProperty'](_0xdf0d('0x31'))){_0x2f40f3[_0xdf0d('0x1b')]=qs[_0xdf0d('0x1b')](_0x2cf200['query'][_0xdf0d('0x1b')]);_0x2f40f3['offset']=qs[_0xdf0d('0x18')](_0x2cf200['query'][_0xdf0d('0x18')]);}_0x2f40f3[_0xdf0d('0x32')]=qs[_0xdf0d('0x33')](_0x2cf200[_0xdf0d('0x2b')]['sort']);_0x2f40f3['where']=qs[_0xdf0d('0x2c')](_[_0xdf0d('0x34')](_0x2cf200[_0xdf0d('0x2b')],_0x2dc07b[_0xdf0d('0x2c')]),_0x209c50);if(_0x2cf200[_0xdf0d('0x2b')][_0xdf0d('0x35')]){_0x2f40f3[_0xdf0d('0x36')]=_['merge'](_0x2f40f3[_0xdf0d('0x36')],{'$or':_[_0xdf0d('0x29')](_0x209c50,function(_0x11b499){if(_0x11b499[_0xdf0d('0x37')]!=='VIRTUAL'){var _0x390add={};_0x390add[_0x11b499[_0xdf0d('0x23')]]={'$like':'%'+_0x2cf200['query'][_0xdf0d('0x35')]+'%'};return _0x390add;}})});}_0x2f40f3=_[_0xdf0d('0x38')]({},_0x2f40f3,_0x2cf200[_0xdf0d('0x39')]);var _0x10a007={'where':_0x2f40f3[_0xdf0d('0x36')]};return db[_0xdf0d('0x3a')][_0xdf0d('0x1a')](_0x10a007)[_0xdf0d('0x20')](function(_0x52a470){_0x1c644e[_0xdf0d('0x1a')]=_0x52a470;if(_0x2cf200['query']['includeAll']){_0x2f40f3['include']=[{'all':!![]}];}return db[_0xdf0d('0x3a')]['findAll'](_0x2f40f3);})[_0xdf0d('0x20')](function(_0x26fec9){_0x1c644e[_0xdf0d('0x3b')]=_0x26fec9;return _0x1c644e;})[_0xdf0d('0x20')](respondWithFilteredResult(_0x23a002,_0x2f40f3))['catch'](handleError(_0x23a002,null));};exports['show']=function(_0x1f4f57,_0xd7d1be){var _0x1ebd12={'raw':![],'where':{'id':_0x1f4f57[_0xdf0d('0x3c')]['id']}},_0x3bfb69={};_0x3bfb69[_0xdf0d('0x28')]=_[_0xdf0d('0x2a')](db[_0xdf0d('0x3a')]['rawAttributes']);_0x3bfb69[_0xdf0d('0x2b')]=_['keys'](_0x1f4f57[_0xdf0d('0x2b')]);_0x3bfb69['filters']=_[_0xdf0d('0x2d')](_0x3bfb69[_0xdf0d('0x28')],_0x3bfb69['query']);_0x1ebd12[_0xdf0d('0x2e')]=_[_0xdf0d('0x2d')](_0x3bfb69[_0xdf0d('0x28')],qs[_0xdf0d('0x2f')](_0x1f4f57['query'][_0xdf0d('0x2f')]));_0x1ebd12[_0xdf0d('0x2e')]=_0x1ebd12['attributes'][_0xdf0d('0x30')]?_0x1ebd12['attributes']:_0x3bfb69['model'];if(_0x1f4f57[_0xdf0d('0x2b')][_0xdf0d('0x3d')]){_0x1ebd12['include']=[{'all':!![]}];}_0x1ebd12=_[_0xdf0d('0x38')]({},_0x1ebd12,_0x1f4f57['options']);return db[_0xdf0d('0x3a')][_0xdf0d('0x3e')](_0x1ebd12)['then'](handleEntityNotFound(_0xd7d1be,null))['then'](respondWithResult(_0xd7d1be,null))[_0xdf0d('0x3f')](handleError(_0xd7d1be,null));};exports[_0xdf0d('0x40')]=function(_0x5c9434,_0x4f5ca4){return db[_0xdf0d('0x3a')][_0xdf0d('0x40')](_0x5c9434[_0xdf0d('0x41')],{})[_0xdf0d('0x20')](respondWithResult(_0x4f5ca4,0xc9))[_0xdf0d('0x3f')](handleError(_0x4f5ca4,null));};exports[_0xdf0d('0x1f')]=function(_0x2cb312,_0x31a139){if(_0x2cb312[_0xdf0d('0x41')]['id']){delete _0x2cb312[_0xdf0d('0x41')]['id'];}return db[_0xdf0d('0x3a')][_0xdf0d('0x3e')]({'where':{'id':_0x2cb312[_0xdf0d('0x3c')]['id']}})[_0xdf0d('0x20')](handleEntityNotFound(_0x31a139,null))[_0xdf0d('0x20')](saveUpdates(_0x2cb312[_0xdf0d('0x41')],null))[_0xdf0d('0x20')](respondWithResult(_0x31a139,null))['catch'](handleError(_0x31a139,null));};exports['destroy']=function(_0x26ddd7,_0x28ccd8){return db[_0xdf0d('0x3a')][_0xdf0d('0x3e')]({'where':{'id':_0x26ddd7['params']['id']}})[_0xdf0d('0x20')](handleEntityNotFound(_0x28ccd8,null))[_0xdf0d('0x20')](removeEntity(_0x28ccd8,null))[_0xdf0d('0x3f')](handleError(_0x28ccd8,null));};exports[_0xdf0d('0x42')]=function(_0x5e4cfd,_0x35c391,_0x44debf){var _0x15816b={};var _0x10726e={};var _0x5ad44e;var _0x169c9e;return db[_0xdf0d('0x3a')][_0xdf0d('0x43')]({'where':{'id':_0x5e4cfd[_0xdf0d('0x3c')]['id']}})['then'](handleEntityNotFound(_0x35c391,null))[_0xdf0d('0x20')](function(_0xbfe604){if(_0xbfe604){_0x5ad44e=_0xbfe604;_0x10726e[_0xdf0d('0x28')]=_['keys'](db[_0xdf0d('0x44')][_0xdf0d('0x26')]);_0x10726e['query']=_[_0xdf0d('0x2a')](_0x5e4cfd[_0xdf0d('0x2b')]);_0x10726e[_0xdf0d('0x2c')]=_[_0xdf0d('0x2d')](_0x10726e['model'],_0x10726e['query']);_0x15816b[_0xdf0d('0x2e')]=_[_0xdf0d('0x2d')](_0x10726e[_0xdf0d('0x28')],qs[_0xdf0d('0x2f')](_0x5e4cfd[_0xdf0d('0x2b')]['fields']));_0x15816b[_0xdf0d('0x2e')]=_0x15816b[_0xdf0d('0x2e')]['length']?_0x15816b[_0xdf0d('0x2e')]:_0x10726e[_0xdf0d('0x28')];_0x15816b[_0xdf0d('0x32')]=qs['sort'](_0x5e4cfd['query'][_0xdf0d('0x33')]);_0x15816b[_0xdf0d('0x36')]=qs[_0xdf0d('0x2c')](_['pick'](_0x5e4cfd[_0xdf0d('0x2b')],_0x10726e['filters']));if(_0x5e4cfd[_0xdf0d('0x2b')][_0xdf0d('0x35')]){_0x15816b['where']=_['merge'](_0x15816b[_0xdf0d('0x36')],{'$or':_[_0xdf0d('0x29')](_0x15816b[_0xdf0d('0x2e')],function(_0x57c7ec){var _0x2035dd={};_0x2035dd[_0x57c7ec]={'$like':'%'+_0x5e4cfd[_0xdf0d('0x2b')][_0xdf0d('0x35')]+'%'};return _0x2035dd;})});}_0x15816b=_['merge']({},_0x15816b,_0x5e4cfd['options']);return _0x5ad44e[_0xdf0d('0x42')](_0x15816b);}})[_0xdf0d('0x20')](function(_0x29a01f){if(_0x29a01f){_0x169c9e=_0x29a01f[_0xdf0d('0x30')];if(!_0x5e4cfd[_0xdf0d('0x2b')]['hasOwnProperty'](_0xdf0d('0x31'))){_0x15816b[_0xdf0d('0x1b')]=qs[_0xdf0d('0x1b')](_0x5e4cfd['query'][_0xdf0d('0x1b')]);_0x15816b[_0xdf0d('0x18')]=qs['offset'](_0x5e4cfd['query'][_0xdf0d('0x18')]);}return _0x5ad44e[_0xdf0d('0x42')](_0x15816b);}})['then'](function(_0x4c0520){if(_0x4c0520){return _0x4c0520?{'count':_0x169c9e,'rows':_0x4c0520}:null;}})[_0xdf0d('0x20')](respondWithResult(_0x35c391,null))[_0xdf0d('0x3f')](handleError(_0x35c391,null));};exports['getSubjects']=function(_0x84c783,_0x68e039,_0x3ebf02){var _0x493b9b={};var _0x3a6eba={};var _0x28218c;var _0x5bfb5b;return db[_0xdf0d('0x3a')]['findOne']({'where':{'id':_0x84c783[_0xdf0d('0x3c')]['id']}})[_0xdf0d('0x20')](handleEntityNotFound(_0x68e039,null))[_0xdf0d('0x20')](function(_0x2c7643){if(_0x2c7643){_0x28218c=_0x2c7643;_0x3a6eba['model']=_[_0xdf0d('0x2a')](db[_0xdf0d('0x44')][_0xdf0d('0x26')]);_0x3a6eba[_0xdf0d('0x2b')]=_[_0xdf0d('0x2a')](_0x84c783[_0xdf0d('0x2b')]);_0x3a6eba[_0xdf0d('0x2c')]=_[_0xdf0d('0x2d')](_0x3a6eba[_0xdf0d('0x28')],_0x3a6eba[_0xdf0d('0x2b')]);_0x493b9b[_0xdf0d('0x2e')]=_[_0xdf0d('0x2d')](_0x3a6eba[_0xdf0d('0x28')],qs[_0xdf0d('0x2f')](_0x84c783['query']['fields']));_0x493b9b['attributes']=_0x493b9b[_0xdf0d('0x2e')][_0xdf0d('0x30')]?_0x493b9b[_0xdf0d('0x2e')]:_0x3a6eba[_0xdf0d('0x28')];_0x493b9b[_0xdf0d('0x32')]=qs[_0xdf0d('0x33')](_0x84c783[_0xdf0d('0x2b')][_0xdf0d('0x33')]);_0x493b9b[_0xdf0d('0x36')]=qs['filters'](_[_0xdf0d('0x34')](_0x84c783[_0xdf0d('0x2b')],_0x3a6eba['filters']));if(_0x84c783['query'][_0xdf0d('0x35')]){_0x493b9b['where']=_[_0xdf0d('0x38')](_0x493b9b[_0xdf0d('0x36')],{'$or':_[_0xdf0d('0x29')](_0x493b9b[_0xdf0d('0x2e')],function(_0x438301){var _0x122f72={};_0x122f72[_0x438301]={'$like':'%'+_0x84c783[_0xdf0d('0x2b')][_0xdf0d('0x35')]+'%'};return _0x122f72;})});}_0x493b9b=_['merge']({},_0x493b9b,_0x84c783[_0xdf0d('0x39')]);return _0x28218c[_0xdf0d('0x45')](_0x493b9b);}})[_0xdf0d('0x20')](function(_0x2ea581){if(_0x2ea581){_0x5bfb5b=_0x2ea581[_0xdf0d('0x30')];if(!_0x84c783['query'][_0xdf0d('0x46')](_0xdf0d('0x31'))){_0x493b9b[_0xdf0d('0x1b')]=qs[_0xdf0d('0x1b')](_0x84c783['query'][_0xdf0d('0x1b')]);_0x493b9b[_0xdf0d('0x18')]=qs['offset'](_0x84c783[_0xdf0d('0x2b')][_0xdf0d('0x18')]);}return _0x28218c[_0xdf0d('0x45')](_0x493b9b);}})[_0xdf0d('0x20')](function(_0x1099c2){if(_0x1099c2){return _0x1099c2?{'count':_0x5bfb5b,'rows':_0x1099c2}:null;}})['then'](respondWithResult(_0x68e039,null))[_0xdf0d('0x3f')](handleError(_0x68e039,null));};exports[_0xdf0d('0x47')]=function(_0x592a36,_0x51ad1c,_0x3e6553){var _0x4cd6cd={};var _0x2c1e81={};var _0xf77bc8;var _0x553224;return db[_0xdf0d('0x3a')]['findOne']({'where':{'id':_0x592a36[_0xdf0d('0x3c')]['id']}})['then'](handleEntityNotFound(_0x51ad1c,null))[_0xdf0d('0x20')](function(_0x29a2f5){if(_0x29a2f5){_0xf77bc8=_0x29a2f5;_0x2c1e81[_0xdf0d('0x28')]=_[_0xdf0d('0x2a')](db[_0xdf0d('0x44')][_0xdf0d('0x26')]);_0x2c1e81['query']=_[_0xdf0d('0x2a')](_0x592a36['query']);_0x2c1e81['filters']=_['intersection'](_0x2c1e81['model'],_0x2c1e81[_0xdf0d('0x2b')]);_0x4cd6cd[_0xdf0d('0x2e')]=_[_0xdf0d('0x2d')](_0x2c1e81[_0xdf0d('0x28')],qs[_0xdf0d('0x2f')](_0x592a36[_0xdf0d('0x2b')]['fields']));_0x4cd6cd[_0xdf0d('0x2e')]=_0x4cd6cd[_0xdf0d('0x2e')][_0xdf0d('0x30')]?_0x4cd6cd[_0xdf0d('0x2e')]:_0x2c1e81[_0xdf0d('0x28')];_0x4cd6cd['order']=qs[_0xdf0d('0x33')](_0x592a36[_0xdf0d('0x2b')][_0xdf0d('0x33')]);_0x4cd6cd[_0xdf0d('0x36')]=qs['filters'](_[_0xdf0d('0x34')](_0x592a36[_0xdf0d('0x2b')],_0x2c1e81['filters']));if(_0x592a36[_0xdf0d('0x2b')][_0xdf0d('0x35')]){_0x4cd6cd[_0xdf0d('0x36')]=_['merge'](_0x4cd6cd[_0xdf0d('0x36')],{'$or':_[_0xdf0d('0x29')](_0x4cd6cd[_0xdf0d('0x2e')],function(_0x1edc7f){var _0xe3669b={};_0xe3669b[_0x1edc7f]={'$like':'%'+_0x592a36[_0xdf0d('0x2b')]['filter']+'%'};return _0xe3669b;})});}_0x4cd6cd=_[_0xdf0d('0x38')]({},_0x4cd6cd,_0x592a36[_0xdf0d('0x39')]);return _0xf77bc8['getDescriptions'](_0x4cd6cd);}})[_0xdf0d('0x20')](function(_0x27e501){if(_0x27e501){_0x553224=_0x27e501['length'];if(!_0x592a36['query'][_0xdf0d('0x46')](_0xdf0d('0x31'))){_0x4cd6cd[_0xdf0d('0x1b')]=qs[_0xdf0d('0x1b')](_0x592a36[_0xdf0d('0x2b')][_0xdf0d('0x1b')]);_0x4cd6cd[_0xdf0d('0x18')]=qs['offset'](_0x592a36['query'][_0xdf0d('0x18')]);}return _0xf77bc8[_0xdf0d('0x47')](_0x4cd6cd);}})[_0xdf0d('0x20')](function(_0x3da23f){if(_0x3da23f){return _0x3da23f?{'count':_0x553224,'rows':_0x3da23f}:null;}})[_0xdf0d('0x20')](respondWithResult(_0x51ad1c,null))[_0xdf0d('0x3f')](handleError(_0x51ad1c,null));};