Built motion from commit (unavailable).|2.6.0
[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 _0x417f=['to-csv','fs-extra','lodash','jsforce','querystring','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','jayson/promise','http','then','info','SalesforceConfiguration,\x20%s,\x20%s','request\x20sent','debug','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','name','send','index','map','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','include','SalesforceConfiguration','findAll','show','length','find','create','update','body','params','findOne','SalesforceField','getFields','getSubjects','hasOwnProperty','getDescriptions','eml-format','zip-dir','fast-json-patch','mustache','util','path','sox'];(function(_0x32c6e7,_0x540b99){var _0x26b6f4=function(_0x4ec13b){while(--_0x4ec13b){_0x32c6e7['push'](_0x32c6e7['shift']());}};_0x26b6f4(++_0x540b99);}(_0x417f,0x145));var _0xf417=function(_0x112371,_0x276e71){_0x112371=_0x112371-0x0;var _0x1647bc=_0x417f[_0x112371];return _0x1647bc;};'use strict';var emlformat=require(_0xf417('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf417('0x1'));var jsonpatch=require(_0xf417('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xf417('0x3'));var util=require(_0xf417('0x4'));var path=require(_0xf417('0x5'));var sox=require(_0xf417('0x6'));var csv=require(_0xf417('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf417('0x8'));var _=require(_0xf417('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xf417('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xf417('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf417('0xc'));var logger=require('../../config/logger')(_0xf417('0xd'));var utils=require(_0xf417('0xe'));var config=require(_0xf417('0xf'));var licenseUtil=require(_0xf417('0x10'));var db=require('../../mysqldb')['db'];var jayson=require(_0xf417('0x11'));var client=jayson['client'][_0xf417('0x12')]({'port':0x232a});function respondWithRpcPromise(_0x565e44,_0x1370ba,_0x1bc837,_0x4833f3){return new BPromise(function(_0x31c161,_0x4349d2){var _0x15ae24=_0x4833f3||client;return _0x15ae24['request'](_0x565e44,_0x1bc837)[_0xf417('0x13')](function(_0x2a10a1){logger[_0xf417('0x14')](_0xf417('0x15'),_0x1370ba,_0xf417('0x16'));logger[_0xf417('0x17')](_0xf417('0x18'),_0x1370ba,_0xf417('0x16'),JSON[_0xf417('0x19')](_0x2a10a1));if(_0x2a10a1[_0xf417('0x1a')]){if(_0x2a10a1[_0xf417('0x1a')][_0xf417('0x1b')]===0x1f4){logger[_0xf417('0x1a')](_0xf417('0x15'),_0x1370ba,_0x2a10a1[_0xf417('0x1a')][_0xf417('0x1c')]);return _0x4349d2(_0x2a10a1[_0xf417('0x1a')][_0xf417('0x1c')]);}logger[_0xf417('0x1a')]('SalesforceConfiguration,\x20%s,\x20%s',_0x1370ba,_0x2a10a1['error'][_0xf417('0x1c')]);return _0x31c161(_0x2a10a1[_0xf417('0x1a')][_0xf417('0x1c')]);}else{logger['info'](_0xf417('0x15'),_0x1370ba,_0xf417('0x16'));_0x31c161(_0x2a10a1[_0xf417('0x1d')]['message']);}})[_0xf417('0x1e')](function(_0xf57e24){logger['error'](_0xf417('0x15'),_0x1370ba,_0xf57e24);_0x4349d2(_0xf57e24);});});}function respondWithStatusCode(_0x4fc065,_0x480ee2){_0x480ee2=_0x480ee2||0xcc;return function(_0x1c35ff){if(_0x1c35ff){return _0x4fc065[_0xf417('0x1f')](_0x480ee2);}return _0x4fc065[_0xf417('0x20')](_0x480ee2)[_0xf417('0x21')]();};}function respondWithResult(_0x30bba9,_0x504911){_0x504911=_0x504911||0xc8;return function(_0x3ec0db){if(_0x3ec0db){return _0x30bba9[_0xf417('0x20')](_0x504911)[_0xf417('0x22')](_0x3ec0db);}};}function respondWithFilteredResult(_0x50ee36,_0x20b7a0){return function(_0x4f400c){if(_0x4f400c){var _0x1c1297=typeof _0x20b7a0[_0xf417('0x23')]===_0xf417('0x24')&&typeof _0x20b7a0['limit']==='undefined';var _0x24d449=_0x4f400c[_0xf417('0x25')];var _0x163ffb=_0x1c1297?0x0:_0x20b7a0['offset'];var _0x2b6df1=_0x1c1297?_0x4f400c[_0xf417('0x25')]:_0x20b7a0[_0xf417('0x23')]+_0x20b7a0[_0xf417('0x26')];var _0x1c6796;if(_0x2b6df1>=_0x24d449){_0x2b6df1=_0x24d449;_0x1c6796=0xc8;}else{_0x1c6796=0xce;}_0x50ee36['status'](_0x1c6796);return _0x50ee36[_0xf417('0x27')](_0xf417('0x28'),_0x163ffb+'-'+_0x2b6df1+'/'+_0x24d449)[_0xf417('0x22')](_0x4f400c);}return null;};}function patchUpdates(_0x406517){return function(_0x136d6d){try{jsonpatch['apply'](_0x136d6d,_0x406517,!![]);}catch(_0x50107b){return BPromise[_0xf417('0x29')](_0x50107b);}return _0x136d6d[_0xf417('0x2a')]();};}function saveUpdates(_0x293e77,_0x33517a){return function(_0x22b8c5){if(_0x22b8c5){return _0x22b8c5['update'](_0x293e77)['then'](function(_0x29a023){return _0x29a023;});}return null;};}function removeEntity(_0x3a22fe,_0x53748c){return function(_0x380a3e){if(_0x380a3e){return _0x380a3e['destroy']()[_0xf417('0x13')](function(){_0x3a22fe[_0xf417('0x20')](0xcc)[_0xf417('0x21')]();});}};}function handleEntityNotFound(_0x311219,_0x337249){return function(_0x5d8a30){if(!_0x5d8a30){_0x311219['sendStatus'](0x194);}return _0x5d8a30;};}function handleError(_0x4ef833,_0x5b6646){_0x5b6646=_0x5b6646||0x1f4;return function(_0x2033b0){logger['error'](_0x2033b0['stack']);if(_0x2033b0['name']){delete _0x2033b0[_0xf417('0x2b')];}_0x4ef833[_0xf417('0x20')](_0x5b6646)[_0xf417('0x2c')](_0x2033b0);};}exports[_0xf417('0x2d')]=function(_0x378f19,_0x3bb088){var _0x4bda09={},_0x288041={},_0x2f0edb={'count':0x0,'rows':[]};var _0x46e23c=_[_0xf417('0x2e')](db['SalesforceConfiguration'][_0xf417('0x2f')],function(_0x4bf704){return{'name':_0x4bf704[_0xf417('0x30')],'type':_0x4bf704['type']['key']};});_0x288041[_0xf417('0x31')]=_[_0xf417('0x2e')](_0x46e23c,_0xf417('0x2b'));_0x288041[_0xf417('0x32')]=_[_0xf417('0x33')](_0x378f19[_0xf417('0x32')]);_0x288041[_0xf417('0x34')]=_[_0xf417('0x35')](_0x288041['model'],_0x288041['query']);_0x4bda09[_0xf417('0x36')]=_[_0xf417('0x35')](_0x288041[_0xf417('0x31')],qs[_0xf417('0x37')](_0x378f19['query'][_0xf417('0x37')]));_0x4bda09[_0xf417('0x36')]=_0x4bda09[_0xf417('0x36')]['length']?_0x4bda09[_0xf417('0x36')]:_0x288041[_0xf417('0x31')];if(!_0x378f19[_0xf417('0x32')]['hasOwnProperty'](_0xf417('0x38'))){_0x4bda09[_0xf417('0x26')]=qs[_0xf417('0x26')](_0x378f19[_0xf417('0x32')]['limit']);_0x4bda09[_0xf417('0x23')]=qs['offset'](_0x378f19['query'][_0xf417('0x23')]);}_0x4bda09[_0xf417('0x39')]=qs[_0xf417('0x3a')](_0x378f19[_0xf417('0x32')][_0xf417('0x3a')]);_0x4bda09[_0xf417('0x3b')]=qs[_0xf417('0x34')](_[_0xf417('0x3c')](_0x378f19[_0xf417('0x32')],_0x288041[_0xf417('0x34')]),_0x46e23c);if(_0x378f19[_0xf417('0x32')]['filter']){_0x4bda09['where']=_[_0xf417('0x3d')](_0x4bda09['where'],{'$or':_['map'](_0x46e23c,function(_0x32bf7d){if(_0x32bf7d[_0xf417('0x3e')]!==_0xf417('0x3f')){var _0x5cf4e9={};_0x5cf4e9[_0x32bf7d[_0xf417('0x2b')]]={'$like':'%'+_0x378f19[_0xf417('0x32')][_0xf417('0x40')]+'%'};return _0x5cf4e9;}})});}_0x4bda09=_[_0xf417('0x3d')]({},_0x4bda09,_0x378f19[_0xf417('0x41')]);var _0x38b4f6={'where':_0x4bda09[_0xf417('0x3b')]};return db['SalesforceConfiguration'][_0xf417('0x25')](_0x38b4f6)[_0xf417('0x13')](function(_0x184ed4){_0x2f0edb[_0xf417('0x25')]=_0x184ed4;if(_0x378f19[_0xf417('0x32')][_0xf417('0x42')]){_0x4bda09[_0xf417('0x43')]=[{'all':!![]}];}return db[_0xf417('0x44')][_0xf417('0x45')](_0x4bda09);})['then'](function(_0x3a2ce0){_0x2f0edb['rows']=_0x3a2ce0;return _0x2f0edb;})[_0xf417('0x13')](respondWithFilteredResult(_0x3bb088,_0x4bda09))[_0xf417('0x1e')](handleError(_0x3bb088,null));};exports[_0xf417('0x46')]=function(_0x221fd1,_0x28d58a){var _0x4644c4={'raw':![],'where':{'id':_0x221fd1['params']['id']}},_0x28218c={};_0x28218c[_0xf417('0x31')]=_[_0xf417('0x33')](db[_0xf417('0x44')][_0xf417('0x2f')]);_0x28218c['query']=_[_0xf417('0x33')](_0x221fd1[_0xf417('0x32')]);_0x28218c['filters']=_['intersection'](_0x28218c[_0xf417('0x31')],_0x28218c['query']);_0x4644c4[_0xf417('0x36')]=_[_0xf417('0x35')](_0x28218c[_0xf417('0x31')],qs[_0xf417('0x37')](_0x221fd1[_0xf417('0x32')][_0xf417('0x37')]));_0x4644c4[_0xf417('0x36')]=_0x4644c4['attributes'][_0xf417('0x47')]?_0x4644c4[_0xf417('0x36')]:_0x28218c[_0xf417('0x31')];if(_0x221fd1[_0xf417('0x32')][_0xf417('0x42')]){_0x4644c4[_0xf417('0x43')]=[{'all':!![]}];}_0x4644c4=_[_0xf417('0x3d')]({},_0x4644c4,_0x221fd1[_0xf417('0x41')]);return db[_0xf417('0x44')][_0xf417('0x48')](_0x4644c4)[_0xf417('0x13')](handleEntityNotFound(_0x28d58a,null))[_0xf417('0x13')](respondWithResult(_0x28d58a,null))[_0xf417('0x1e')](handleError(_0x28d58a,null));};exports[_0xf417('0x49')]=function(_0x27c0c9,_0x448ff4){return db[_0xf417('0x44')][_0xf417('0x49')](_0x27c0c9['body'],{})[_0xf417('0x13')](respondWithResult(_0x448ff4,0xc9))[_0xf417('0x1e')](handleError(_0x448ff4,null));};exports[_0xf417('0x4a')]=function(_0x4c1aca,_0x129ebd){if(_0x4c1aca['body']['id']){delete _0x4c1aca[_0xf417('0x4b')]['id'];}return db[_0xf417('0x44')][_0xf417('0x48')]({'where':{'id':_0x4c1aca['params']['id']}})[_0xf417('0x13')](handleEntityNotFound(_0x129ebd,null))[_0xf417('0x13')](saveUpdates(_0x4c1aca[_0xf417('0x4b')],null))[_0xf417('0x13')](respondWithResult(_0x129ebd,null))[_0xf417('0x1e')](handleError(_0x129ebd,null));};exports['destroy']=function(_0x2b7bc9,_0x39ae1){return db[_0xf417('0x44')][_0xf417('0x48')]({'where':{'id':_0x2b7bc9[_0xf417('0x4c')]['id']}})['then'](handleEntityNotFound(_0x39ae1,null))['then'](removeEntity(_0x39ae1,null))[_0xf417('0x1e')](handleError(_0x39ae1,null));};exports['getFields']=function(_0x2ead14,_0x47591a,_0x2150e9){var _0xd99f79={};var _0x19e423={};var _0x49bafa;var _0x2ecf1c;return db['SalesforceConfiguration'][_0xf417('0x4d')]({'where':{'id':_0x2ead14[_0xf417('0x4c')]['id']}})['then'](handleEntityNotFound(_0x47591a,null))[_0xf417('0x13')](function(_0x521dec){if(_0x521dec){_0x49bafa=_0x521dec;_0x19e423[_0xf417('0x31')]=_['keys'](db[_0xf417('0x4e')][_0xf417('0x2f')]);_0x19e423['query']=_['keys'](_0x2ead14[_0xf417('0x32')]);_0x19e423[_0xf417('0x34')]=_[_0xf417('0x35')](_0x19e423[_0xf417('0x31')],_0x19e423[_0xf417('0x32')]);_0xd99f79['attributes']=_[_0xf417('0x35')](_0x19e423[_0xf417('0x31')],qs[_0xf417('0x37')](_0x2ead14['query']['fields']));_0xd99f79[_0xf417('0x36')]=_0xd99f79['attributes'][_0xf417('0x47')]?_0xd99f79[_0xf417('0x36')]:_0x19e423[_0xf417('0x31')];_0xd99f79[_0xf417('0x39')]=qs[_0xf417('0x3a')](_0x2ead14[_0xf417('0x32')]['sort']);_0xd99f79[_0xf417('0x3b')]=qs['filters'](_['pick'](_0x2ead14[_0xf417('0x32')],_0x19e423[_0xf417('0x34')]));if(_0x2ead14[_0xf417('0x32')][_0xf417('0x40')]){_0xd99f79[_0xf417('0x3b')]=_[_0xf417('0x3d')](_0xd99f79[_0xf417('0x3b')],{'$or':_[_0xf417('0x2e')](_0xd99f79['attributes'],function(_0x149ae5){var _0x3186df={};_0x3186df[_0x149ae5]={'$like':'%'+_0x2ead14[_0xf417('0x32')]['filter']+'%'};return _0x3186df;})});}_0xd99f79=_[_0xf417('0x3d')]({},_0xd99f79,_0x2ead14['options']);return _0x49bafa[_0xf417('0x4f')](_0xd99f79);}})[_0xf417('0x13')](function(_0x1077c8){if(_0x1077c8){_0x2ecf1c=_0x1077c8[_0xf417('0x47')];if(!_0x2ead14[_0xf417('0x32')]['hasOwnProperty'](_0xf417('0x38'))){_0xd99f79[_0xf417('0x26')]=qs[_0xf417('0x26')](_0x2ead14['query']['limit']);_0xd99f79['offset']=qs[_0xf417('0x23')](_0x2ead14[_0xf417('0x32')]['offset']);}return _0x49bafa[_0xf417('0x4f')](_0xd99f79);}})['then'](function(_0x17212a){if(_0x17212a){return _0x17212a?{'count':_0x2ecf1c,'rows':_0x17212a}:null;}})['then'](respondWithResult(_0x47591a,null))[_0xf417('0x1e')](handleError(_0x47591a,null));};exports[_0xf417('0x50')]=function(_0x1eebc5,_0x501ce3,_0x2d29f7){var _0x535a01={};var _0x188501={};var _0x1dca0b;var _0x2be2c0;return db[_0xf417('0x44')][_0xf417('0x4d')]({'where':{'id':_0x1eebc5[_0xf417('0x4c')]['id']}})['then'](handleEntityNotFound(_0x501ce3,null))[_0xf417('0x13')](function(_0x1d35fb){if(_0x1d35fb){_0x1dca0b=_0x1d35fb;_0x188501[_0xf417('0x31')]=_['keys'](db[_0xf417('0x4e')][_0xf417('0x2f')]);_0x188501[_0xf417('0x32')]=_['keys'](_0x1eebc5[_0xf417('0x32')]);_0x188501[_0xf417('0x34')]=_['intersection'](_0x188501[_0xf417('0x31')],_0x188501[_0xf417('0x32')]);_0x535a01['attributes']=_[_0xf417('0x35')](_0x188501[_0xf417('0x31')],qs[_0xf417('0x37')](_0x1eebc5[_0xf417('0x32')][_0xf417('0x37')]));_0x535a01[_0xf417('0x36')]=_0x535a01['attributes'][_0xf417('0x47')]?_0x535a01[_0xf417('0x36')]:_0x188501['model'];_0x535a01[_0xf417('0x39')]=qs[_0xf417('0x3a')](_0x1eebc5[_0xf417('0x32')][_0xf417('0x3a')]);_0x535a01['where']=qs[_0xf417('0x34')](_[_0xf417('0x3c')](_0x1eebc5[_0xf417('0x32')],_0x188501[_0xf417('0x34')]));if(_0x1eebc5[_0xf417('0x32')][_0xf417('0x40')]){_0x535a01[_0xf417('0x3b')]=_[_0xf417('0x3d')](_0x535a01['where'],{'$or':_[_0xf417('0x2e')](_0x535a01[_0xf417('0x36')],function(_0x2b1744){var _0x146a00={};_0x146a00[_0x2b1744]={'$like':'%'+_0x1eebc5[_0xf417('0x32')]['filter']+'%'};return _0x146a00;})});}_0x535a01=_[_0xf417('0x3d')]({},_0x535a01,_0x1eebc5[_0xf417('0x41')]);return _0x1dca0b[_0xf417('0x50')](_0x535a01);}})['then'](function(_0x2b1f93){if(_0x2b1f93){_0x2be2c0=_0x2b1f93['length'];if(!_0x1eebc5[_0xf417('0x32')][_0xf417('0x51')]('nolimit')){_0x535a01[_0xf417('0x26')]=qs[_0xf417('0x26')](_0x1eebc5['query'][_0xf417('0x26')]);_0x535a01[_0xf417('0x23')]=qs[_0xf417('0x23')](_0x1eebc5[_0xf417('0x32')][_0xf417('0x23')]);}return _0x1dca0b['getSubjects'](_0x535a01);}})[_0xf417('0x13')](function(_0x4568a0){if(_0x4568a0){return _0x4568a0?{'count':_0x2be2c0,'rows':_0x4568a0}:null;}})[_0xf417('0x13')](respondWithResult(_0x501ce3,null))[_0xf417('0x1e')](handleError(_0x501ce3,null));};exports['getDescriptions']=function(_0x261b3a,_0x22dad5,_0x50fbc4){var _0x439f40={};var _0x2dc43a={};var _0x4c4b2b;var _0x3dcb8d;return db[_0xf417('0x44')]['findOne']({'where':{'id':_0x261b3a[_0xf417('0x4c')]['id']}})[_0xf417('0x13')](handleEntityNotFound(_0x22dad5,null))['then'](function(_0x194703){if(_0x194703){_0x4c4b2b=_0x194703;_0x2dc43a[_0xf417('0x31')]=_[_0xf417('0x33')](db[_0xf417('0x4e')][_0xf417('0x2f')]);_0x2dc43a[_0xf417('0x32')]=_[_0xf417('0x33')](_0x261b3a[_0xf417('0x32')]);_0x2dc43a[_0xf417('0x34')]=_['intersection'](_0x2dc43a['model'],_0x2dc43a[_0xf417('0x32')]);_0x439f40[_0xf417('0x36')]=_[_0xf417('0x35')](_0x2dc43a[_0xf417('0x31')],qs[_0xf417('0x37')](_0x261b3a['query'][_0xf417('0x37')]));_0x439f40[_0xf417('0x36')]=_0x439f40[_0xf417('0x36')]['length']?_0x439f40[_0xf417('0x36')]:_0x2dc43a[_0xf417('0x31')];_0x439f40['order']=qs[_0xf417('0x3a')](_0x261b3a[_0xf417('0x32')][_0xf417('0x3a')]);_0x439f40[_0xf417('0x3b')]=qs[_0xf417('0x34')](_[_0xf417('0x3c')](_0x261b3a[_0xf417('0x32')],_0x2dc43a['filters']));if(_0x261b3a['query']['filter']){_0x439f40[_0xf417('0x3b')]=_[_0xf417('0x3d')](_0x439f40[_0xf417('0x3b')],{'$or':_[_0xf417('0x2e')](_0x439f40[_0xf417('0x36')],function(_0x2607d1){var _0x5862eb={};_0x5862eb[_0x2607d1]={'$like':'%'+_0x261b3a[_0xf417('0x32')][_0xf417('0x40')]+'%'};return _0x5862eb;})});}_0x439f40=_[_0xf417('0x3d')]({},_0x439f40,_0x261b3a['options']);return _0x4c4b2b[_0xf417('0x52')](_0x439f40);}})[_0xf417('0x13')](function(_0x3ac217){if(_0x3ac217){_0x3dcb8d=_0x3ac217[_0xf417('0x47')];if(!_0x261b3a[_0xf417('0x32')][_0xf417('0x51')]('nolimit')){_0x439f40[_0xf417('0x26')]=qs[_0xf417('0x26')](_0x261b3a[_0xf417('0x32')][_0xf417('0x26')]);_0x439f40[_0xf417('0x23')]=qs[_0xf417('0x23')](_0x261b3a[_0xf417('0x32')][_0xf417('0x23')]);}return _0x4c4b2b[_0xf417('0x52')](_0x439f40);}})[_0xf417('0x13')](function(_0x3412b6){if(_0x3412b6){return _0x3412b6?{'count':_0x3dcb8d,'rows':_0x3412b6}:null;}})[_0xf417('0x13')](respondWithResult(_0x22dad5,null))['catch'](handleError(_0x22dad5,null));};