Built motion from commit ac06311e.|2.6.28
[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 _0x0441=['end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','SalesforceConfiguration','rawAttributes','fieldName','map','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','filter','type','VIRTUAL','includeAll','findAll','rows','show','params','options','find','create','body','catch','getFields','SalesforceField','merge','findOne','pick','getSubjects','getDescriptions','hasOwnProperty','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status'];(function(_0x298e62,_0x4d42bc){var _0x48ba2b=function(_0x1a5471){while(--_0x1a5471){_0x298e62['push'](_0x298e62['shift']());}};_0x48ba2b(++_0x4d42bc);}(_0x0441,0x8c));var _0x1044=function(_0x1f71d8,_0x278518){_0x1f71d8=_0x1f71d8-0x0;var _0x10b045=_0x0441[_0x1f71d8];return _0x10b045;};'use strict';var emlformat=require(_0x1044('0x0'));var rimraf=require(_0x1044('0x1'));var zipdir=require(_0x1044('0x2'));var jsonpatch=require(_0x1044('0x3'));var rp=require('request-promise');var moment=require(_0x1044('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x1044('0x5'));var util=require(_0x1044('0x6'));var path=require(_0x1044('0x7'));var sox=require(_0x1044('0x8'));var csv=require(_0x1044('0x9'));var ejs=require(_0x1044('0xa'));var fs=require('fs');var fs_extra=require(_0x1044('0xb'));var _=require(_0x1044('0xc'));var squel=require(_0x1044('0xd'));var crypto=require(_0x1044('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x1044('0xf'));var toCsv=require(_0x1044('0x9'));var querystring=require(_0x1044('0x10'));var Papa=require(_0x1044('0x11'));var Redis=require(_0x1044('0x12'));var authService=require(_0x1044('0x13'));var qs=require(_0x1044('0x14'));var as=require(_0x1044('0x15'));var hardwareService=require(_0x1044('0x16'));var logger=require(_0x1044('0x17'))(_0x1044('0x18'));var utils=require(_0x1044('0x19'));var config=require(_0x1044('0x1a'));var licenseUtil=require(_0x1044('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3d9c42,_0x14c595){_0x14c595=_0x14c595||0xcc;return function(_0x488155){if(_0x488155){return _0x3d9c42[_0x1044('0x1c')](_0x14c595);}return _0x3d9c42[_0x1044('0x1d')](_0x14c595)[_0x1044('0x1e')]();};}function respondWithResult(_0x400d2b,_0x58971b){_0x58971b=_0x58971b||0xc8;return function(_0x516567){if(_0x516567){return _0x400d2b[_0x1044('0x1d')](_0x58971b)[_0x1044('0x1f')](_0x516567);}};}function respondWithFilteredResult(_0x354850,_0xc5f3d4){return function(_0xefdb07){if(_0xefdb07){var _0x4c6082=typeof _0xc5f3d4['offset']===_0x1044('0x20')&&typeof _0xc5f3d4['limit']===_0x1044('0x20');var _0x34d817=_0xefdb07[_0x1044('0x21')];var _0xa3870d=_0x4c6082?0x0:_0xc5f3d4[_0x1044('0x22')];var _0x8c4a07=_0x4c6082?_0xefdb07[_0x1044('0x21')]:_0xc5f3d4[_0x1044('0x22')]+_0xc5f3d4[_0x1044('0x23')];var _0x36f88a;if(_0x8c4a07>=_0x34d817){_0x8c4a07=_0x34d817;_0x36f88a=0xc8;}else{_0x36f88a=0xce;}_0x354850[_0x1044('0x1d')](_0x36f88a);return _0x354850[_0x1044('0x24')](_0x1044('0x25'),_0xa3870d+'-'+_0x8c4a07+'/'+_0x34d817)[_0x1044('0x1f')](_0xefdb07);}return null;};}function patchUpdates(_0x135a74){return function(_0x262402){try{jsonpatch[_0x1044('0x26')](_0x262402,_0x135a74,!![]);}catch(_0x3e5ba5){return BPromise[_0x1044('0x27')](_0x3e5ba5);}return _0x262402[_0x1044('0x28')]();};}function saveUpdates(_0x1e81c5,_0x1bb5a9){return function(_0x3dfb6d){if(_0x3dfb6d){return _0x3dfb6d[_0x1044('0x29')](_0x1e81c5)[_0x1044('0x2a')](function(_0x489645){return _0x489645;});}return null;};}function removeEntity(_0x41cccc,_0x53b7ee){return function(_0x4294a0){if(_0x4294a0){return _0x4294a0[_0x1044('0x2b')]()['then'](function(){_0x41cccc[_0x1044('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3b5e3,_0x5d0035){return function(_0x2d7c34){if(!_0x2d7c34){_0x3b5e3['sendStatus'](0x194);}return _0x2d7c34;};}function handleError(_0xba4699,_0xb1c1d3){_0xb1c1d3=_0xb1c1d3||0x1f4;return function(_0x28f90b){logger['error'](_0x28f90b[_0x1044('0x2c')]);if(_0x28f90b['name']){delete _0x28f90b[_0x1044('0x2d')];}_0xba4699[_0x1044('0x1d')](_0xb1c1d3)[_0x1044('0x2e')](_0x28f90b);};}exports[_0x1044('0x2f')]=function(_0x56e754,_0x3949a7){var _0x41b432={},_0x880eb0={},_0x13b9c5={'count':0x0,'rows':[]};var _0x3c3eb3=_['map'](db[_0x1044('0x30')][_0x1044('0x31')],function(_0x368487){return{'name':_0x368487[_0x1044('0x32')],'type':_0x368487['type']['key']};});_0x880eb0['model']=_[_0x1044('0x33')](_0x3c3eb3,_0x1044('0x2d'));_0x880eb0[_0x1044('0x34')]=_[_0x1044('0x35')](_0x56e754[_0x1044('0x34')]);_0x880eb0[_0x1044('0x36')]=_[_0x1044('0x37')](_0x880eb0[_0x1044('0x38')],_0x880eb0[_0x1044('0x34')]);_0x41b432[_0x1044('0x39')]=_[_0x1044('0x37')](_0x880eb0['model'],qs['fields'](_0x56e754[_0x1044('0x34')][_0x1044('0x3a')]));_0x41b432[_0x1044('0x39')]=_0x41b432[_0x1044('0x39')][_0x1044('0x3b')]?_0x41b432[_0x1044('0x39')]:_0x880eb0['model'];if(!_0x56e754[_0x1044('0x34')]['hasOwnProperty'](_0x1044('0x3c'))){_0x41b432[_0x1044('0x23')]=qs[_0x1044('0x23')](_0x56e754[_0x1044('0x34')][_0x1044('0x23')]);_0x41b432[_0x1044('0x22')]=qs['offset'](_0x56e754['query'][_0x1044('0x22')]);}_0x41b432[_0x1044('0x3d')]=qs[_0x1044('0x3e')](_0x56e754[_0x1044('0x34')][_0x1044('0x3e')]);_0x41b432[_0x1044('0x3f')]=qs['filters'](_['pick'](_0x56e754['query'],_0x880eb0[_0x1044('0x36')]),_0x3c3eb3);if(_0x56e754[_0x1044('0x34')][_0x1044('0x40')]){_0x41b432[_0x1044('0x3f')]=_['merge'](_0x41b432[_0x1044('0x3f')],{'$or':_['map'](_0x3c3eb3,function(_0x4be5f1){if(_0x4be5f1[_0x1044('0x41')]!==_0x1044('0x42')){var _0xcca54b={};_0xcca54b[_0x4be5f1[_0x1044('0x2d')]]={'$like':'%'+_0x56e754[_0x1044('0x34')][_0x1044('0x40')]+'%'};return _0xcca54b;}})});}_0x41b432=_['merge']({},_0x41b432,_0x56e754['options']);var _0x131eab={'where':_0x41b432['where']};return db['SalesforceConfiguration']['count'](_0x131eab)[_0x1044('0x2a')](function(_0x1bf974){_0x13b9c5[_0x1044('0x21')]=_0x1bf974;if(_0x56e754[_0x1044('0x34')][_0x1044('0x43')]){_0x41b432['include']=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x1044('0x44')](_0x41b432);})[_0x1044('0x2a')](function(_0x24e6d6){_0x13b9c5[_0x1044('0x45')]=_0x24e6d6;return _0x13b9c5;})[_0x1044('0x2a')](respondWithFilteredResult(_0x3949a7,_0x41b432))['catch'](handleError(_0x3949a7,null));};exports[_0x1044('0x46')]=function(_0x36b98c,_0xf1a0f2){var _0x46d3f3={'raw':![],'where':{'id':_0x36b98c[_0x1044('0x47')]['id']}},_0xa34b64={};_0xa34b64[_0x1044('0x38')]=_[_0x1044('0x35')](db[_0x1044('0x30')][_0x1044('0x31')]);_0xa34b64['query']=_[_0x1044('0x35')](_0x36b98c['query']);_0xa34b64[_0x1044('0x36')]=_[_0x1044('0x37')](_0xa34b64['model'],_0xa34b64[_0x1044('0x34')]);_0x46d3f3[_0x1044('0x39')]=_[_0x1044('0x37')](_0xa34b64['model'],qs['fields'](_0x36b98c[_0x1044('0x34')][_0x1044('0x3a')]));_0x46d3f3['attributes']=_0x46d3f3[_0x1044('0x39')]['length']?_0x46d3f3[_0x1044('0x39')]:_0xa34b64[_0x1044('0x38')];if(_0x36b98c[_0x1044('0x34')][_0x1044('0x43')]){_0x46d3f3['include']=[{'all':!![]}];}_0x46d3f3=_['merge']({},_0x46d3f3,_0x36b98c[_0x1044('0x48')]);return db[_0x1044('0x30')][_0x1044('0x49')](_0x46d3f3)[_0x1044('0x2a')](handleEntityNotFound(_0xf1a0f2,null))[_0x1044('0x2a')](respondWithResult(_0xf1a0f2,null))['catch'](handleError(_0xf1a0f2,null));};exports['create']=function(_0x54a110,_0x2dbb7f){return db['SalesforceConfiguration'][_0x1044('0x4a')](_0x54a110[_0x1044('0x4b')],{})['then'](respondWithResult(_0x2dbb7f,0xc9))[_0x1044('0x4c')](handleError(_0x2dbb7f,null));};exports['update']=function(_0x1bdacb,_0x34672c){if(_0x1bdacb[_0x1044('0x4b')]['id']){delete _0x1bdacb[_0x1044('0x4b')]['id'];}return db[_0x1044('0x30')][_0x1044('0x49')]({'where':{'id':_0x1bdacb[_0x1044('0x47')]['id']}})[_0x1044('0x2a')](handleEntityNotFound(_0x34672c,null))[_0x1044('0x2a')](saveUpdates(_0x1bdacb[_0x1044('0x4b')],null))['then'](respondWithResult(_0x34672c,null))['catch'](handleError(_0x34672c,null));};exports[_0x1044('0x2b')]=function(_0x323c2e,_0x290ce3){return db['SalesforceConfiguration']['find']({'where':{'id':_0x323c2e[_0x1044('0x47')]['id']}})['then'](handleEntityNotFound(_0x290ce3,null))['then'](removeEntity(_0x290ce3,null))[_0x1044('0x4c')](handleError(_0x290ce3,null));};exports[_0x1044('0x4d')]=function(_0x1f5e33,_0x599ccb,_0x3074bb){var _0xbced45={};var _0x88a193={};var _0x21db77;var _0x437b89;return db[_0x1044('0x30')]['findOne']({'where':{'id':_0x1f5e33[_0x1044('0x47')]['id']}})[_0x1044('0x2a')](handleEntityNotFound(_0x599ccb,null))[_0x1044('0x2a')](function(_0x132eb8){if(_0x132eb8){_0x21db77=_0x132eb8;_0x88a193['model']=_[_0x1044('0x35')](db[_0x1044('0x4e')][_0x1044('0x31')]);_0x88a193[_0x1044('0x34')]=_[_0x1044('0x35')](_0x1f5e33['query']);_0x88a193['filters']=_['intersection'](_0x88a193[_0x1044('0x38')],_0x88a193[_0x1044('0x34')]);_0xbced45['attributes']=_[_0x1044('0x37')](_0x88a193[_0x1044('0x38')],qs[_0x1044('0x3a')](_0x1f5e33[_0x1044('0x34')]['fields']));_0xbced45[_0x1044('0x39')]=_0xbced45['attributes'][_0x1044('0x3b')]?_0xbced45[_0x1044('0x39')]:_0x88a193[_0x1044('0x38')];_0xbced45['order']=qs[_0x1044('0x3e')](_0x1f5e33['query']['sort']);_0xbced45[_0x1044('0x3f')]=qs['filters'](_['pick'](_0x1f5e33[_0x1044('0x34')],_0x88a193[_0x1044('0x36')]));if(_0x1f5e33['query']['filter']){_0xbced45[_0x1044('0x3f')]=_[_0x1044('0x4f')](_0xbced45[_0x1044('0x3f')],{'$or':_[_0x1044('0x33')](_0xbced45['attributes'],function(_0x215bf5){var _0x49d303={};_0x49d303[_0x215bf5]={'$like':'%'+_0x1f5e33[_0x1044('0x34')][_0x1044('0x40')]+'%'};return _0x49d303;})});}_0xbced45=_[_0x1044('0x4f')]({},_0xbced45,_0x1f5e33[_0x1044('0x48')]);return _0x21db77[_0x1044('0x4d')](_0xbced45);}})[_0x1044('0x2a')](function(_0x2cb9e4){if(_0x2cb9e4){_0x437b89=_0x2cb9e4[_0x1044('0x3b')];if(!_0x1f5e33[_0x1044('0x34')]['hasOwnProperty'](_0x1044('0x3c'))){_0xbced45[_0x1044('0x23')]=qs[_0x1044('0x23')](_0x1f5e33[_0x1044('0x34')][_0x1044('0x23')]);_0xbced45[_0x1044('0x22')]=qs['offset'](_0x1f5e33[_0x1044('0x34')][_0x1044('0x22')]);}return _0x21db77['getFields'](_0xbced45);}})['then'](function(_0x31b206){if(_0x31b206){return _0x31b206?{'count':_0x437b89,'rows':_0x31b206}:null;}})[_0x1044('0x2a')](respondWithResult(_0x599ccb,null))[_0x1044('0x4c')](handleError(_0x599ccb,null));};exports['getSubjects']=function(_0xaee93b,_0x38eb67,_0x441902){var _0x4c795c={};var _0x7a8def={};var _0x2a5fd0;var _0x107bd0;return db[_0x1044('0x30')][_0x1044('0x50')]({'where':{'id':_0xaee93b[_0x1044('0x47')]['id']}})[_0x1044('0x2a')](handleEntityNotFound(_0x38eb67,null))['then'](function(_0x5b3e3a){if(_0x5b3e3a){_0x2a5fd0=_0x5b3e3a;_0x7a8def['model']=_[_0x1044('0x35')](db[_0x1044('0x4e')][_0x1044('0x31')]);_0x7a8def[_0x1044('0x34')]=_[_0x1044('0x35')](_0xaee93b[_0x1044('0x34')]);_0x7a8def[_0x1044('0x36')]=_[_0x1044('0x37')](_0x7a8def[_0x1044('0x38')],_0x7a8def[_0x1044('0x34')]);_0x4c795c[_0x1044('0x39')]=_[_0x1044('0x37')](_0x7a8def[_0x1044('0x38')],qs[_0x1044('0x3a')](_0xaee93b[_0x1044('0x34')][_0x1044('0x3a')]));_0x4c795c[_0x1044('0x39')]=_0x4c795c[_0x1044('0x39')][_0x1044('0x3b')]?_0x4c795c[_0x1044('0x39')]:_0x7a8def[_0x1044('0x38')];_0x4c795c[_0x1044('0x3d')]=qs[_0x1044('0x3e')](_0xaee93b[_0x1044('0x34')]['sort']);_0x4c795c[_0x1044('0x3f')]=qs[_0x1044('0x36')](_[_0x1044('0x51')](_0xaee93b[_0x1044('0x34')],_0x7a8def[_0x1044('0x36')]));if(_0xaee93b[_0x1044('0x34')][_0x1044('0x40')]){_0x4c795c['where']=_[_0x1044('0x4f')](_0x4c795c['where'],{'$or':_['map'](_0x4c795c[_0x1044('0x39')],function(_0x13375f){var _0x3c7dd5={};_0x3c7dd5[_0x13375f]={'$like':'%'+_0xaee93b[_0x1044('0x34')][_0x1044('0x40')]+'%'};return _0x3c7dd5;})});}_0x4c795c=_[_0x1044('0x4f')]({},_0x4c795c,_0xaee93b[_0x1044('0x48')]);return _0x2a5fd0[_0x1044('0x52')](_0x4c795c);}})['then'](function(_0x11a975){if(_0x11a975){_0x107bd0=_0x11a975[_0x1044('0x3b')];if(!_0xaee93b[_0x1044('0x34')]['hasOwnProperty'](_0x1044('0x3c'))){_0x4c795c[_0x1044('0x23')]=qs[_0x1044('0x23')](_0xaee93b[_0x1044('0x34')]['limit']);_0x4c795c['offset']=qs['offset'](_0xaee93b[_0x1044('0x34')][_0x1044('0x22')]);}return _0x2a5fd0[_0x1044('0x52')](_0x4c795c);}})[_0x1044('0x2a')](function(_0x2dfa61){if(_0x2dfa61){return _0x2dfa61?{'count':_0x107bd0,'rows':_0x2dfa61}:null;}})['then'](respondWithResult(_0x38eb67,null))[_0x1044('0x4c')](handleError(_0x38eb67,null));};exports['getDescriptions']=function(_0x58124b,_0x5db35b,_0x29acdd){var _0x5671bb={};var _0x308943={};var _0x4464fd;var _0x4692a4;return db[_0x1044('0x30')][_0x1044('0x50')]({'where':{'id':_0x58124b[_0x1044('0x47')]['id']}})[_0x1044('0x2a')](handleEntityNotFound(_0x5db35b,null))[_0x1044('0x2a')](function(_0x4adee5){if(_0x4adee5){_0x4464fd=_0x4adee5;_0x308943['model']=_[_0x1044('0x35')](db[_0x1044('0x4e')][_0x1044('0x31')]);_0x308943[_0x1044('0x34')]=_[_0x1044('0x35')](_0x58124b[_0x1044('0x34')]);_0x308943['filters']=_[_0x1044('0x37')](_0x308943[_0x1044('0x38')],_0x308943[_0x1044('0x34')]);_0x5671bb[_0x1044('0x39')]=_['intersection'](_0x308943['model'],qs[_0x1044('0x3a')](_0x58124b[_0x1044('0x34')][_0x1044('0x3a')]));_0x5671bb['attributes']=_0x5671bb[_0x1044('0x39')][_0x1044('0x3b')]?_0x5671bb[_0x1044('0x39')]:_0x308943[_0x1044('0x38')];_0x5671bb[_0x1044('0x3d')]=qs[_0x1044('0x3e')](_0x58124b[_0x1044('0x34')][_0x1044('0x3e')]);_0x5671bb[_0x1044('0x3f')]=qs[_0x1044('0x36')](_[_0x1044('0x51')](_0x58124b['query'],_0x308943[_0x1044('0x36')]));if(_0x58124b[_0x1044('0x34')]['filter']){_0x5671bb['where']=_['merge'](_0x5671bb[_0x1044('0x3f')],{'$or':_[_0x1044('0x33')](_0x5671bb['attributes'],function(_0x3102f3){var _0x5d7223={};_0x5d7223[_0x3102f3]={'$like':'%'+_0x58124b['query']['filter']+'%'};return _0x5d7223;})});}_0x5671bb=_[_0x1044('0x4f')]({},_0x5671bb,_0x58124b[_0x1044('0x48')]);return _0x4464fd[_0x1044('0x53')](_0x5671bb);}})[_0x1044('0x2a')](function(_0x393b87){if(_0x393b87){_0x4692a4=_0x393b87[_0x1044('0x3b')];if(!_0x58124b['query'][_0x1044('0x54')](_0x1044('0x3c'))){_0x5671bb[_0x1044('0x23')]=qs[_0x1044('0x23')](_0x58124b['query'][_0x1044('0x23')]);_0x5671bb['offset']=qs['offset'](_0x58124b[_0x1044('0x34')][_0x1044('0x22')]);}return _0x4464fd[_0x1044('0x53')](_0x5671bb);}})[_0x1044('0x2a')](function(_0x31480b){if(_0x31480b){return _0x31480b?{'count':_0x4692a4,'rows':_0x31480b}:null;}})[_0x1044('0x2a')](respondWithResult(_0x5db35b,null))[_0x1044('0x4c')](handleError(_0x5db35b,null));};