42eb2ed875b0ffae0244d6effe140f06fd2b365c
[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 _0x71c5=['end','count','offset','limit','Content-Range','json','apply','reject','save','destroy','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','filter','options','include','findAll','rows','show','params','includeAll','find','create','update','body','getFields','findOne','SalesforceField','pick','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','jayson/promise','client','http','request','then','SalesforceConfiguration,\x20%s,\x20%s','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','catch','sendStatus','status'];(function(_0x18d35e,_0x1a23c5){var _0x313618=function(_0x5d98c7){while(--_0x5d98c7){_0x18d35e['push'](_0x18d35e['shift']());}};_0x313618(++_0x1a23c5);}(_0x71c5,0x8f));var _0x571c=function(_0x3cc29d,_0x7b57e){_0x3cc29d=_0x3cc29d-0x0;var _0x406d8b=_0x71c5[_0x3cc29d];return _0x406d8b;};'use strict';var pdf=require(_0x571c('0x0'));var emlformat=require(_0x571c('0x1'));var rimraf=require(_0x571c('0x2'));var zipdir=require(_0x571c('0x3'));var jsonpatch=require(_0x571c('0x4'));var rp=require(_0x571c('0x5'));var moment=require(_0x571c('0x6'));var BPromise=require(_0x571c('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0x571c('0x8'));var sox=require(_0x571c('0x9'));var csv=require(_0x571c('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x571c('0xb'));var squel=require('squel');var crypto=require(_0x571c('0xc'));var jsforce=require(_0x571c('0xd'));var deskjs=require(_0x571c('0xe'));var toCsv=require(_0x571c('0xa'));var querystring=require(_0x571c('0xf'));var Papa=require('papaparse');var Redis=require(_0x571c('0x10'));var authService=require(_0x571c('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x571c('0x12'));var logger=require(_0x571c('0x13'))(_0x571c('0x14'));var utils=require('../../config/utils');var config=require(_0x571c('0x15'));var licenseUtil=require(_0x571c('0x16'));var db=require('../../mysqldb')['db'];var jayson=require(_0x571c('0x17'));var client=jayson[_0x571c('0x18')][_0x571c('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x593993,_0x2761c1,_0x5b63ff,_0x21b9f2){return new BPromise(function(_0x3fd535,_0x183ddd){var _0x106ee6=_0x21b9f2||client;return _0x106ee6[_0x571c('0x1a')](_0x593993,_0x5b63ff)[_0x571c('0x1b')](function(_0x2c80ff){logger['info'](_0x571c('0x1c'),_0x2761c1,'request\x20sent');logger[_0x571c('0x1d')](_0x571c('0x1e'),_0x2761c1,_0x571c('0x1f'),JSON[_0x571c('0x20')](_0x2c80ff));if(_0x2c80ff[_0x571c('0x21')]){if(_0x2c80ff[_0x571c('0x21')]['code']===0x1f4){logger[_0x571c('0x21')](_0x571c('0x1c'),_0x2761c1,_0x2c80ff[_0x571c('0x21')]['message']);return _0x183ddd(_0x2c80ff[_0x571c('0x21')][_0x571c('0x22')]);}logger['error'](_0x571c('0x1c'),_0x2761c1,_0x2c80ff[_0x571c('0x21')]['message']);return _0x3fd535(_0x2c80ff[_0x571c('0x21')][_0x571c('0x22')]);}else{logger['info'](_0x571c('0x1c'),_0x2761c1,'request\x20sent');_0x3fd535(_0x2c80ff[_0x571c('0x23')][_0x571c('0x22')]);}})[_0x571c('0x24')](function(_0x5d7c67){logger[_0x571c('0x21')](_0x571c('0x1c'),_0x2761c1,_0x5d7c67);_0x183ddd(_0x5d7c67);});});}function respondWithStatusCode(_0x305fe5,_0x12b943){_0x12b943=_0x12b943||0xcc;return function(_0x2f46fa){if(_0x2f46fa){return _0x305fe5[_0x571c('0x25')](_0x12b943);}return _0x305fe5[_0x571c('0x26')](_0x12b943)[_0x571c('0x27')]();};}function respondWithResult(_0x58926a,_0x292218){_0x292218=_0x292218||0xc8;return function(_0x280c30){if(_0x280c30){return _0x58926a[_0x571c('0x26')](_0x292218)['json'](_0x280c30);}};}function respondWithFilteredResult(_0x4129d4,_0x597c1c){return function(_0x4ce7fa){if(_0x4ce7fa){var _0xbee31b=_0x4ce7fa[_0x571c('0x28')],_0x420e1e=_0x597c1c['offset'],_0x53bff8=_0x597c1c[_0x571c('0x29')]+_0x597c1c[_0x571c('0x2a')],_0x364065;if(_0x53bff8>=_0xbee31b){_0x53bff8=_0xbee31b;_0x364065=0xc8;}else{_0x364065=0xce;}_0x4129d4[_0x571c('0x26')](_0x364065);return _0x4129d4['set'](_0x571c('0x2b'),_0x420e1e+'-'+_0x53bff8+'/'+_0xbee31b)[_0x571c('0x2c')](_0x4ce7fa);}return null;};}function patchUpdates(_0x526e62){return function(_0x3921ad){try{jsonpatch[_0x571c('0x2d')](_0x3921ad,_0x526e62,!![]);}catch(_0x2d3291){return BPromise[_0x571c('0x2e')](_0x2d3291);}return _0x3921ad[_0x571c('0x2f')]();};}function saveUpdates(_0x20e007,_0x1de6ce){return function(_0x24a49d){if(_0x24a49d){return _0x24a49d['update'](_0x20e007)[_0x571c('0x1b')](function(_0x13874e){return _0x13874e;});}return null;};}function removeEntity(_0x3be91a,_0x44ffe5){return function(_0x380532){if(_0x380532){return _0x380532[_0x571c('0x30')]()[_0x571c('0x1b')](function(){_0x3be91a[_0x571c('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5b0924,_0x802a69){return function(_0x546e34){if(!_0x546e34){_0x5b0924['sendStatus'](0x194);}return _0x546e34;};}function handleError(_0x83aa2a,_0x42cf8d){_0x42cf8d=_0x42cf8d||0x1f4;return function(_0x2a76fe){logger[_0x571c('0x21')](_0x2a76fe[_0x571c('0x31')]);if(_0x2a76fe[_0x571c('0x32')]){delete _0x2a76fe[_0x571c('0x32')];}_0x83aa2a[_0x571c('0x26')](_0x42cf8d)[_0x571c('0x33')](_0x2a76fe);};}exports[_0x571c('0x34')]=function(_0x2f1298,_0x4e2afb){var _0x4639f5={},_0x328816={},_0x37ddca={'count':0x0,'rows':[]};var _0x5e959b=_[_0x571c('0x35')](db[_0x571c('0x36')][_0x571c('0x37')],function(_0x54de5d){return{'name':_0x54de5d[_0x571c('0x38')],'type':_0x54de5d['type']['key']};});_0x328816[_0x571c('0x39')]=_['map'](_0x5e959b,_0x571c('0x32'));_0x328816[_0x571c('0x3a')]=_[_0x571c('0x3b')](_0x2f1298[_0x571c('0x3a')]);_0x328816[_0x571c('0x3c')]=_[_0x571c('0x3d')](_0x328816[_0x571c('0x39')],_0x328816['query']);_0x4639f5['attributes']=_[_0x571c('0x3d')](_0x328816[_0x571c('0x39')],qs[_0x571c('0x3e')](_0x2f1298['query']['fields']));_0x4639f5['attributes']=_0x4639f5[_0x571c('0x3f')][_0x571c('0x40')]?_0x4639f5[_0x571c('0x3f')]:_0x328816['model'];if(!_0x2f1298[_0x571c('0x3a')][_0x571c('0x41')](_0x571c('0x42'))){_0x4639f5[_0x571c('0x2a')]=qs['limit'](_0x2f1298[_0x571c('0x3a')]['limit']);_0x4639f5[_0x571c('0x29')]=qs[_0x571c('0x29')](_0x2f1298[_0x571c('0x3a')][_0x571c('0x29')]);}_0x4639f5[_0x571c('0x43')]=qs[_0x571c('0x44')](_0x2f1298['query'][_0x571c('0x44')]);_0x4639f5['where']=qs[_0x571c('0x3c')](_['pick'](_0x2f1298[_0x571c('0x3a')],_0x328816[_0x571c('0x3c')]),_0x5e959b);if(_0x2f1298[_0x571c('0x3a')]['filter']){_0x4639f5[_0x571c('0x45')]=_[_0x571c('0x46')](_0x4639f5[_0x571c('0x45')],{'$or':_[_0x571c('0x35')](_0x5e959b,function(_0x1397d0){if(_0x1397d0[_0x571c('0x47')]!==_0x571c('0x48')){var _0x2b596d={};_0x2b596d[_0x1397d0['name']]={'$like':'%'+_0x2f1298[_0x571c('0x3a')][_0x571c('0x49')]+'%'};return _0x2b596d;}})});}_0x4639f5=_[_0x571c('0x46')]({},_0x4639f5,_0x2f1298[_0x571c('0x4a')]);var _0x45a886={'where':_0x4639f5[_0x571c('0x45')]};return db[_0x571c('0x36')][_0x571c('0x28')](_0x45a886)[_0x571c('0x1b')](function(_0x37d682){_0x37ddca[_0x571c('0x28')]=_0x37d682;if(_0x2f1298[_0x571c('0x3a')]['includeAll']){_0x4639f5[_0x571c('0x4b')]=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x571c('0x4c')](_0x4639f5);})[_0x571c('0x1b')](function(_0x1de30c){_0x37ddca[_0x571c('0x4d')]=_0x1de30c;return _0x37ddca;})[_0x571c('0x1b')](respondWithFilteredResult(_0x4e2afb,_0x4639f5))[_0x571c('0x24')](handleError(_0x4e2afb,null));};exports[_0x571c('0x4e')]=function(_0x27d601,_0xc89a30){var _0x5e338f={'raw':![],'where':{'id':_0x27d601[_0x571c('0x4f')]['id']}},_0x637db7={};_0x637db7[_0x571c('0x39')]=_['keys'](db[_0x571c('0x36')]['rawAttributes']);_0x637db7['query']=_[_0x571c('0x3b')](_0x27d601[_0x571c('0x3a')]);_0x637db7[_0x571c('0x3c')]=_[_0x571c('0x3d')](_0x637db7[_0x571c('0x39')],_0x637db7[_0x571c('0x3a')]);_0x5e338f['attributes']=_[_0x571c('0x3d')](_0x637db7[_0x571c('0x39')],qs[_0x571c('0x3e')](_0x27d601[_0x571c('0x3a')][_0x571c('0x3e')]));_0x5e338f[_0x571c('0x3f')]=_0x5e338f[_0x571c('0x3f')][_0x571c('0x40')]?_0x5e338f[_0x571c('0x3f')]:_0x637db7[_0x571c('0x39')];if(_0x27d601[_0x571c('0x3a')][_0x571c('0x50')]){_0x5e338f[_0x571c('0x4b')]=[{'all':!![]}];}_0x5e338f=_[_0x571c('0x46')]({},_0x5e338f,_0x27d601[_0x571c('0x4a')]);return db[_0x571c('0x36')][_0x571c('0x51')](_0x5e338f)[_0x571c('0x1b')](handleEntityNotFound(_0xc89a30,null))[_0x571c('0x1b')](respondWithResult(_0xc89a30,null))[_0x571c('0x24')](handleError(_0xc89a30,null));};exports[_0x571c('0x52')]=function(_0x2e7b19,_0x588694){return db['SalesforceConfiguration']['create'](_0x2e7b19['body'],{})[_0x571c('0x1b')](respondWithResult(_0x588694,0xc9))[_0x571c('0x24')](handleError(_0x588694,null));};exports[_0x571c('0x53')]=function(_0x439dc6,_0x53b56f){if(_0x439dc6[_0x571c('0x54')]['id']){delete _0x439dc6[_0x571c('0x54')]['id'];}return db[_0x571c('0x36')]['find']({'where':{'id':_0x439dc6[_0x571c('0x4f')]['id']}})['then'](handleEntityNotFound(_0x53b56f,null))[_0x571c('0x1b')](saveUpdates(_0x439dc6['body'],null))[_0x571c('0x1b')](respondWithResult(_0x53b56f,null))[_0x571c('0x24')](handleError(_0x53b56f,null));};exports[_0x571c('0x30')]=function(_0x370574,_0x2d23e4){return db[_0x571c('0x36')][_0x571c('0x51')]({'where':{'id':_0x370574[_0x571c('0x4f')]['id']}})[_0x571c('0x1b')](handleEntityNotFound(_0x2d23e4,null))[_0x571c('0x1b')](removeEntity(_0x2d23e4,null))[_0x571c('0x24')](handleError(_0x2d23e4,null));};exports[_0x571c('0x55')]=function(_0x10eb84,_0x345ede,_0x1db4fa){var _0x84b3cb={};var _0x3d8974={};var _0xe219d;var _0x70bc8;return db[_0x571c('0x36')][_0x571c('0x56')]({'where':{'id':_0x10eb84[_0x571c('0x4f')]['id']}})[_0x571c('0x1b')](handleEntityNotFound(_0x345ede,null))['then'](function(_0x3fce09){if(_0x3fce09){_0xe219d=_0x3fce09;_0x3d8974[_0x571c('0x39')]=_[_0x571c('0x3b')](db[_0x571c('0x57')][_0x571c('0x37')]);_0x3d8974[_0x571c('0x3a')]=_['keys'](_0x10eb84[_0x571c('0x3a')]);_0x3d8974[_0x571c('0x3c')]=_[_0x571c('0x3d')](_0x3d8974[_0x571c('0x39')],_0x3d8974[_0x571c('0x3a')]);_0x84b3cb[_0x571c('0x3f')]=_[_0x571c('0x3d')](_0x3d8974[_0x571c('0x39')],qs[_0x571c('0x3e')](_0x10eb84['query']['fields']));_0x84b3cb['attributes']=_0x84b3cb[_0x571c('0x3f')]['length']?_0x84b3cb[_0x571c('0x3f')]:_0x3d8974['model'];_0x84b3cb[_0x571c('0x43')]=qs[_0x571c('0x44')](_0x10eb84['query'][_0x571c('0x44')]);_0x84b3cb[_0x571c('0x45')]=qs['filters'](_[_0x571c('0x58')](_0x10eb84[_0x571c('0x3a')],_0x3d8974[_0x571c('0x3c')]));if(_0x10eb84[_0x571c('0x3a')]['filter']){_0x84b3cb[_0x571c('0x45')]=_['merge'](_0x84b3cb[_0x571c('0x45')],{'$or':_[_0x571c('0x35')](_0x84b3cb[_0x571c('0x3f')],function(_0x276a41){var _0x3611ee={};_0x3611ee[_0x276a41]={'$like':'%'+_0x10eb84[_0x571c('0x3a')][_0x571c('0x49')]+'%'};return _0x3611ee;})});}_0x84b3cb=_[_0x571c('0x46')]({},_0x84b3cb,_0x10eb84[_0x571c('0x4a')]);return _0xe219d[_0x571c('0x55')](_0x84b3cb);}})['then'](function(_0x4d30e9){if(_0x4d30e9){_0x70bc8=_0x4d30e9[_0x571c('0x40')];if(!_0x10eb84[_0x571c('0x3a')]['hasOwnProperty'](_0x571c('0x42'))){_0x84b3cb[_0x571c('0x2a')]=qs['limit'](_0x10eb84['query'][_0x571c('0x2a')]);_0x84b3cb[_0x571c('0x29')]=qs[_0x571c('0x29')](_0x10eb84['query']['offset']);}return _0xe219d[_0x571c('0x55')](_0x84b3cb);}})['then'](function(_0x453ac8){if(_0x453ac8){return _0x453ac8?{'count':_0x70bc8,'rows':_0x453ac8}:null;}})['then'](respondWithResult(_0x345ede,null))[_0x571c('0x24')](handleError(_0x345ede,null));};exports[_0x571c('0x59')]=function(_0x15938e,_0x464472,_0x344d38){var _0x3c85e2={};var _0x1ccc97={};var _0x459337;var _0x3e20aa;return db['SalesforceConfiguration'][_0x571c('0x56')]({'where':{'id':_0x15938e[_0x571c('0x4f')]['id']}})[_0x571c('0x1b')](handleEntityNotFound(_0x464472,null))[_0x571c('0x1b')](function(_0x53d9c2){if(_0x53d9c2){_0x459337=_0x53d9c2;_0x1ccc97[_0x571c('0x39')]=_[_0x571c('0x3b')](db[_0x571c('0x57')][_0x571c('0x37')]);_0x1ccc97[_0x571c('0x3a')]=_[_0x571c('0x3b')](_0x15938e['query']);_0x1ccc97[_0x571c('0x3c')]=_[_0x571c('0x3d')](_0x1ccc97['model'],_0x1ccc97[_0x571c('0x3a')]);_0x3c85e2['attributes']=_[_0x571c('0x3d')](_0x1ccc97[_0x571c('0x39')],qs['fields'](_0x15938e[_0x571c('0x3a')]['fields']));_0x3c85e2['attributes']=_0x3c85e2['attributes'][_0x571c('0x40')]?_0x3c85e2[_0x571c('0x3f')]:_0x1ccc97[_0x571c('0x39')];_0x3c85e2[_0x571c('0x43')]=qs[_0x571c('0x44')](_0x15938e[_0x571c('0x3a')][_0x571c('0x44')]);_0x3c85e2[_0x571c('0x45')]=qs['filters'](_[_0x571c('0x58')](_0x15938e['query'],_0x1ccc97[_0x571c('0x3c')]));if(_0x15938e[_0x571c('0x3a')][_0x571c('0x49')]){_0x3c85e2[_0x571c('0x45')]=_['merge'](_0x3c85e2[_0x571c('0x45')],{'$or':_[_0x571c('0x35')](_0x3c85e2[_0x571c('0x3f')],function(_0x566f21){var _0x2b3ed6={};_0x2b3ed6[_0x566f21]={'$like':'%'+_0x15938e['query'][_0x571c('0x49')]+'%'};return _0x2b3ed6;})});}_0x3c85e2=_[_0x571c('0x46')]({},_0x3c85e2,_0x15938e[_0x571c('0x4a')]);return _0x459337['getSubjects'](_0x3c85e2);}})[_0x571c('0x1b')](function(_0x42d885){if(_0x42d885){_0x3e20aa=_0x42d885[_0x571c('0x40')];if(!_0x15938e[_0x571c('0x3a')][_0x571c('0x41')](_0x571c('0x42'))){_0x3c85e2['limit']=qs[_0x571c('0x2a')](_0x15938e['query'][_0x571c('0x2a')]);_0x3c85e2[_0x571c('0x29')]=qs[_0x571c('0x29')](_0x15938e[_0x571c('0x3a')][_0x571c('0x29')]);}return _0x459337[_0x571c('0x59')](_0x3c85e2);}})[_0x571c('0x1b')](function(_0x571075){if(_0x571075){return _0x571075?{'count':_0x3e20aa,'rows':_0x571075}:null;}})[_0x571c('0x1b')](respondWithResult(_0x464472,null))[_0x571c('0x24')](handleError(_0x464472,null));};exports['getDescriptions']=function(_0x15e041,_0x50333f,_0x25715f){var _0x314171={};var _0x51e70a={};var _0x5b2dcb;var _0x32ed1b;return db[_0x571c('0x36')][_0x571c('0x56')]({'where':{'id':_0x15e041[_0x571c('0x4f')]['id']}})[_0x571c('0x1b')](handleEntityNotFound(_0x50333f,null))[_0x571c('0x1b')](function(_0x1587c1){if(_0x1587c1){_0x5b2dcb=_0x1587c1;_0x51e70a[_0x571c('0x39')]=_['keys'](db[_0x571c('0x57')][_0x571c('0x37')]);_0x51e70a['query']=_['keys'](_0x15e041[_0x571c('0x3a')]);_0x51e70a[_0x571c('0x3c')]=_['intersection'](_0x51e70a[_0x571c('0x39')],_0x51e70a[_0x571c('0x3a')]);_0x314171[_0x571c('0x3f')]=_[_0x571c('0x3d')](_0x51e70a[_0x571c('0x39')],qs[_0x571c('0x3e')](_0x15e041[_0x571c('0x3a')]['fields']));_0x314171[_0x571c('0x3f')]=_0x314171[_0x571c('0x3f')][_0x571c('0x40')]?_0x314171[_0x571c('0x3f')]:_0x51e70a['model'];_0x314171[_0x571c('0x43')]=qs[_0x571c('0x44')](_0x15e041[_0x571c('0x3a')][_0x571c('0x44')]);_0x314171[_0x571c('0x45')]=qs['filters'](_[_0x571c('0x58')](_0x15e041[_0x571c('0x3a')],_0x51e70a[_0x571c('0x3c')]));if(_0x15e041[_0x571c('0x3a')][_0x571c('0x49')]){_0x314171[_0x571c('0x45')]=_[_0x571c('0x46')](_0x314171[_0x571c('0x45')],{'$or':_[_0x571c('0x35')](_0x314171['attributes'],function(_0x2c95c9){var _0x1acf0b={};_0x1acf0b[_0x2c95c9]={'$like':'%'+_0x15e041[_0x571c('0x3a')]['filter']+'%'};return _0x1acf0b;})});}_0x314171=_[_0x571c('0x46')]({},_0x314171,_0x15e041[_0x571c('0x4a')]);return _0x5b2dcb[_0x571c('0x5a')](_0x314171);}})['then'](function(_0xa8b191){if(_0xa8b191){_0x32ed1b=_0xa8b191[_0x571c('0x40')];if(!_0x15e041[_0x571c('0x3a')][_0x571c('0x41')](_0x571c('0x42'))){_0x314171['limit']=qs[_0x571c('0x2a')](_0x15e041['query'][_0x571c('0x2a')]);_0x314171[_0x571c('0x29')]=qs['offset'](_0x15e041['query']['offset']);}return _0x5b2dcb[_0x571c('0x5a')](_0x314171);}})[_0x571c('0x1b')](function(_0xa3400e){if(_0xa3400e){return _0xa3400e?{'count':_0x32ed1b,'rows':_0xa3400e}:null;}})[_0x571c('0x1b')](respondWithResult(_0x50333f,null))[_0x571c('0x24')](handleError(_0x50333f,null));};