4d0747bd0389ec2c8f9b9fc8d18249fe7d033d90
[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 _0x948c=['keys','query','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','params','fields','find','create','body','getFields','findOne','SalesforceField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','jayson/promise','client','http','request','then','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','SalesforceConfiguration,\x20%s,\x20%s','result','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','type','model'];(function(_0x48a5ac,_0x1a9d81){var _0x1f0644=function(_0x26b220){while(--_0x26b220){_0x48a5ac['push'](_0x48a5ac['shift']());}};_0x1f0644(++_0x1a9d81);}(_0x948c,0x74));var _0xc948=function(_0x1ea726,_0x2eed82){_0x1ea726=_0x1ea726-0x0;var _0x24af9e=_0x948c[_0x1ea726];return _0x24af9e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc948('0x0'));var rimraf=require(_0xc948('0x1'));var zipdir=require(_0xc948('0x2'));var jsonpatch=require(_0xc948('0x3'));var rp=require(_0xc948('0x4'));var moment=require(_0xc948('0x5'));var BPromise=require(_0xc948('0x6'));var Mustache=require(_0xc948('0x7'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xc948('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xc948('0x9'));var squel=require('squel');var crypto=require(_0xc948('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xc948('0x8'));var querystring=require(_0xc948('0xb'));var Papa=require(_0xc948('0xc'));var Redis=require(_0xc948('0xd'));var authService=require(_0xc948('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc948('0xf'));var logger=require(_0xc948('0x10'))(_0xc948('0x11'));var utils=require(_0xc948('0x12'));var config=require(_0xc948('0x13'));var licenseUtil=require(_0xc948('0x14'));var db=require('../../mysqldb')['db'];var jayson=require(_0xc948('0x15'));var client=jayson[_0xc948('0x16')][_0xc948('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x3db622,_0x4acb8e,_0x4910af,_0x335e68){return new BPromise(function(_0x5cb933,_0x555a8d){var _0x11e7fd=_0x335e68||client;return _0x11e7fd[_0xc948('0x18')](_0x3db622,_0x4910af)[_0xc948('0x19')](function(_0x4d05f1){logger['info']('SalesforceConfiguration,\x20%s,\x20%s',_0x4acb8e,_0xc948('0x1a'));logger[_0xc948('0x1b')](_0xc948('0x1c'),_0x4acb8e,_0xc948('0x1a'),JSON[_0xc948('0x1d')](_0x4d05f1));if(_0x4d05f1[_0xc948('0x1e')]){if(_0x4d05f1[_0xc948('0x1e')][_0xc948('0x1f')]===0x1f4){logger[_0xc948('0x1e')]('SalesforceConfiguration,\x20%s,\x20%s',_0x4acb8e,_0x4d05f1[_0xc948('0x1e')]['message']);return _0x555a8d(_0x4d05f1[_0xc948('0x1e')][_0xc948('0x20')]);}logger[_0xc948('0x1e')](_0xc948('0x21'),_0x4acb8e,_0x4d05f1[_0xc948('0x1e')][_0xc948('0x20')]);return _0x5cb933(_0x4d05f1[_0xc948('0x1e')][_0xc948('0x20')]);}else{logger['info'](_0xc948('0x21'),_0x4acb8e,_0xc948('0x1a'));_0x5cb933(_0x4d05f1[_0xc948('0x22')][_0xc948('0x20')]);}})['catch'](function(_0x15fd82){logger[_0xc948('0x1e')](_0xc948('0x21'),_0x4acb8e,_0x15fd82);_0x555a8d(_0x15fd82);});});}function respondWithStatusCode(_0x1fcfbc,_0x212fb6){_0x212fb6=_0x212fb6||0xcc;return function(_0xa25aee){if(_0xa25aee){return _0x1fcfbc[_0xc948('0x23')](_0x212fb6);}return _0x1fcfbc[_0xc948('0x24')](_0x212fb6)[_0xc948('0x25')]();};}function respondWithResult(_0x54546b,_0x3a8cd1){_0x3a8cd1=_0x3a8cd1||0xc8;return function(_0x504f28){if(_0x504f28){return _0x54546b[_0xc948('0x24')](_0x3a8cd1)[_0xc948('0x26')](_0x504f28);}};}function respondWithFilteredResult(_0x54cd6f,_0x3e55cf){return function(_0x2621a0){if(_0x2621a0){var _0x5b2653=_0x2621a0[_0xc948('0x27')],_0x3b1531=_0x3e55cf['offset'],_0x399ee7=_0x3e55cf[_0xc948('0x28')]+_0x3e55cf[_0xc948('0x29')],_0x49501a;if(_0x399ee7>=_0x5b2653){_0x399ee7=_0x5b2653;_0x49501a=0xc8;}else{_0x49501a=0xce;}_0x54cd6f[_0xc948('0x24')](_0x49501a);return _0x54cd6f['set'](_0xc948('0x2a'),_0x3b1531+'-'+_0x399ee7+'/'+_0x5b2653)[_0xc948('0x26')](_0x2621a0);}return null;};}function patchUpdates(_0x3fe634){return function(_0xeef976){try{jsonpatch[_0xc948('0x2b')](_0xeef976,_0x3fe634,!![]);}catch(_0x36ffbc){return BPromise[_0xc948('0x2c')](_0x36ffbc);}return _0xeef976[_0xc948('0x2d')]();};}function saveUpdates(_0x5e105e,_0x5682d){return function(_0x14aa7c){if(_0x14aa7c){return _0x14aa7c[_0xc948('0x2e')](_0x5e105e)[_0xc948('0x19')](function(_0x13d396){return _0x13d396;});}return null;};}function removeEntity(_0x45c652,_0xd522ad){return function(_0x1d005d){if(_0x1d005d){return _0x1d005d['destroy']()[_0xc948('0x19')](function(){_0x45c652[_0xc948('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3be8e5,_0x1d3a1c){return function(_0x57a622){if(!_0x57a622){_0x3be8e5[_0xc948('0x23')](0x194);}return _0x57a622;};}function handleError(_0x407027,_0x441eac){_0x441eac=_0x441eac||0x1f4;return function(_0x3eb418){logger[_0xc948('0x1e')](_0x3eb418[_0xc948('0x2f')]);if(_0x3eb418[_0xc948('0x30')]){delete _0x3eb418[_0xc948('0x30')];}_0x407027[_0xc948('0x24')](_0x441eac)[_0xc948('0x31')](_0x3eb418);};}exports[_0xc948('0x32')]=function(_0x3418ff,_0x5f009f){var _0x177c5a={},_0x419725={},_0x40d724={'count':0x0,'rows':[]};var _0x5bb521=_[_0xc948('0x33')](db[_0xc948('0x34')][_0xc948('0x35')],function(_0x23d8da){return{'name':_0x23d8da['fieldName'],'type':_0x23d8da[_0xc948('0x36')]['key']};});_0x419725[_0xc948('0x37')]=_[_0xc948('0x33')](_0x5bb521,'name');_0x419725['query']=_[_0xc948('0x38')](_0x3418ff[_0xc948('0x39')]);_0x419725[_0xc948('0x3a')]=_[_0xc948('0x3b')](_0x419725[_0xc948('0x37')],_0x419725[_0xc948('0x39')]);_0x177c5a[_0xc948('0x3c')]=_[_0xc948('0x3b')](_0x419725[_0xc948('0x37')],qs['fields'](_0x3418ff[_0xc948('0x39')]['fields']));_0x177c5a[_0xc948('0x3c')]=_0x177c5a[_0xc948('0x3c')][_0xc948('0x3d')]?_0x177c5a['attributes']:_0x419725[_0xc948('0x37')];if(!_0x3418ff[_0xc948('0x39')][_0xc948('0x3e')](_0xc948('0x3f'))){_0x177c5a[_0xc948('0x29')]=qs[_0xc948('0x29')](_0x3418ff['query'][_0xc948('0x29')]);_0x177c5a[_0xc948('0x28')]=qs[_0xc948('0x28')](_0x3418ff[_0xc948('0x39')]['offset']);}_0x177c5a[_0xc948('0x40')]=qs[_0xc948('0x41')](_0x3418ff[_0xc948('0x39')][_0xc948('0x41')]);_0x177c5a[_0xc948('0x42')]=qs[_0xc948('0x3a')](_[_0xc948('0x43')](_0x3418ff[_0xc948('0x39')],_0x419725[_0xc948('0x3a')]),_0x5bb521);if(_0x3418ff[_0xc948('0x39')][_0xc948('0x44')]){_0x177c5a[_0xc948('0x42')]=_[_0xc948('0x45')](_0x177c5a[_0xc948('0x42')],{'$or':_[_0xc948('0x33')](_0x5bb521,function(_0x444b41){if(_0x444b41[_0xc948('0x36')]!=='VIRTUAL'){var _0x33a1e1={};_0x33a1e1[_0x444b41[_0xc948('0x30')]]={'$like':'%'+_0x3418ff[_0xc948('0x39')][_0xc948('0x44')]+'%'};return _0x33a1e1;}})});}_0x177c5a=_['merge']({},_0x177c5a,_0x3418ff[_0xc948('0x46')]);var _0x159630={'where':_0x177c5a[_0xc948('0x42')]};return db['SalesforceConfiguration'][_0xc948('0x27')](_0x159630)[_0xc948('0x19')](function(_0x248e00){_0x40d724[_0xc948('0x27')]=_0x248e00;if(_0x3418ff['query'][_0xc948('0x47')]){_0x177c5a[_0xc948('0x48')]=[{'all':!![]}];}return db[_0xc948('0x34')][_0xc948('0x49')](_0x177c5a);})[_0xc948('0x19')](function(_0x322a3b){_0x40d724['rows']=_0x322a3b;return _0x40d724;})[_0xc948('0x19')](respondWithFilteredResult(_0x5f009f,_0x177c5a))[_0xc948('0x4a')](handleError(_0x5f009f,null));};exports[_0xc948('0x4b')]=function(_0xec9cd5,_0x48c548){var _0x4c2c65={'raw':![],'where':{'id':_0xec9cd5[_0xc948('0x4c')]['id']}},_0x376693={};_0x376693[_0xc948('0x37')]=_[_0xc948('0x38')](db[_0xc948('0x34')]['rawAttributes']);_0x376693[_0xc948('0x39')]=_[_0xc948('0x38')](_0xec9cd5['query']);_0x376693[_0xc948('0x3a')]=_[_0xc948('0x3b')](_0x376693[_0xc948('0x37')],_0x376693[_0xc948('0x39')]);_0x4c2c65['attributes']=_[_0xc948('0x3b')](_0x376693['model'],qs[_0xc948('0x4d')](_0xec9cd5[_0xc948('0x39')][_0xc948('0x4d')]));_0x4c2c65[_0xc948('0x3c')]=_0x4c2c65[_0xc948('0x3c')][_0xc948('0x3d')]?_0x4c2c65[_0xc948('0x3c')]:_0x376693['model'];if(_0xec9cd5[_0xc948('0x39')][_0xc948('0x47')]){_0x4c2c65[_0xc948('0x48')]=[{'all':!![]}];}_0x4c2c65=_['merge']({},_0x4c2c65,_0xec9cd5[_0xc948('0x46')]);return db[_0xc948('0x34')][_0xc948('0x4e')](_0x4c2c65)['then'](handleEntityNotFound(_0x48c548,null))['then'](respondWithResult(_0x48c548,null))[_0xc948('0x4a')](handleError(_0x48c548,null));};exports['create']=function(_0x3c92e3,_0xa9430a){return db[_0xc948('0x34')][_0xc948('0x4f')](_0x3c92e3[_0xc948('0x50')],{})[_0xc948('0x19')](respondWithResult(_0xa9430a,0xc9))[_0xc948('0x4a')](handleError(_0xa9430a,null));};exports[_0xc948('0x2e')]=function(_0x42e069,_0x126f94){if(_0x42e069[_0xc948('0x50')]['id']){delete _0x42e069[_0xc948('0x50')]['id'];}return db['SalesforceConfiguration'][_0xc948('0x4e')]({'where':{'id':_0x42e069[_0xc948('0x4c')]['id']}})[_0xc948('0x19')](handleEntityNotFound(_0x126f94,null))['then'](saveUpdates(_0x42e069[_0xc948('0x50')],null))[_0xc948('0x19')](respondWithResult(_0x126f94,null))['catch'](handleError(_0x126f94,null));};exports['destroy']=function(_0x5a74a2,_0x319e4d){return db[_0xc948('0x34')][_0xc948('0x4e')]({'where':{'id':_0x5a74a2[_0xc948('0x4c')]['id']}})[_0xc948('0x19')](handleEntityNotFound(_0x319e4d,null))[_0xc948('0x19')](removeEntity(_0x319e4d,null))[_0xc948('0x4a')](handleError(_0x319e4d,null));};exports[_0xc948('0x51')]=function(_0x3f1820,_0x27fcf1,_0x50e3a6){var _0x37774a={};var _0x5ee55d={};var _0x36130e;var _0x52bf3f;return db[_0xc948('0x34')][_0xc948('0x52')]({'where':{'id':_0x3f1820[_0xc948('0x4c')]['id']}})['then'](handleEntityNotFound(_0x27fcf1,null))[_0xc948('0x19')](function(_0x3277e6){if(_0x3277e6){_0x36130e=_0x3277e6;_0x5ee55d[_0xc948('0x37')]=_[_0xc948('0x38')](db[_0xc948('0x53')][_0xc948('0x35')]);_0x5ee55d[_0xc948('0x39')]=_[_0xc948('0x38')](_0x3f1820[_0xc948('0x39')]);_0x5ee55d['filters']=_['intersection'](_0x5ee55d[_0xc948('0x37')],_0x5ee55d['query']);_0x37774a[_0xc948('0x3c')]=_[_0xc948('0x3b')](_0x5ee55d['model'],qs[_0xc948('0x4d')](_0x3f1820[_0xc948('0x39')][_0xc948('0x4d')]));_0x37774a[_0xc948('0x3c')]=_0x37774a['attributes'][_0xc948('0x3d')]?_0x37774a[_0xc948('0x3c')]:_0x5ee55d[_0xc948('0x37')];_0x37774a['order']=qs['sort'](_0x3f1820[_0xc948('0x39')][_0xc948('0x41')]);_0x37774a[_0xc948('0x42')]=qs['filters'](_[_0xc948('0x43')](_0x3f1820[_0xc948('0x39')],_0x5ee55d[_0xc948('0x3a')]));if(_0x3f1820[_0xc948('0x39')]['filter']){_0x37774a['where']=_[_0xc948('0x45')](_0x37774a[_0xc948('0x42')],{'$or':_[_0xc948('0x33')](_0x37774a[_0xc948('0x3c')],function(_0x4382dc){var _0x2a5c29={};_0x2a5c29[_0x4382dc]={'$like':'%'+_0x3f1820[_0xc948('0x39')][_0xc948('0x44')]+'%'};return _0x2a5c29;})});}_0x37774a=_[_0xc948('0x45')]({},_0x37774a,_0x3f1820['options']);return _0x36130e[_0xc948('0x51')](_0x37774a);}})[_0xc948('0x19')](function(_0x2f2f1c){if(_0x2f2f1c){_0x52bf3f=_0x2f2f1c['length'];if(!_0x3f1820[_0xc948('0x39')][_0xc948('0x3e')]('nolimit')){_0x37774a[_0xc948('0x29')]=qs[_0xc948('0x29')](_0x3f1820[_0xc948('0x39')]['limit']);_0x37774a['offset']=qs[_0xc948('0x28')](_0x3f1820[_0xc948('0x39')][_0xc948('0x28')]);}return _0x36130e[_0xc948('0x51')](_0x37774a);}})[_0xc948('0x19')](function(_0x52a54f){if(_0x52a54f){return _0x52a54f?{'count':_0x52bf3f,'rows':_0x52a54f}:null;}})[_0xc948('0x19')](respondWithResult(_0x27fcf1,null))[_0xc948('0x4a')](handleError(_0x27fcf1,null));};exports['getSubjects']=function(_0x4cfb3d,_0x477f94,_0x34da9a){var _0x3f8621={};var _0x13e88a={};var _0x384de0;var _0x2c6c72;return db[_0xc948('0x34')][_0xc948('0x52')]({'where':{'id':_0x4cfb3d['params']['id']}})['then'](handleEntityNotFound(_0x477f94,null))[_0xc948('0x19')](function(_0x45ef45){if(_0x45ef45){_0x384de0=_0x45ef45;_0x13e88a[_0xc948('0x37')]=_[_0xc948('0x38')](db[_0xc948('0x53')][_0xc948('0x35')]);_0x13e88a[_0xc948('0x39')]=_[_0xc948('0x38')](_0x4cfb3d['query']);_0x13e88a['filters']=_[_0xc948('0x3b')](_0x13e88a['model'],_0x13e88a[_0xc948('0x39')]);_0x3f8621[_0xc948('0x3c')]=_[_0xc948('0x3b')](_0x13e88a['model'],qs[_0xc948('0x4d')](_0x4cfb3d[_0xc948('0x39')]['fields']));_0x3f8621[_0xc948('0x3c')]=_0x3f8621[_0xc948('0x3c')][_0xc948('0x3d')]?_0x3f8621['attributes']:_0x13e88a['model'];_0x3f8621['order']=qs[_0xc948('0x41')](_0x4cfb3d[_0xc948('0x39')]['sort']);_0x3f8621[_0xc948('0x42')]=qs[_0xc948('0x3a')](_[_0xc948('0x43')](_0x4cfb3d[_0xc948('0x39')],_0x13e88a[_0xc948('0x3a')]));if(_0x4cfb3d[_0xc948('0x39')][_0xc948('0x44')]){_0x3f8621[_0xc948('0x42')]=_[_0xc948('0x45')](_0x3f8621[_0xc948('0x42')],{'$or':_[_0xc948('0x33')](_0x3f8621['attributes'],function(_0x4805be){var _0x663fe={};_0x663fe[_0x4805be]={'$like':'%'+_0x4cfb3d['query'][_0xc948('0x44')]+'%'};return _0x663fe;})});}_0x3f8621=_[_0xc948('0x45')]({},_0x3f8621,_0x4cfb3d[_0xc948('0x46')]);return _0x384de0[_0xc948('0x54')](_0x3f8621);}})[_0xc948('0x19')](function(_0x33e20d){if(_0x33e20d){_0x2c6c72=_0x33e20d['length'];if(!_0x4cfb3d[_0xc948('0x39')][_0xc948('0x3e')](_0xc948('0x3f'))){_0x3f8621[_0xc948('0x29')]=qs[_0xc948('0x29')](_0x4cfb3d[_0xc948('0x39')][_0xc948('0x29')]);_0x3f8621['offset']=qs[_0xc948('0x28')](_0x4cfb3d['query']['offset']);}return _0x384de0[_0xc948('0x54')](_0x3f8621);}})['then'](function(_0x1cf31f){if(_0x1cf31f){return _0x1cf31f?{'count':_0x2c6c72,'rows':_0x1cf31f}:null;}})['then'](respondWithResult(_0x477f94,null))[_0xc948('0x4a')](handleError(_0x477f94,null));};exports[_0xc948('0x55')]=function(_0x414078,_0x2af003,_0x5859ac){var _0x30064c={};var _0x4f59f9={};var _0x1b57f6;var _0x20bfa7;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0x414078[_0xc948('0x4c')]['id']}})[_0xc948('0x19')](handleEntityNotFound(_0x2af003,null))[_0xc948('0x19')](function(_0x3ea408){if(_0x3ea408){_0x1b57f6=_0x3ea408;_0x4f59f9[_0xc948('0x37')]=_['keys'](db['SalesforceField'][_0xc948('0x35')]);_0x4f59f9['query']=_[_0xc948('0x38')](_0x414078[_0xc948('0x39')]);_0x4f59f9[_0xc948('0x3a')]=_[_0xc948('0x3b')](_0x4f59f9[_0xc948('0x37')],_0x4f59f9['query']);_0x30064c[_0xc948('0x3c')]=_['intersection'](_0x4f59f9[_0xc948('0x37')],qs[_0xc948('0x4d')](_0x414078[_0xc948('0x39')]['fields']));_0x30064c['attributes']=_0x30064c[_0xc948('0x3c')]['length']?_0x30064c['attributes']:_0x4f59f9[_0xc948('0x37')];_0x30064c[_0xc948('0x40')]=qs[_0xc948('0x41')](_0x414078['query']['sort']);_0x30064c[_0xc948('0x42')]=qs[_0xc948('0x3a')](_[_0xc948('0x43')](_0x414078[_0xc948('0x39')],_0x4f59f9[_0xc948('0x3a')]));if(_0x414078[_0xc948('0x39')][_0xc948('0x44')]){_0x30064c[_0xc948('0x42')]=_['merge'](_0x30064c[_0xc948('0x42')],{'$or':_[_0xc948('0x33')](_0x30064c[_0xc948('0x3c')],function(_0x2461a5){var _0x380e87={};_0x380e87[_0x2461a5]={'$like':'%'+_0x414078[_0xc948('0x39')]['filter']+'%'};return _0x380e87;})});}_0x30064c=_[_0xc948('0x45')]({},_0x30064c,_0x414078[_0xc948('0x46')]);return _0x1b57f6[_0xc948('0x55')](_0x30064c);}})[_0xc948('0x19')](function(_0x41c790){if(_0x41c790){_0x20bfa7=_0x41c790[_0xc948('0x3d')];if(!_0x414078['query'][_0xc948('0x3e')](_0xc948('0x3f'))){_0x30064c['limit']=qs[_0xc948('0x29')](_0x414078[_0xc948('0x39')][_0xc948('0x29')]);_0x30064c[_0xc948('0x28')]=qs[_0xc948('0x28')](_0x414078[_0xc948('0x39')][_0xc948('0x28')]);}return _0x1b57f6[_0xc948('0x55')](_0x30064c);}})['then'](function(_0x95ef18){if(_0x95ef18){return _0x95ef18?{'count':_0x20bfa7,'rows':_0x95ef18}:null;}})['then'](respondWithResult(_0x2af003,null))['catch'](handleError(_0x2af003,null));};