Built motion from commit 4fa9d4a7.|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 _0xaa5c=['SalesforceConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','show','params','include','options','body','getFields','SalesforceField','length','getSubjects','getDescriptions','findOne','eml-format','rimraf','zip-dir','fast-json-patch','util','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','apply','reject','save','update','destroy','then','error','stack','name','send','map'];(function(_0x4c45ec,_0x2a6550){var _0x21dd42=function(_0x19e142){while(--_0x19e142){_0x4c45ec['push'](_0x4c45ec['shift']());}};_0x21dd42(++_0x2a6550);}(_0xaa5c,0x1f2));var _0xcaa5=function(_0x572e27,_0x23145f){_0x572e27=_0x572e27-0x0;var _0x4884f3=_0xaa5c[_0x572e27];return _0x4884f3;};'use strict';var emlformat=require(_0xcaa5('0x0'));var rimraf=require(_0xcaa5('0x1'));var zipdir=require(_0xcaa5('0x2'));var jsonpatch=require(_0xcaa5('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xcaa5('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0xcaa5('0x5'));var ejs=require(_0xcaa5('0x6'));var fs=require('fs');var fs_extra=require(_0xcaa5('0x7'));var _=require('lodash');var squel=require(_0xcaa5('0x8'));var crypto=require(_0xcaa5('0x9'));var jsforce=require(_0xcaa5('0xa'));var deskjs=require(_0xcaa5('0xb'));var toCsv=require('to-csv');var querystring=require(_0xcaa5('0xc'));var Papa=require(_0xcaa5('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xcaa5('0xe'));var as=require(_0xcaa5('0xf'));var hardwareService=require(_0xcaa5('0x10'));var logger=require('../../config/logger')(_0xcaa5('0x11'));var utils=require('../../config/utils');var config=require(_0xcaa5('0x12'));var licenseUtil=require(_0xcaa5('0x13'));var db=require(_0xcaa5('0x14'))['db'];function respondWithStatusCode(_0x3b8783,_0x16bb6d){_0x16bb6d=_0x16bb6d||0xcc;return function(_0xbf4c57){if(_0xbf4c57){return _0x3b8783[_0xcaa5('0x15')](_0x16bb6d);}return _0x3b8783['status'](_0x16bb6d)[_0xcaa5('0x16')]();};}function respondWithResult(_0x240651,_0x474770){_0x474770=_0x474770||0xc8;return function(_0x295c9f){if(_0x295c9f){return _0x240651[_0xcaa5('0x17')](_0x474770)[_0xcaa5('0x18')](_0x295c9f);}};}function respondWithFilteredResult(_0x3e1c8e,_0xa2c6b6){return function(_0x8b7ad5){if(_0x8b7ad5){var _0x53e67f=typeof _0xa2c6b6[_0xcaa5('0x19')]==='undefined'&&typeof _0xa2c6b6[_0xcaa5('0x1a')]===_0xcaa5('0x1b');var _0x5ac8e5=_0x8b7ad5[_0xcaa5('0x1c')];var _0x2dae23=_0x53e67f?0x0:_0xa2c6b6[_0xcaa5('0x19')];var _0x7dad0b=_0x53e67f?_0x8b7ad5[_0xcaa5('0x1c')]:_0xa2c6b6['offset']+_0xa2c6b6[_0xcaa5('0x1a')];var _0x4470c1;if(_0x7dad0b>=_0x5ac8e5){_0x7dad0b=_0x5ac8e5;_0x4470c1=0xc8;}else{_0x4470c1=0xce;}_0x3e1c8e[_0xcaa5('0x17')](_0x4470c1);return _0x3e1c8e[_0xcaa5('0x1d')]('Content-Range',_0x2dae23+'-'+_0x7dad0b+'/'+_0x5ac8e5)[_0xcaa5('0x18')](_0x8b7ad5);}return null;};}function patchUpdates(_0x581ff8){return function(_0x93f6d4){try{jsonpatch[_0xcaa5('0x1e')](_0x93f6d4,_0x581ff8,!![]);}catch(_0xeca790){return BPromise[_0xcaa5('0x1f')](_0xeca790);}return _0x93f6d4[_0xcaa5('0x20')]();};}function saveUpdates(_0x52ca18,_0x48b8ee){return function(_0x51be62){if(_0x51be62){return _0x51be62[_0xcaa5('0x21')](_0x52ca18)['then'](function(_0x1ba266){return _0x1ba266;});}return null;};}function removeEntity(_0x5075ac,_0x39fb88){return function(_0x554027){if(_0x554027){return _0x554027[_0xcaa5('0x22')]()[_0xcaa5('0x23')](function(){_0x5075ac[_0xcaa5('0x17')](0xcc)[_0xcaa5('0x16')]();});}};}function handleEntityNotFound(_0x5c7693,_0xe4ae3b){return function(_0x51f0f0){if(!_0x51f0f0){_0x5c7693[_0xcaa5('0x15')](0x194);}return _0x51f0f0;};}function handleError(_0x57e076,_0x3b3c71){_0x3b3c71=_0x3b3c71||0x1f4;return function(_0x37d922){logger[_0xcaa5('0x24')](_0x37d922[_0xcaa5('0x25')]);if(_0x37d922[_0xcaa5('0x26')]){delete _0x37d922[_0xcaa5('0x26')];}_0x57e076[_0xcaa5('0x17')](_0x3b3c71)[_0xcaa5('0x27')](_0x37d922);};}exports['index']=function(_0x4c356d,_0x2f1420){var _0x3edb25={},_0x2d58f9={},_0x5c49fd={'count':0x0,'rows':[]};var _0x56db73=_[_0xcaa5('0x28')](db[_0xcaa5('0x29')][_0xcaa5('0x2a')],function(_0xe549d7){return{'name':_0xe549d7[_0xcaa5('0x2b')],'type':_0xe549d7[_0xcaa5('0x2c')][_0xcaa5('0x2d')]};});_0x2d58f9[_0xcaa5('0x2e')]=_[_0xcaa5('0x28')](_0x56db73,'name');_0x2d58f9[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0x4c356d[_0xcaa5('0x2f')]);_0x2d58f9[_0xcaa5('0x31')]=_['intersection'](_0x2d58f9[_0xcaa5('0x2e')],_0x2d58f9['query']);_0x3edb25[_0xcaa5('0x32')]=_[_0xcaa5('0x33')](_0x2d58f9[_0xcaa5('0x2e')],qs['fields'](_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x34')]));_0x3edb25[_0xcaa5('0x32')]=_0x3edb25[_0xcaa5('0x32')]['length']?_0x3edb25[_0xcaa5('0x32')]:_0x2d58f9[_0xcaa5('0x2e')];if(!_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x35')](_0xcaa5('0x36'))){_0x3edb25['limit']=qs['limit'](_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x1a')]);_0x3edb25[_0xcaa5('0x19')]=qs['offset'](_0x4c356d[_0xcaa5('0x2f')]['offset']);}_0x3edb25[_0xcaa5('0x37')]=qs[_0xcaa5('0x38')](_0x4c356d['query'][_0xcaa5('0x38')]);_0x3edb25[_0xcaa5('0x39')]=qs[_0xcaa5('0x31')](_[_0xcaa5('0x3a')](_0x4c356d['query'],_0x2d58f9[_0xcaa5('0x31')]),_0x56db73);if(_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x3b')]){_0x3edb25[_0xcaa5('0x39')]=_[_0xcaa5('0x3c')](_0x3edb25[_0xcaa5('0x39')],{'$or':_[_0xcaa5('0x28')](_0x56db73,function(_0x32b556){if(_0x32b556['type']!==_0xcaa5('0x3d')){var _0x3c024b={};_0x3c024b[_0x32b556[_0xcaa5('0x26')]]={'$like':'%'+_0x4c356d[_0xcaa5('0x2f')]['filter']+'%'};return _0x3c024b;}})});}_0x3edb25=_[_0xcaa5('0x3c')]({},_0x3edb25,_0x4c356d['options']);var _0x1fd607={'where':_0x3edb25[_0xcaa5('0x39')]};return db['SalesforceConfiguration'][_0xcaa5('0x1c')](_0x1fd607)[_0xcaa5('0x23')](function(_0x130c90){_0x5c49fd[_0xcaa5('0x1c')]=_0x130c90;if(_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x3e')]){_0x3edb25['include']=[{'all':!![]}];}return db[_0xcaa5('0x29')][_0xcaa5('0x3f')](_0x3edb25);})[_0xcaa5('0x23')](function(_0x3e9b40){_0x5c49fd[_0xcaa5('0x40')]=_0x3e9b40;return _0x5c49fd;})[_0xcaa5('0x23')](respondWithFilteredResult(_0x2f1420,_0x3edb25))[_0xcaa5('0x41')](handleError(_0x2f1420,null));};exports[_0xcaa5('0x42')]=function(_0x12ea07,_0x22313c){var _0x29f93a={'raw':![],'where':{'id':_0x12ea07[_0xcaa5('0x43')]['id']}},_0x81887c={};_0x81887c[_0xcaa5('0x2e')]=_['keys'](db[_0xcaa5('0x29')]['rawAttributes']);_0x81887c[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0x12ea07[_0xcaa5('0x2f')]);_0x81887c[_0xcaa5('0x31')]=_['intersection'](_0x81887c[_0xcaa5('0x2e')],_0x81887c[_0xcaa5('0x2f')]);_0x29f93a[_0xcaa5('0x32')]=_[_0xcaa5('0x33')](_0x81887c[_0xcaa5('0x2e')],qs[_0xcaa5('0x34')](_0x12ea07[_0xcaa5('0x2f')][_0xcaa5('0x34')]));_0x29f93a['attributes']=_0x29f93a[_0xcaa5('0x32')]['length']?_0x29f93a[_0xcaa5('0x32')]:_0x81887c[_0xcaa5('0x2e')];if(_0x12ea07[_0xcaa5('0x2f')][_0xcaa5('0x3e')]){_0x29f93a[_0xcaa5('0x44')]=[{'all':!![]}];}_0x29f93a=_[_0xcaa5('0x3c')]({},_0x29f93a,_0x12ea07[_0xcaa5('0x45')]);return db[_0xcaa5('0x29')]['find'](_0x29f93a)[_0xcaa5('0x23')](handleEntityNotFound(_0x22313c,null))[_0xcaa5('0x23')](respondWithResult(_0x22313c,null))[_0xcaa5('0x41')](handleError(_0x22313c,null));};exports['create']=function(_0x2ab2a1,_0x2424f6){return db[_0xcaa5('0x29')]['create'](_0x2ab2a1[_0xcaa5('0x46')],{})[_0xcaa5('0x23')](respondWithResult(_0x2424f6,0xc9))[_0xcaa5('0x41')](handleError(_0x2424f6,null));};exports[_0xcaa5('0x21')]=function(_0x2fcb89,_0x9ccb2f){if(_0x2fcb89[_0xcaa5('0x46')]['id']){delete _0x2fcb89['body']['id'];}return db[_0xcaa5('0x29')]['find']({'where':{'id':_0x2fcb89[_0xcaa5('0x43')]['id']}})['then'](handleEntityNotFound(_0x9ccb2f,null))[_0xcaa5('0x23')](saveUpdates(_0x2fcb89[_0xcaa5('0x46')],null))[_0xcaa5('0x23')](respondWithResult(_0x9ccb2f,null))[_0xcaa5('0x41')](handleError(_0x9ccb2f,null));};exports[_0xcaa5('0x22')]=function(_0x42263b,_0x1ddd15){return db[_0xcaa5('0x29')]['find']({'where':{'id':_0x42263b[_0xcaa5('0x43')]['id']}})[_0xcaa5('0x23')](handleEntityNotFound(_0x1ddd15,null))[_0xcaa5('0x23')](removeEntity(_0x1ddd15,null))[_0xcaa5('0x41')](handleError(_0x1ddd15,null));};exports[_0xcaa5('0x47')]=function(_0x44f35e,_0x2c6aae,_0x16c98a){var _0x4b1727={};var _0x24fc3c={};var _0x2fd3bb;var _0x2c2c8c;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0x44f35e['params']['id']}})['then'](handleEntityNotFound(_0x2c6aae,null))['then'](function(_0x515866){if(_0x515866){_0x2fd3bb=_0x515866;_0x24fc3c[_0xcaa5('0x2e')]=_[_0xcaa5('0x30')](db[_0xcaa5('0x48')][_0xcaa5('0x2a')]);_0x24fc3c[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0x44f35e[_0xcaa5('0x2f')]);_0x24fc3c[_0xcaa5('0x31')]=_[_0xcaa5('0x33')](_0x24fc3c[_0xcaa5('0x2e')],_0x24fc3c[_0xcaa5('0x2f')]);_0x4b1727[_0xcaa5('0x32')]=_[_0xcaa5('0x33')](_0x24fc3c[_0xcaa5('0x2e')],qs[_0xcaa5('0x34')](_0x44f35e[_0xcaa5('0x2f')][_0xcaa5('0x34')]));_0x4b1727['attributes']=_0x4b1727['attributes'][_0xcaa5('0x49')]?_0x4b1727[_0xcaa5('0x32')]:_0x24fc3c['model'];_0x4b1727[_0xcaa5('0x37')]=qs[_0xcaa5('0x38')](_0x44f35e[_0xcaa5('0x2f')][_0xcaa5('0x38')]);_0x4b1727[_0xcaa5('0x39')]=qs[_0xcaa5('0x31')](_[_0xcaa5('0x3a')](_0x44f35e['query'],_0x24fc3c[_0xcaa5('0x31')]));if(_0x44f35e['query'][_0xcaa5('0x3b')]){_0x4b1727[_0xcaa5('0x39')]=_['merge'](_0x4b1727[_0xcaa5('0x39')],{'$or':_[_0xcaa5('0x28')](_0x4b1727[_0xcaa5('0x32')],function(_0x9488e6){var _0x27fe0e={};_0x27fe0e[_0x9488e6]={'$like':'%'+_0x44f35e[_0xcaa5('0x2f')][_0xcaa5('0x3b')]+'%'};return _0x27fe0e;})});}_0x4b1727=_[_0xcaa5('0x3c')]({},_0x4b1727,_0x44f35e[_0xcaa5('0x45')]);return _0x2fd3bb['getFields'](_0x4b1727);}})[_0xcaa5('0x23')](function(_0x43a42e){if(_0x43a42e){_0x2c2c8c=_0x43a42e['length'];if(!_0x44f35e['query']['hasOwnProperty']('nolimit')){_0x4b1727[_0xcaa5('0x1a')]=qs['limit'](_0x44f35e[_0xcaa5('0x2f')][_0xcaa5('0x1a')]);_0x4b1727[_0xcaa5('0x19')]=qs[_0xcaa5('0x19')](_0x44f35e[_0xcaa5('0x2f')]['offset']);}return _0x2fd3bb['getFields'](_0x4b1727);}})[_0xcaa5('0x23')](function(_0x4ab2ba){if(_0x4ab2ba){return _0x4ab2ba?{'count':_0x2c2c8c,'rows':_0x4ab2ba}:null;}})['then'](respondWithResult(_0x2c6aae,null))[_0xcaa5('0x41')](handleError(_0x2c6aae,null));};exports[_0xcaa5('0x4a')]=function(_0xc8769f,_0x5c4900,_0x3fd94d){var _0x2fa80e={};var _0x3ca015={};var _0x1e32bf;var _0x404288;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0xc8769f[_0xcaa5('0x43')]['id']}})['then'](handleEntityNotFound(_0x5c4900,null))['then'](function(_0x6eb82b){if(_0x6eb82b){_0x1e32bf=_0x6eb82b;_0x3ca015[_0xcaa5('0x2e')]=_[_0xcaa5('0x30')](db['SalesforceField'][_0xcaa5('0x2a')]);_0x3ca015[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0xc8769f[_0xcaa5('0x2f')]);_0x3ca015[_0xcaa5('0x31')]=_[_0xcaa5('0x33')](_0x3ca015[_0xcaa5('0x2e')],_0x3ca015['query']);_0x2fa80e['attributes']=_[_0xcaa5('0x33')](_0x3ca015[_0xcaa5('0x2e')],qs[_0xcaa5('0x34')](_0xc8769f[_0xcaa5('0x2f')]['fields']));_0x2fa80e[_0xcaa5('0x32')]=_0x2fa80e[_0xcaa5('0x32')][_0xcaa5('0x49')]?_0x2fa80e[_0xcaa5('0x32')]:_0x3ca015[_0xcaa5('0x2e')];_0x2fa80e[_0xcaa5('0x37')]=qs[_0xcaa5('0x38')](_0xc8769f['query'][_0xcaa5('0x38')]);_0x2fa80e['where']=qs[_0xcaa5('0x31')](_[_0xcaa5('0x3a')](_0xc8769f[_0xcaa5('0x2f')],_0x3ca015[_0xcaa5('0x31')]));if(_0xc8769f[_0xcaa5('0x2f')]['filter']){_0x2fa80e[_0xcaa5('0x39')]=_[_0xcaa5('0x3c')](_0x2fa80e[_0xcaa5('0x39')],{'$or':_['map'](_0x2fa80e[_0xcaa5('0x32')],function(_0x172b41){var _0x5db272={};_0x5db272[_0x172b41]={'$like':'%'+_0xc8769f[_0xcaa5('0x2f')]['filter']+'%'};return _0x5db272;})});}_0x2fa80e=_['merge']({},_0x2fa80e,_0xc8769f[_0xcaa5('0x45')]);return _0x1e32bf[_0xcaa5('0x4a')](_0x2fa80e);}})[_0xcaa5('0x23')](function(_0x45cc95){if(_0x45cc95){_0x404288=_0x45cc95['length'];if(!_0xc8769f[_0xcaa5('0x2f')]['hasOwnProperty'](_0xcaa5('0x36'))){_0x2fa80e[_0xcaa5('0x1a')]=qs[_0xcaa5('0x1a')](_0xc8769f[_0xcaa5('0x2f')][_0xcaa5('0x1a')]);_0x2fa80e[_0xcaa5('0x19')]=qs[_0xcaa5('0x19')](_0xc8769f['query'][_0xcaa5('0x19')]);}return _0x1e32bf[_0xcaa5('0x4a')](_0x2fa80e);}})[_0xcaa5('0x23')](function(_0x3f5670){if(_0x3f5670){return _0x3f5670?{'count':_0x404288,'rows':_0x3f5670}:null;}})['then'](respondWithResult(_0x5c4900,null))[_0xcaa5('0x41')](handleError(_0x5c4900,null));};exports[_0xcaa5('0x4b')]=function(_0x48ce6e,_0x26619b,_0xc4d0d2){var _0x48389a={};var _0x47d412={};var _0x466fc2;var _0x4cc08f;return db[_0xcaa5('0x29')][_0xcaa5('0x4c')]({'where':{'id':_0x48ce6e[_0xcaa5('0x43')]['id']}})[_0xcaa5('0x23')](handleEntityNotFound(_0x26619b,null))[_0xcaa5('0x23')](function(_0x4b7667){if(_0x4b7667){_0x466fc2=_0x4b7667;_0x47d412[_0xcaa5('0x2e')]=_[_0xcaa5('0x30')](db[_0xcaa5('0x48')][_0xcaa5('0x2a')]);_0x47d412[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0x48ce6e[_0xcaa5('0x2f')]);_0x47d412[_0xcaa5('0x31')]=_[_0xcaa5('0x33')](_0x47d412[_0xcaa5('0x2e')],_0x47d412['query']);_0x48389a[_0xcaa5('0x32')]=_[_0xcaa5('0x33')](_0x47d412['model'],qs[_0xcaa5('0x34')](_0x48ce6e[_0xcaa5('0x2f')][_0xcaa5('0x34')]));_0x48389a[_0xcaa5('0x32')]=_0x48389a[_0xcaa5('0x32')][_0xcaa5('0x49')]?_0x48389a[_0xcaa5('0x32')]:_0x47d412[_0xcaa5('0x2e')];_0x48389a[_0xcaa5('0x37')]=qs['sort'](_0x48ce6e[_0xcaa5('0x2f')]['sort']);_0x48389a[_0xcaa5('0x39')]=qs[_0xcaa5('0x31')](_[_0xcaa5('0x3a')](_0x48ce6e[_0xcaa5('0x2f')],_0x47d412[_0xcaa5('0x31')]));if(_0x48ce6e['query']['filter']){_0x48389a[_0xcaa5('0x39')]=_['merge'](_0x48389a[_0xcaa5('0x39')],{'$or':_[_0xcaa5('0x28')](_0x48389a['attributes'],function(_0x21bc3f){var _0x37a8a4={};_0x37a8a4[_0x21bc3f]={'$like':'%'+_0x48ce6e[_0xcaa5('0x2f')][_0xcaa5('0x3b')]+'%'};return _0x37a8a4;})});}_0x48389a=_[_0xcaa5('0x3c')]({},_0x48389a,_0x48ce6e['options']);return _0x466fc2[_0xcaa5('0x4b')](_0x48389a);}})[_0xcaa5('0x23')](function(_0x471129){if(_0x471129){_0x4cc08f=_0x471129[_0xcaa5('0x49')];if(!_0x48ce6e[_0xcaa5('0x2f')]['hasOwnProperty'](_0xcaa5('0x36'))){_0x48389a[_0xcaa5('0x1a')]=qs[_0xcaa5('0x1a')](_0x48ce6e[_0xcaa5('0x2f')][_0xcaa5('0x1a')]);_0x48389a[_0xcaa5('0x19')]=qs[_0xcaa5('0x19')](_0x48ce6e[_0xcaa5('0x2f')][_0xcaa5('0x19')]);}return _0x466fc2['getDescriptions'](_0x48389a);}})[_0xcaa5('0x23')](function(_0x45e620){if(_0x45e620){return _0x45e620?{'count':_0x4cc08f,'rows':_0x45e620}:null;}})['then'](respondWithResult(_0x26619b,null))[_0xcaa5('0x41')](handleError(_0x26619b,null));};