432b4a4b9e5f4a6aef0caea04c482a0ab0feb980
[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 _0x209f=['status','offset','limit','set','apply','reject','update','then','stack','name','send','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','filters','filter','where','VIRTUAL','merge','options','count','includeAll','include','findAll','rows','show','params','fields','find','create','body','destroy','findOne','SalesforceField','order','sort','pick','getFields','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','http','request','info','SalesforceConfiguration,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','catch','sendStatus','end'];(function(_0x806e3d,_0x20b8e6){var _0x3fa582=function(_0x4474c9){while(--_0x4474c9){_0x806e3d['push'](_0x806e3d['shift']());}};_0x3fa582(++_0x20b8e6);}(_0x209f,0xe9));var _0xf209=function(_0x143829,_0x126560){_0x143829=_0x143829-0x0;var _0x2640a6=_0x209f[_0x143829];return _0x2640a6;};'use strict';var pdf=require(_0xf209('0x0'));var emlformat=require(_0xf209('0x1'));var rimraf=require(_0xf209('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf209('0x3'));var rp=require(_0xf209('0x4'));var moment=require(_0xf209('0x5'));var BPromise=require(_0xf209('0x6'));var Mustache=require(_0xf209('0x7'));var util=require('util');var path=require(_0xf209('0x8'));var sox=require(_0xf209('0x9'));var csv=require(_0xf209('0xa'));var ejs=require(_0xf209('0xb'));var fs=require('fs');var _=require(_0xf209('0xc'));var squel=require(_0xf209('0xd'));var crypto=require(_0xf209('0xe'));var jsforce=require(_0xf209('0xf'));var deskjs=require(_0xf209('0x10'));var toCsv=require(_0xf209('0xa'));var querystring=require(_0xf209('0x11'));var Papa=require(_0xf209('0x12'));var Redis=require(_0xf209('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xf209('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf209('0x15'));var logger=require(_0xf209('0x16'))('api');var utils=require(_0xf209('0x17'));var config=require(_0xf209('0x18'));var licenseUtil=require(_0xf209('0x19'));var db=require(_0xf209('0x1a'))['db'];var jayson=require(_0xf209('0x1b'));var client=jayson['client'][_0xf209('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x24026b,_0x1550a0,_0x204ee2,_0xa5390c){return new BPromise(function(_0x578503,_0x3f1332){var _0x4232e8=_0xa5390c||client;return _0x4232e8[_0xf209('0x1d')](_0x24026b,_0x204ee2)['then'](function(_0xc2b9cd){logger[_0xf209('0x1e')](_0xf209('0x1f'),_0x1550a0,_0xf209('0x20'));logger['debug']('SalesforceConfiguration,\x20%s,\x20%s,\x20%s',_0x1550a0,_0xf209('0x20'),JSON[_0xf209('0x21')](_0xc2b9cd));if(_0xc2b9cd['error']){if(_0xc2b9cd[_0xf209('0x22')][_0xf209('0x23')]===0x1f4){logger['error'](_0xf209('0x1f'),_0x1550a0,_0xc2b9cd['error']['message']);return _0x3f1332(_0xc2b9cd[_0xf209('0x22')][_0xf209('0x24')]);}logger['error']('SalesforceConfiguration,\x20%s,\x20%s',_0x1550a0,_0xc2b9cd[_0xf209('0x22')]['message']);return _0x578503(_0xc2b9cd[_0xf209('0x22')][_0xf209('0x24')]);}else{logger[_0xf209('0x1e')](_0xf209('0x1f'),_0x1550a0,'request\x20sent');_0x578503(_0xc2b9cd['result'][_0xf209('0x24')]);}})[_0xf209('0x25')](function(_0x49578e){logger['error']('SalesforceConfiguration,\x20%s,\x20%s',_0x1550a0,_0x49578e);_0x3f1332(_0x49578e);});});}function respondWithStatusCode(_0x4b7c,_0x74395c){_0x74395c=_0x74395c||0xcc;return function(_0x48105d){if(_0x48105d){return _0x4b7c[_0xf209('0x26')](_0x74395c);}return _0x4b7c['status'](_0x74395c)[_0xf209('0x27')]();};}function respondWithResult(_0x120e23,_0x3c3d0e){_0x3c3d0e=_0x3c3d0e||0xc8;return function(_0x734931){if(_0x734931){return _0x120e23[_0xf209('0x28')](_0x3c3d0e)['json'](_0x734931);}};}function respondWithFilteredResult(_0x5bbb5f,_0x284de4){return function(_0xac2d65){if(_0xac2d65){var _0x52270f=_0xac2d65['count'],_0x553959=_0x284de4[_0xf209('0x29')],_0x3e9cd7=_0x284de4[_0xf209('0x29')]+_0x284de4[_0xf209('0x2a')],_0x283b94;if(_0x3e9cd7>=_0x52270f){_0x3e9cd7=_0x52270f;_0x283b94=0xc8;}else{_0x283b94=0xce;}_0x5bbb5f[_0xf209('0x28')](_0x283b94);return _0x5bbb5f[_0xf209('0x2b')]('Content-Range',_0x553959+'-'+_0x3e9cd7+'/'+_0x52270f)['json'](_0xac2d65);}return null;};}function patchUpdates(_0x4ad41d){return function(_0x45a7e3){try{jsonpatch[_0xf209('0x2c')](_0x45a7e3,_0x4ad41d,!![]);}catch(_0x2c4aaf){return BPromise[_0xf209('0x2d')](_0x2c4aaf);}return _0x45a7e3['save']();};}function saveUpdates(_0x447225,_0x1e26b4){return function(_0x383d6e){if(_0x383d6e){return _0x383d6e[_0xf209('0x2e')](_0x447225)['then'](function(_0x4016b7){return _0x4016b7;});}return null;};}function removeEntity(_0x539831,_0x4a02a5){return function(_0x53a5c5){if(_0x53a5c5){return _0x53a5c5['destroy']()[_0xf209('0x2f')](function(){_0x539831[_0xf209('0x28')](0xcc)[_0xf209('0x27')]();});}};}function handleEntityNotFound(_0x1519fa,_0x30cfa4){return function(_0x29cdff){if(!_0x29cdff){_0x1519fa[_0xf209('0x26')](0x194);}return _0x29cdff;};}function handleError(_0xc3da00,_0x5cbbbf){_0x5cbbbf=_0x5cbbbf||0x1f4;return function(_0x41ddfd){logger[_0xf209('0x22')](_0x41ddfd[_0xf209('0x30')]);if(_0x41ddfd[_0xf209('0x31')]){delete _0x41ddfd[_0xf209('0x31')];}_0xc3da00[_0xf209('0x28')](_0x5cbbbf)[_0xf209('0x32')](_0x41ddfd);};}exports['index']=function(_0x466c6f,_0x3a2e11){var _0x389396={},_0x52c239={},_0x23686f={'count':0x0,'rows':[]};var _0x33ebe7=_[_0xf209('0x33')](db[_0xf209('0x34')][_0xf209('0x35')],function(_0x278aa9){return{'name':_0x278aa9[_0xf209('0x36')],'type':_0x278aa9[_0xf209('0x37')][_0xf209('0x38')]};});_0x52c239[_0xf209('0x39')]=_['map'](_0x33ebe7,'name');_0x52c239[_0xf209('0x3a')]=_[_0xf209('0x3b')](_0x466c6f[_0xf209('0x3a')]);_0x52c239['filters']=_[_0xf209('0x3c')](_0x52c239[_0xf209('0x39')],_0x52c239[_0xf209('0x3a')]);_0x389396['attributes']=_['intersection'](_0x52c239['model'],qs['fields'](_0x466c6f['query']['fields']));_0x389396[_0xf209('0x3d')]=_0x389396[_0xf209('0x3d')][_0xf209('0x3e')]?_0x389396[_0xf209('0x3d')]:_0x52c239[_0xf209('0x39')];if(!_0x466c6f['query'][_0xf209('0x3f')](_0xf209('0x40'))){_0x389396[_0xf209('0x2a')]=qs[_0xf209('0x2a')](_0x466c6f[_0xf209('0x3a')][_0xf209('0x2a')]);_0x389396[_0xf209('0x29')]=qs[_0xf209('0x29')](_0x466c6f[_0xf209('0x3a')][_0xf209('0x29')]);}_0x389396['order']=qs['sort'](_0x466c6f[_0xf209('0x3a')]['sort']);_0x389396['where']=qs[_0xf209('0x41')](_['pick'](_0x466c6f[_0xf209('0x3a')],_0x52c239[_0xf209('0x41')]),_0x33ebe7);if(_0x466c6f[_0xf209('0x3a')][_0xf209('0x42')]){_0x389396[_0xf209('0x43')]=_['merge'](_0x389396['where'],{'$or':_[_0xf209('0x33')](_0x33ebe7,function(_0x5e6c67){if(_0x5e6c67[_0xf209('0x37')]!==_0xf209('0x44')){var _0x49afc0={};_0x49afc0[_0x5e6c67[_0xf209('0x31')]]={'$like':'%'+_0x466c6f[_0xf209('0x3a')][_0xf209('0x42')]+'%'};return _0x49afc0;}})});}_0x389396=_[_0xf209('0x45')]({},_0x389396,_0x466c6f[_0xf209('0x46')]);var _0x312367={'where':_0x389396[_0xf209('0x43')]};return db[_0xf209('0x34')][_0xf209('0x47')](_0x312367)[_0xf209('0x2f')](function(_0x1bd28b){_0x23686f['count']=_0x1bd28b;if(_0x466c6f[_0xf209('0x3a')][_0xf209('0x48')]){_0x389396[_0xf209('0x49')]=[{'all':!![]}];}return db[_0xf209('0x34')][_0xf209('0x4a')](_0x389396);})[_0xf209('0x2f')](function(_0x17de29){_0x23686f[_0xf209('0x4b')]=_0x17de29;return _0x23686f;})['then'](respondWithFilteredResult(_0x3a2e11,_0x389396))['catch'](handleError(_0x3a2e11,null));};exports[_0xf209('0x4c')]=function(_0x5e5b90,_0x55006a){var _0x1407c9={'raw':![],'where':{'id':_0x5e5b90[_0xf209('0x4d')]['id']}},_0x22ae57={};_0x22ae57[_0xf209('0x39')]=_['keys'](db[_0xf209('0x34')][_0xf209('0x35')]);_0x22ae57[_0xf209('0x3a')]=_['keys'](_0x5e5b90[_0xf209('0x3a')]);_0x22ae57[_0xf209('0x41')]=_['intersection'](_0x22ae57[_0xf209('0x39')],_0x22ae57['query']);_0x1407c9[_0xf209('0x3d')]=_[_0xf209('0x3c')](_0x22ae57[_0xf209('0x39')],qs[_0xf209('0x4e')](_0x5e5b90[_0xf209('0x3a')][_0xf209('0x4e')]));_0x1407c9['attributes']=_0x1407c9['attributes'][_0xf209('0x3e')]?_0x1407c9[_0xf209('0x3d')]:_0x22ae57[_0xf209('0x39')];if(_0x5e5b90[_0xf209('0x3a')]['includeAll']){_0x1407c9['include']=[{'all':!![]}];}_0x1407c9=_[_0xf209('0x45')]({},_0x1407c9,_0x5e5b90[_0xf209('0x46')]);return db[_0xf209('0x34')][_0xf209('0x4f')](_0x1407c9)[_0xf209('0x2f')](handleEntityNotFound(_0x55006a,null))[_0xf209('0x2f')](respondWithResult(_0x55006a,null))['catch'](handleError(_0x55006a,null));};exports[_0xf209('0x50')]=function(_0x53bc03,_0x106288){return db[_0xf209('0x34')]['create'](_0x53bc03[_0xf209('0x51')],{})['then'](respondWithResult(_0x106288,0xc9))['catch'](handleError(_0x106288,null));};exports[_0xf209('0x2e')]=function(_0x36b796,_0x43154c){if(_0x36b796[_0xf209('0x51')]['id']){delete _0x36b796[_0xf209('0x51')]['id'];}return db[_0xf209('0x34')]['find']({'where':{'id':_0x36b796[_0xf209('0x4d')]['id']}})[_0xf209('0x2f')](handleEntityNotFound(_0x43154c,null))['then'](saveUpdates(_0x36b796['body'],null))[_0xf209('0x2f')](respondWithResult(_0x43154c,null))[_0xf209('0x25')](handleError(_0x43154c,null));};exports[_0xf209('0x52')]=function(_0x5e8061,_0x4c6487){return db[_0xf209('0x34')][_0xf209('0x4f')]({'where':{'id':_0x5e8061[_0xf209('0x4d')]['id']}})[_0xf209('0x2f')](handleEntityNotFound(_0x4c6487,null))[_0xf209('0x2f')](removeEntity(_0x4c6487,null))[_0xf209('0x25')](handleError(_0x4c6487,null));};exports['getFields']=function(_0x156050,_0x506819,_0x1a4e21){var _0x18a9bf={};var _0xa1378b={};var _0x4e0163;var _0x2e8de8;return db[_0xf209('0x34')][_0xf209('0x53')]({'where':{'id':_0x156050[_0xf209('0x4d')]['id']}})[_0xf209('0x2f')](handleEntityNotFound(_0x506819,null))[_0xf209('0x2f')](function(_0x2c832d){if(_0x2c832d){_0x4e0163=_0x2c832d;_0xa1378b['model']=_[_0xf209('0x3b')](db[_0xf209('0x54')][_0xf209('0x35')]);_0xa1378b[_0xf209('0x3a')]=_['keys'](_0x156050[_0xf209('0x3a')]);_0xa1378b[_0xf209('0x41')]=_[_0xf209('0x3c')](_0xa1378b[_0xf209('0x39')],_0xa1378b[_0xf209('0x3a')]);_0x18a9bf[_0xf209('0x3d')]=_[_0xf209('0x3c')](_0xa1378b['model'],qs['fields'](_0x156050[_0xf209('0x3a')][_0xf209('0x4e')]));_0x18a9bf[_0xf209('0x3d')]=_0x18a9bf[_0xf209('0x3d')][_0xf209('0x3e')]?_0x18a9bf[_0xf209('0x3d')]:_0xa1378b[_0xf209('0x39')];_0x18a9bf[_0xf209('0x55')]=qs[_0xf209('0x56')](_0x156050[_0xf209('0x3a')][_0xf209('0x56')]);_0x18a9bf['where']=qs['filters'](_[_0xf209('0x57')](_0x156050[_0xf209('0x3a')],_0xa1378b[_0xf209('0x41')]));if(_0x156050[_0xf209('0x3a')]['filter']){_0x18a9bf[_0xf209('0x43')]=_[_0xf209('0x45')](_0x18a9bf[_0xf209('0x43')],{'$or':_[_0xf209('0x33')](_0x18a9bf[_0xf209('0x3d')],function(_0x4c0424){var _0x33199c={};_0x33199c[_0x4c0424]={'$like':'%'+_0x156050[_0xf209('0x3a')][_0xf209('0x42')]+'%'};return _0x33199c;})});}_0x18a9bf=_['merge']({},_0x18a9bf,_0x156050[_0xf209('0x46')]);return _0x4e0163[_0xf209('0x58')](_0x18a9bf);}})['then'](function(_0x131b98){if(_0x131b98){_0x2e8de8=_0x131b98[_0xf209('0x3e')];if(!_0x156050[_0xf209('0x3a')][_0xf209('0x3f')](_0xf209('0x40'))){_0x18a9bf[_0xf209('0x2a')]=qs['limit'](_0x156050['query'][_0xf209('0x2a')]);_0x18a9bf[_0xf209('0x29')]=qs[_0xf209('0x29')](_0x156050[_0xf209('0x3a')]['offset']);}return _0x4e0163['getFields'](_0x18a9bf);}})[_0xf209('0x2f')](function(_0x5c83a5){if(_0x5c83a5){return _0x5c83a5?{'count':_0x2e8de8,'rows':_0x5c83a5}:null;}})[_0xf209('0x2f')](respondWithResult(_0x506819,null))[_0xf209('0x25')](handleError(_0x506819,null));};exports['getSubjects']=function(_0x3e7d57,_0x485652,_0x5f0f21){var _0x47f6ed={};var _0x5a824c={};var _0x436696;var _0xf8a7bc;return db[_0xf209('0x34')][_0xf209('0x53')]({'where':{'id':_0x3e7d57[_0xf209('0x4d')]['id']}})[_0xf209('0x2f')](handleEntityNotFound(_0x485652,null))[_0xf209('0x2f')](function(_0x39c58e){if(_0x39c58e){_0x436696=_0x39c58e;_0x5a824c[_0xf209('0x39')]=_['keys'](db[_0xf209('0x54')][_0xf209('0x35')]);_0x5a824c[_0xf209('0x3a')]=_[_0xf209('0x3b')](_0x3e7d57[_0xf209('0x3a')]);_0x5a824c[_0xf209('0x41')]=_[_0xf209('0x3c')](_0x5a824c[_0xf209('0x39')],_0x5a824c[_0xf209('0x3a')]);_0x47f6ed[_0xf209('0x3d')]=_['intersection'](_0x5a824c[_0xf209('0x39')],qs[_0xf209('0x4e')](_0x3e7d57[_0xf209('0x3a')][_0xf209('0x4e')]));_0x47f6ed[_0xf209('0x3d')]=_0x47f6ed[_0xf209('0x3d')]['length']?_0x47f6ed[_0xf209('0x3d')]:_0x5a824c[_0xf209('0x39')];_0x47f6ed[_0xf209('0x55')]=qs['sort'](_0x3e7d57['query']['sort']);_0x47f6ed[_0xf209('0x43')]=qs[_0xf209('0x41')](_[_0xf209('0x57')](_0x3e7d57[_0xf209('0x3a')],_0x5a824c[_0xf209('0x41')]));if(_0x3e7d57[_0xf209('0x3a')][_0xf209('0x42')]){_0x47f6ed[_0xf209('0x43')]=_[_0xf209('0x45')](_0x47f6ed[_0xf209('0x43')],{'$or':_[_0xf209('0x33')](_0x47f6ed[_0xf209('0x3d')],function(_0x1b251e){var _0x4c07a9={};_0x4c07a9[_0x1b251e]={'$like':'%'+_0x3e7d57[_0xf209('0x3a')][_0xf209('0x42')]+'%'};return _0x4c07a9;})});}_0x47f6ed=_[_0xf209('0x45')]({},_0x47f6ed,_0x3e7d57[_0xf209('0x46')]);return _0x436696[_0xf209('0x59')](_0x47f6ed);}})[_0xf209('0x2f')](function(_0x42cb57){if(_0x42cb57){_0xf8a7bc=_0x42cb57[_0xf209('0x3e')];if(!_0x3e7d57['query'][_0xf209('0x3f')]('nolimit')){_0x47f6ed['limit']=qs['limit'](_0x3e7d57[_0xf209('0x3a')][_0xf209('0x2a')]);_0x47f6ed['offset']=qs[_0xf209('0x29')](_0x3e7d57[_0xf209('0x3a')][_0xf209('0x29')]);}return _0x436696['getSubjects'](_0x47f6ed);}})[_0xf209('0x2f')](function(_0x2047c9){if(_0x2047c9){return _0x2047c9?{'count':_0xf8a7bc,'rows':_0x2047c9}:null;}})['then'](respondWithResult(_0x485652,null))[_0xf209('0x25')](handleError(_0x485652,null));};exports['getDescriptions']=function(_0x11eadf,_0xe75fc8,_0x2e76f9){var _0x483de5={};var _0x93c1d1={};var _0x42495c;var _0x5ea70b;return db['SalesforceConfiguration'][_0xf209('0x53')]({'where':{'id':_0x11eadf['params']['id']}})[_0xf209('0x2f')](handleEntityNotFound(_0xe75fc8,null))[_0xf209('0x2f')](function(_0x3bfb10){if(_0x3bfb10){_0x42495c=_0x3bfb10;_0x93c1d1[_0xf209('0x39')]=_[_0xf209('0x3b')](db[_0xf209('0x54')][_0xf209('0x35')]);_0x93c1d1[_0xf209('0x3a')]=_[_0xf209('0x3b')](_0x11eadf[_0xf209('0x3a')]);_0x93c1d1[_0xf209('0x41')]=_['intersection'](_0x93c1d1[_0xf209('0x39')],_0x93c1d1['query']);_0x483de5[_0xf209('0x3d')]=_[_0xf209('0x3c')](_0x93c1d1[_0xf209('0x39')],qs[_0xf209('0x4e')](_0x11eadf[_0xf209('0x3a')][_0xf209('0x4e')]));_0x483de5[_0xf209('0x3d')]=_0x483de5['attributes'][_0xf209('0x3e')]?_0x483de5['attributes']:_0x93c1d1[_0xf209('0x39')];_0x483de5['order']=qs[_0xf209('0x56')](_0x11eadf[_0xf209('0x3a')]['sort']);_0x483de5['where']=qs[_0xf209('0x41')](_['pick'](_0x11eadf[_0xf209('0x3a')],_0x93c1d1[_0xf209('0x41')]));if(_0x11eadf[_0xf209('0x3a')][_0xf209('0x42')]){_0x483de5[_0xf209('0x43')]=_[_0xf209('0x45')](_0x483de5['where'],{'$or':_[_0xf209('0x33')](_0x483de5[_0xf209('0x3d')],function(_0x125ee6){var _0x1591b0={};_0x1591b0[_0x125ee6]={'$like':'%'+_0x11eadf[_0xf209('0x3a')]['filter']+'%'};return _0x1591b0;})});}_0x483de5=_['merge']({},_0x483de5,_0x11eadf[_0xf209('0x46')]);return _0x42495c['getDescriptions'](_0x483de5);}})[_0xf209('0x2f')](function(_0x5c9353){if(_0x5c9353){_0x5ea70b=_0x5c9353[_0xf209('0x3e')];if(!_0x11eadf[_0xf209('0x3a')][_0xf209('0x3f')](_0xf209('0x40'))){_0x483de5[_0xf209('0x2a')]=qs[_0xf209('0x2a')](_0x11eadf[_0xf209('0x3a')][_0xf209('0x2a')]);_0x483de5['offset']=qs['offset'](_0x11eadf[_0xf209('0x3a')]['offset']);}return _0x42495c[_0xf209('0x5a')](_0x483de5);}})['then'](function(_0x4a996c){if(_0x4a996c){return _0x4a996c?{'count':_0x5ea70b,'rows':_0x4a996c}:null;}})[_0xf209('0x2f')](respondWithResult(_0xe75fc8,null))['catch'](handleError(_0xe75fc8,null));};