c87ca6fcb44424f51358a9fc813e8a4722aa5531
[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 _0xc813=['body','getFields','findOne','intersection','getSubjects','SalesforceField','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','keys','filters','query','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','catch','params','fields','find','create'];(function(_0x1e3195,_0x2d8492){var _0x1b75d0=function(_0x52d368){while(--_0x52d368){_0x1e3195['push'](_0x1e3195['shift']());}};_0x1b75d0(++_0x2d8492);}(_0xc813,0x1db));var _0x3c81=function(_0x51b10b,_0x311567){_0x51b10b=_0x51b10b-0x0;var _0x45b2cf=_0xc813[_0x51b10b];return _0x45b2cf;};'use strict';var emlformat=require(_0x3c81('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3c81('0x1'));var jsonpatch=require(_0x3c81('0x2'));var rp=require(_0x3c81('0x3'));var moment=require(_0x3c81('0x4'));var BPromise=require(_0x3c81('0x5'));var Mustache=require(_0x3c81('0x6'));var util=require(_0x3c81('0x7'));var path=require(_0x3c81('0x8'));var sox=require(_0x3c81('0x9'));var csv=require(_0x3c81('0xa'));var ejs=require(_0x3c81('0xb'));var fs=require('fs');var fs_extra=require(_0x3c81('0xc'));var _=require('lodash');var squel=require(_0x3c81('0xd'));var crypto=require('crypto');var jsforce=require(_0x3c81('0xe'));var deskjs=require(_0x3c81('0xf'));var toCsv=require(_0x3c81('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3c81('0x10'));var authService=require(_0x3c81('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x3c81('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3c81('0x13'))(_0x3c81('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x3c81('0x15'));var db=require(_0x3c81('0x16'))['db'];function respondWithStatusCode(_0x39613e,_0x2c61ae){_0x2c61ae=_0x2c61ae||0xcc;return function(_0x51887a){if(_0x51887a){return _0x39613e[_0x3c81('0x17')](_0x2c61ae);}return _0x39613e[_0x3c81('0x18')](_0x2c61ae)[_0x3c81('0x19')]();};}function respondWithResult(_0x53aaec,_0x2e8993){_0x2e8993=_0x2e8993||0xc8;return function(_0x1113a8){if(_0x1113a8){return _0x53aaec[_0x3c81('0x18')](_0x2e8993)[_0x3c81('0x1a')](_0x1113a8);}};}function respondWithFilteredResult(_0x2af43f,_0xd045ab){return function(_0x4d3d04){if(_0x4d3d04){var _0x2cbbb2=typeof _0xd045ab[_0x3c81('0x1b')]===_0x3c81('0x1c')&&typeof _0xd045ab[_0x3c81('0x1d')]===_0x3c81('0x1c');var _0x143ed0=_0x4d3d04[_0x3c81('0x1e')];var _0x355805=_0x2cbbb2?0x0:_0xd045ab[_0x3c81('0x1b')];var _0x18fa6c=_0x2cbbb2?_0x4d3d04['count']:_0xd045ab[_0x3c81('0x1b')]+_0xd045ab['limit'];var _0xa0c16b;if(_0x18fa6c>=_0x143ed0){_0x18fa6c=_0x143ed0;_0xa0c16b=0xc8;}else{_0xa0c16b=0xce;}_0x2af43f[_0x3c81('0x18')](_0xa0c16b);return _0x2af43f[_0x3c81('0x1f')](_0x3c81('0x20'),_0x355805+'-'+_0x18fa6c+'/'+_0x143ed0)[_0x3c81('0x1a')](_0x4d3d04);}return null;};}function patchUpdates(_0x33c450){return function(_0x4f2c67){try{jsonpatch[_0x3c81('0x21')](_0x4f2c67,_0x33c450,!![]);}catch(_0x1cb471){return BPromise[_0x3c81('0x22')](_0x1cb471);}return _0x4f2c67[_0x3c81('0x23')]();};}function saveUpdates(_0x3f1e87,_0x1f5933){return function(_0x47fbff){if(_0x47fbff){return _0x47fbff[_0x3c81('0x24')](_0x3f1e87)[_0x3c81('0x25')](function(_0x3c3987){return _0x3c3987;});}return null;};}function removeEntity(_0x1ea3ef,_0x53ce15){return function(_0x52d7e3){if(_0x52d7e3){return _0x52d7e3[_0x3c81('0x26')]()[_0x3c81('0x25')](function(){_0x1ea3ef[_0x3c81('0x18')](0xcc)[_0x3c81('0x19')]();});}};}function handleEntityNotFound(_0x5d2773,_0xff1a39){return function(_0x22d7ed){if(!_0x22d7ed){_0x5d2773['sendStatus'](0x194);}return _0x22d7ed;};}function handleError(_0x43642e,_0x3375e7){_0x3375e7=_0x3375e7||0x1f4;return function(_0x1a4dd9){logger[_0x3c81('0x27')](_0x1a4dd9['stack']);if(_0x1a4dd9[_0x3c81('0x28')]){delete _0x1a4dd9[_0x3c81('0x28')];}_0x43642e[_0x3c81('0x18')](_0x3375e7)['send'](_0x1a4dd9);};}exports[_0x3c81('0x29')]=function(_0x553054,_0xaba94d){var _0x37da24={},_0x3bc617={},_0x4745a4={'count':0x0,'rows':[]};var _0x404757=_[_0x3c81('0x2a')](db[_0x3c81('0x2b')][_0x3c81('0x2c')],function(_0x532b4a){return{'name':_0x532b4a[_0x3c81('0x2d')],'type':_0x532b4a[_0x3c81('0x2e')][_0x3c81('0x2f')]};});_0x3bc617[_0x3c81('0x30')]=_['map'](_0x404757,_0x3c81('0x28'));_0x3bc617['query']=_[_0x3c81('0x31')](_0x553054['query']);_0x3bc617[_0x3c81('0x32')]=_['intersection'](_0x3bc617[_0x3c81('0x30')],_0x3bc617['query']);_0x37da24['attributes']=_['intersection'](_0x3bc617[_0x3c81('0x30')],qs['fields'](_0x553054[_0x3c81('0x33')]['fields']));_0x37da24[_0x3c81('0x34')]=_0x37da24[_0x3c81('0x34')][_0x3c81('0x35')]?_0x37da24['attributes']:_0x3bc617[_0x3c81('0x30')];if(!_0x553054[_0x3c81('0x33')][_0x3c81('0x36')](_0x3c81('0x37'))){_0x37da24['limit']=qs[_0x3c81('0x1d')](_0x553054[_0x3c81('0x33')][_0x3c81('0x1d')]);_0x37da24[_0x3c81('0x1b')]=qs[_0x3c81('0x1b')](_0x553054['query'][_0x3c81('0x1b')]);}_0x37da24[_0x3c81('0x38')]=qs[_0x3c81('0x39')](_0x553054[_0x3c81('0x33')][_0x3c81('0x39')]);_0x37da24[_0x3c81('0x3a')]=qs[_0x3c81('0x32')](_[_0x3c81('0x3b')](_0x553054[_0x3c81('0x33')],_0x3bc617[_0x3c81('0x32')]),_0x404757);if(_0x553054['query'][_0x3c81('0x3c')]){_0x37da24[_0x3c81('0x3a')]=_[_0x3c81('0x3d')](_0x37da24[_0x3c81('0x3a')],{'$or':_['map'](_0x404757,function(_0x37a487){if(_0x37a487[_0x3c81('0x2e')]!==_0x3c81('0x3e')){var _0x11eec9={};_0x11eec9[_0x37a487[_0x3c81('0x28')]]={'$like':'%'+_0x553054[_0x3c81('0x33')][_0x3c81('0x3c')]+'%'};return _0x11eec9;}})});}_0x37da24=_['merge']({},_0x37da24,_0x553054[_0x3c81('0x3f')]);var _0x1e5ae1={'where':_0x37da24[_0x3c81('0x3a')]};return db[_0x3c81('0x2b')]['count'](_0x1e5ae1)[_0x3c81('0x25')](function(_0x159e5d){_0x4745a4['count']=_0x159e5d;if(_0x553054[_0x3c81('0x33')][_0x3c81('0x40')]){_0x37da24['include']=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x3c81('0x41')](_0x37da24);})[_0x3c81('0x25')](function(_0x5465ff){_0x4745a4['rows']=_0x5465ff;return _0x4745a4;})[_0x3c81('0x25')](respondWithFilteredResult(_0xaba94d,_0x37da24))[_0x3c81('0x42')](handleError(_0xaba94d,null));};exports['show']=function(_0x5440ed,_0x57a3c6){var _0x2fa355={'raw':![],'where':{'id':_0x5440ed[_0x3c81('0x43')]['id']}},_0x570fba={};_0x570fba[_0x3c81('0x30')]=_[_0x3c81('0x31')](db['SalesforceConfiguration']['rawAttributes']);_0x570fba['query']=_['keys'](_0x5440ed[_0x3c81('0x33')]);_0x570fba[_0x3c81('0x32')]=_['intersection'](_0x570fba[_0x3c81('0x30')],_0x570fba[_0x3c81('0x33')]);_0x2fa355[_0x3c81('0x34')]=_['intersection'](_0x570fba[_0x3c81('0x30')],qs[_0x3c81('0x44')](_0x5440ed[_0x3c81('0x33')]['fields']));_0x2fa355[_0x3c81('0x34')]=_0x2fa355[_0x3c81('0x34')][_0x3c81('0x35')]?_0x2fa355['attributes']:_0x570fba[_0x3c81('0x30')];if(_0x5440ed[_0x3c81('0x33')][_0x3c81('0x40')]){_0x2fa355['include']=[{'all':!![]}];}_0x2fa355=_[_0x3c81('0x3d')]({},_0x2fa355,_0x5440ed[_0x3c81('0x3f')]);return db[_0x3c81('0x2b')][_0x3c81('0x45')](_0x2fa355)[_0x3c81('0x25')](handleEntityNotFound(_0x57a3c6,null))[_0x3c81('0x25')](respondWithResult(_0x57a3c6,null))[_0x3c81('0x42')](handleError(_0x57a3c6,null));};exports[_0x3c81('0x46')]=function(_0x4543d5,_0x434661){return db[_0x3c81('0x2b')][_0x3c81('0x46')](_0x4543d5[_0x3c81('0x47')],{})[_0x3c81('0x25')](respondWithResult(_0x434661,0xc9))[_0x3c81('0x42')](handleError(_0x434661,null));};exports[_0x3c81('0x24')]=function(_0x130289,_0x235568){if(_0x130289[_0x3c81('0x47')]['id']){delete _0x130289['body']['id'];}return db['SalesforceConfiguration']['find']({'where':{'id':_0x130289[_0x3c81('0x43')]['id']}})[_0x3c81('0x25')](handleEntityNotFound(_0x235568,null))[_0x3c81('0x25')](saveUpdates(_0x130289['body'],null))['then'](respondWithResult(_0x235568,null))[_0x3c81('0x42')](handleError(_0x235568,null));};exports[_0x3c81('0x26')]=function(_0x5877d6,_0x40c572){return db['SalesforceConfiguration'][_0x3c81('0x45')]({'where':{'id':_0x5877d6[_0x3c81('0x43')]['id']}})[_0x3c81('0x25')](handleEntityNotFound(_0x40c572,null))[_0x3c81('0x25')](removeEntity(_0x40c572,null))[_0x3c81('0x42')](handleError(_0x40c572,null));};exports[_0x3c81('0x48')]=function(_0x21edbe,_0x52d2fb,_0x139dc2){var _0x271c01={};var _0x45f0ee={};var _0x1860d7;var _0xd08d7a;return db[_0x3c81('0x2b')][_0x3c81('0x49')]({'where':{'id':_0x21edbe[_0x3c81('0x43')]['id']}})['then'](handleEntityNotFound(_0x52d2fb,null))[_0x3c81('0x25')](function(_0xf90888){if(_0xf90888){_0x1860d7=_0xf90888;_0x45f0ee['model']=_[_0x3c81('0x31')](db['SalesforceField'][_0x3c81('0x2c')]);_0x45f0ee[_0x3c81('0x33')]=_[_0x3c81('0x31')](_0x21edbe[_0x3c81('0x33')]);_0x45f0ee[_0x3c81('0x32')]=_[_0x3c81('0x4a')](_0x45f0ee[_0x3c81('0x30')],_0x45f0ee['query']);_0x271c01[_0x3c81('0x34')]=_['intersection'](_0x45f0ee['model'],qs[_0x3c81('0x44')](_0x21edbe[_0x3c81('0x33')][_0x3c81('0x44')]));_0x271c01['attributes']=_0x271c01['attributes'][_0x3c81('0x35')]?_0x271c01[_0x3c81('0x34')]:_0x45f0ee[_0x3c81('0x30')];_0x271c01['order']=qs['sort'](_0x21edbe['query']['sort']);_0x271c01['where']=qs[_0x3c81('0x32')](_[_0x3c81('0x3b')](_0x21edbe[_0x3c81('0x33')],_0x45f0ee['filters']));if(_0x21edbe[_0x3c81('0x33')][_0x3c81('0x3c')]){_0x271c01['where']=_[_0x3c81('0x3d')](_0x271c01[_0x3c81('0x3a')],{'$or':_[_0x3c81('0x2a')](_0x271c01[_0x3c81('0x34')],function(_0x6bb6b2){var _0x191590={};_0x191590[_0x6bb6b2]={'$like':'%'+_0x21edbe[_0x3c81('0x33')][_0x3c81('0x3c')]+'%'};return _0x191590;})});}_0x271c01=_[_0x3c81('0x3d')]({},_0x271c01,_0x21edbe[_0x3c81('0x3f')]);return _0x1860d7[_0x3c81('0x48')](_0x271c01);}})[_0x3c81('0x25')](function(_0x2d57ba){if(_0x2d57ba){_0xd08d7a=_0x2d57ba[_0x3c81('0x35')];if(!_0x21edbe[_0x3c81('0x33')][_0x3c81('0x36')](_0x3c81('0x37'))){_0x271c01['limit']=qs['limit'](_0x21edbe[_0x3c81('0x33')][_0x3c81('0x1d')]);_0x271c01[_0x3c81('0x1b')]=qs[_0x3c81('0x1b')](_0x21edbe[_0x3c81('0x33')][_0x3c81('0x1b')]);}return _0x1860d7[_0x3c81('0x48')](_0x271c01);}})[_0x3c81('0x25')](function(_0x16dcfd){if(_0x16dcfd){return _0x16dcfd?{'count':_0xd08d7a,'rows':_0x16dcfd}:null;}})[_0x3c81('0x25')](respondWithResult(_0x52d2fb,null))[_0x3c81('0x42')](handleError(_0x52d2fb,null));};exports[_0x3c81('0x4b')]=function(_0x36f88d,_0x23f84f,_0x12effc){var _0x2b52d7={};var _0x3c7304={};var _0x47ad80;var _0x53ef7e;return db[_0x3c81('0x2b')]['findOne']({'where':{'id':_0x36f88d[_0x3c81('0x43')]['id']}})['then'](handleEntityNotFound(_0x23f84f,null))[_0x3c81('0x25')](function(_0x29009c){if(_0x29009c){_0x47ad80=_0x29009c;_0x3c7304[_0x3c81('0x30')]=_[_0x3c81('0x31')](db['SalesforceField']['rawAttributes']);_0x3c7304[_0x3c81('0x33')]=_[_0x3c81('0x31')](_0x36f88d[_0x3c81('0x33')]);_0x3c7304['filters']=_[_0x3c81('0x4a')](_0x3c7304[_0x3c81('0x30')],_0x3c7304['query']);_0x2b52d7[_0x3c81('0x34')]=_['intersection'](_0x3c7304[_0x3c81('0x30')],qs[_0x3c81('0x44')](_0x36f88d[_0x3c81('0x33')][_0x3c81('0x44')]));_0x2b52d7[_0x3c81('0x34')]=_0x2b52d7[_0x3c81('0x34')][_0x3c81('0x35')]?_0x2b52d7[_0x3c81('0x34')]:_0x3c7304['model'];_0x2b52d7[_0x3c81('0x38')]=qs[_0x3c81('0x39')](_0x36f88d[_0x3c81('0x33')][_0x3c81('0x39')]);_0x2b52d7[_0x3c81('0x3a')]=qs[_0x3c81('0x32')](_[_0x3c81('0x3b')](_0x36f88d['query'],_0x3c7304[_0x3c81('0x32')]));if(_0x36f88d[_0x3c81('0x33')][_0x3c81('0x3c')]){_0x2b52d7[_0x3c81('0x3a')]=_[_0x3c81('0x3d')](_0x2b52d7[_0x3c81('0x3a')],{'$or':_[_0x3c81('0x2a')](_0x2b52d7[_0x3c81('0x34')],function(_0x535a28){var _0x38901c={};_0x38901c[_0x535a28]={'$like':'%'+_0x36f88d[_0x3c81('0x33')][_0x3c81('0x3c')]+'%'};return _0x38901c;})});}_0x2b52d7=_[_0x3c81('0x3d')]({},_0x2b52d7,_0x36f88d[_0x3c81('0x3f')]);return _0x47ad80[_0x3c81('0x4b')](_0x2b52d7);}})[_0x3c81('0x25')](function(_0x2da0cd){if(_0x2da0cd){_0x53ef7e=_0x2da0cd[_0x3c81('0x35')];if(!_0x36f88d[_0x3c81('0x33')][_0x3c81('0x36')](_0x3c81('0x37'))){_0x2b52d7['limit']=qs['limit'](_0x36f88d[_0x3c81('0x33')]['limit']);_0x2b52d7['offset']=qs[_0x3c81('0x1b')](_0x36f88d[_0x3c81('0x33')][_0x3c81('0x1b')]);}return _0x47ad80[_0x3c81('0x4b')](_0x2b52d7);}})[_0x3c81('0x25')](function(_0x1947ed){if(_0x1947ed){return _0x1947ed?{'count':_0x53ef7e,'rows':_0x1947ed}:null;}})[_0x3c81('0x25')](respondWithResult(_0x23f84f,null))[_0x3c81('0x42')](handleError(_0x23f84f,null));};exports['getDescriptions']=function(_0x19afcb,_0x4f4263,_0x58233b){var _0x53aed4={};var _0x23b425={};var _0x3e02bf;var _0x26a3c8;return db[_0x3c81('0x2b')][_0x3c81('0x49')]({'where':{'id':_0x19afcb[_0x3c81('0x43')]['id']}})[_0x3c81('0x25')](handleEntityNotFound(_0x4f4263,null))[_0x3c81('0x25')](function(_0x12f570){if(_0x12f570){_0x3e02bf=_0x12f570;_0x23b425[_0x3c81('0x30')]=_['keys'](db[_0x3c81('0x4c')][_0x3c81('0x2c')]);_0x23b425['query']=_[_0x3c81('0x31')](_0x19afcb[_0x3c81('0x33')]);_0x23b425['filters']=_[_0x3c81('0x4a')](_0x23b425[_0x3c81('0x30')],_0x23b425['query']);_0x53aed4[_0x3c81('0x34')]=_[_0x3c81('0x4a')](_0x23b425[_0x3c81('0x30')],qs[_0x3c81('0x44')](_0x19afcb[_0x3c81('0x33')]['fields']));_0x53aed4[_0x3c81('0x34')]=_0x53aed4[_0x3c81('0x34')][_0x3c81('0x35')]?_0x53aed4['attributes']:_0x23b425[_0x3c81('0x30')];_0x53aed4[_0x3c81('0x38')]=qs[_0x3c81('0x39')](_0x19afcb[_0x3c81('0x33')]['sort']);_0x53aed4['where']=qs['filters'](_[_0x3c81('0x3b')](_0x19afcb['query'],_0x23b425[_0x3c81('0x32')]));if(_0x19afcb[_0x3c81('0x33')]['filter']){_0x53aed4[_0x3c81('0x3a')]=_[_0x3c81('0x3d')](_0x53aed4[_0x3c81('0x3a')],{'$or':_[_0x3c81('0x2a')](_0x53aed4[_0x3c81('0x34')],function(_0x44085d){var _0x4b766d={};_0x4b766d[_0x44085d]={'$like':'%'+_0x19afcb[_0x3c81('0x33')][_0x3c81('0x3c')]+'%'};return _0x4b766d;})});}_0x53aed4=_[_0x3c81('0x3d')]({},_0x53aed4,_0x19afcb['options']);return _0x3e02bf[_0x3c81('0x4d')](_0x53aed4);}})[_0x3c81('0x25')](function(_0x45b90a){if(_0x45b90a){_0x26a3c8=_0x45b90a['length'];if(!_0x19afcb[_0x3c81('0x33')]['hasOwnProperty']('nolimit')){_0x53aed4['limit']=qs[_0x3c81('0x1d')](_0x19afcb[_0x3c81('0x33')]['limit']);_0x53aed4['offset']=qs[_0x3c81('0x1b')](_0x19afcb['query'][_0x3c81('0x1b')]);}return _0x3e02bf[_0x3c81('0x4d')](_0x53aed4);}})[_0x3c81('0x25')](function(_0x10d617){if(_0x10d617){return _0x10d617?{'count':_0x26a3c8,'rows':_0x10d617}:null;}})[_0x3c81('0x25')](respondWithResult(_0x4f4263,null))['catch'](handleError(_0x4f4263,null));};