Built motion from commit c738b9ac.|2.6.25
[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 _0x368c=['count','set','Content-Range','apply','save','update','error','name','send','index','type','key','model','map','keys','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','merge','options','SalesforceConfiguration','include','then','show','params','rawAttributes','includeAll','find','catch','create','body','getFields','SalesforceField','pick','filter','findOne','getSubjects','getDescriptions','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit'];(function(_0x1c3b5f,_0x22cab6){var _0x60789c=function(_0x2666cf){while(--_0x2666cf){_0x1c3b5f['push'](_0x1c3b5f['shift']());}};_0x60789c(++_0x22cab6);}(_0x368c,0x1b4));var _0xc368=function(_0x5e0e47,_0xb4402b){_0x5e0e47=_0x5e0e47-0x0;var _0x567eee=_0x368c[_0x5e0e47];return _0x567eee;};'use strict';var emlformat=require(_0xc368('0x0'));var rimraf=require(_0xc368('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xc368('0x2'));var moment=require(_0xc368('0x3'));var BPromise=require(_0xc368('0x4'));var Mustache=require(_0xc368('0x5'));var util=require(_0xc368('0x6'));var path=require(_0xc368('0x7'));var sox=require(_0xc368('0x8'));var csv=require(_0xc368('0x9'));var ejs=require(_0xc368('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc368('0xb'));var squel=require(_0xc368('0xc'));var crypto=require(_0xc368('0xd'));var jsforce=require(_0xc368('0xe'));var deskjs=require(_0xc368('0xf'));var toCsv=require(_0xc368('0x9'));var querystring=require('querystring');var Papa=require(_0xc368('0x10'));var Redis=require(_0xc368('0x11'));var authService=require(_0xc368('0x12'));var qs=require(_0xc368('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xc368('0x14'))(_0xc368('0x15'));var utils=require(_0xc368('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xc368('0x17'));var db=require(_0xc368('0x18'))['db'];function respondWithStatusCode(_0x2262f2,_0xad9512){_0xad9512=_0xad9512||0xcc;return function(_0x4c80c3){if(_0x4c80c3){return _0x2262f2[_0xc368('0x19')](_0xad9512);}return _0x2262f2[_0xc368('0x1a')](_0xad9512)[_0xc368('0x1b')]();};}function respondWithResult(_0x3b0bbc,_0x58cbb8){_0x58cbb8=_0x58cbb8||0xc8;return function(_0x1e75b6){if(_0x1e75b6){return _0x3b0bbc[_0xc368('0x1a')](_0x58cbb8)[_0xc368('0x1c')](_0x1e75b6);}};}function respondWithFilteredResult(_0x140237,_0x370028){return function(_0x231f1e){if(_0x231f1e){var _0x4582bf=typeof _0x370028[_0xc368('0x1d')]===_0xc368('0x1e')&&typeof _0x370028[_0xc368('0x1f')]===_0xc368('0x1e');var _0x126338=_0x231f1e[_0xc368('0x20')];var _0x4e966c=_0x4582bf?0x0:_0x370028[_0xc368('0x1d')];var _0x5e71c0=_0x4582bf?_0x231f1e[_0xc368('0x20')]:_0x370028[_0xc368('0x1d')]+_0x370028[_0xc368('0x1f')];var _0x354c87;if(_0x5e71c0>=_0x126338){_0x5e71c0=_0x126338;_0x354c87=0xc8;}else{_0x354c87=0xce;}_0x140237[_0xc368('0x1a')](_0x354c87);return _0x140237[_0xc368('0x21')](_0xc368('0x22'),_0x4e966c+'-'+_0x5e71c0+'/'+_0x126338)['json'](_0x231f1e);}return null;};}function patchUpdates(_0x18a3cb){return function(_0x4e071b){try{jsonpatch[_0xc368('0x23')](_0x4e071b,_0x18a3cb,!![]);}catch(_0x3e9444){return BPromise['reject'](_0x3e9444);}return _0x4e071b[_0xc368('0x24')]();};}function saveUpdates(_0x3019b3,_0x4b4e3d){return function(_0xd3be9a){if(_0xd3be9a){return _0xd3be9a[_0xc368('0x25')](_0x3019b3)['then'](function(_0x2728ae){return _0x2728ae;});}return null;};}function removeEntity(_0x1648ae,_0x379444){return function(_0x5db6a0){if(_0x5db6a0){return _0x5db6a0['destroy']()['then'](function(){_0x1648ae['status'](0xcc)[_0xc368('0x1b')]();});}};}function handleEntityNotFound(_0x5663be,_0x3ed16b){return function(_0x2accb0){if(!_0x2accb0){_0x5663be[_0xc368('0x19')](0x194);}return _0x2accb0;};}function handleError(_0x201608,_0x430b1b){_0x430b1b=_0x430b1b||0x1f4;return function(_0x2c4046){logger[_0xc368('0x26')](_0x2c4046['stack']);if(_0x2c4046[_0xc368('0x27')]){delete _0x2c4046['name'];}_0x201608['status'](_0x430b1b)[_0xc368('0x28')](_0x2c4046);};}exports[_0xc368('0x29')]=function(_0x4e97cc,_0x2449f8){var _0x599da7={},_0x175b5f={},_0x46050b={'count':0x0,'rows':[]};var _0x11a4ec=_['map'](db['SalesforceConfiguration']['rawAttributes'],function(_0x1a7323){return{'name':_0x1a7323['fieldName'],'type':_0x1a7323[_0xc368('0x2a')][_0xc368('0x2b')]};});_0x175b5f[_0xc368('0x2c')]=_[_0xc368('0x2d')](_0x11a4ec,_0xc368('0x27'));_0x175b5f['query']=_[_0xc368('0x2e')](_0x4e97cc['query']);_0x175b5f['filters']=_[_0xc368('0x2f')](_0x175b5f[_0xc368('0x2c')],_0x175b5f[_0xc368('0x30')]);_0x599da7[_0xc368('0x31')]=_['intersection'](_0x175b5f[_0xc368('0x2c')],qs[_0xc368('0x32')](_0x4e97cc[_0xc368('0x30')]['fields']));_0x599da7[_0xc368('0x31')]=_0x599da7[_0xc368('0x31')][_0xc368('0x33')]?_0x599da7[_0xc368('0x31')]:_0x175b5f[_0xc368('0x2c')];if(!_0x4e97cc[_0xc368('0x30')][_0xc368('0x34')](_0xc368('0x35'))){_0x599da7['limit']=qs[_0xc368('0x1f')](_0x4e97cc[_0xc368('0x30')][_0xc368('0x1f')]);_0x599da7[_0xc368('0x1d')]=qs[_0xc368('0x1d')](_0x4e97cc[_0xc368('0x30')][_0xc368('0x1d')]);}_0x599da7[_0xc368('0x36')]=qs[_0xc368('0x37')](_0x4e97cc[_0xc368('0x30')][_0xc368('0x37')]);_0x599da7[_0xc368('0x38')]=qs[_0xc368('0x39')](_['pick'](_0x4e97cc['query'],_0x175b5f[_0xc368('0x39')]),_0x11a4ec);if(_0x4e97cc['query']['filter']){_0x599da7[_0xc368('0x38')]=_[_0xc368('0x3a')](_0x599da7[_0xc368('0x38')],{'$or':_[_0xc368('0x2d')](_0x11a4ec,function(_0x39b549){if(_0x39b549[_0xc368('0x2a')]!=='VIRTUAL'){var _0x429dc6={};_0x429dc6[_0x39b549[_0xc368('0x27')]]={'$like':'%'+_0x4e97cc[_0xc368('0x30')]['filter']+'%'};return _0x429dc6;}})});}_0x599da7=_[_0xc368('0x3a')]({},_0x599da7,_0x4e97cc[_0xc368('0x3b')]);var _0x5c311c={'where':_0x599da7['where']};return db[_0xc368('0x3c')][_0xc368('0x20')](_0x5c311c)['then'](function(_0x115acb){_0x46050b[_0xc368('0x20')]=_0x115acb;if(_0x4e97cc[_0xc368('0x30')]['includeAll']){_0x599da7[_0xc368('0x3d')]=[{'all':!![]}];}return db[_0xc368('0x3c')]['findAll'](_0x599da7);})[_0xc368('0x3e')](function(_0x3295d7){_0x46050b['rows']=_0x3295d7;return _0x46050b;})[_0xc368('0x3e')](respondWithFilteredResult(_0x2449f8,_0x599da7))['catch'](handleError(_0x2449f8,null));};exports[_0xc368('0x3f')]=function(_0x3738dd,_0x8ff981){var _0x3d445a={'raw':![],'where':{'id':_0x3738dd[_0xc368('0x40')]['id']}},_0xf26629={};_0xf26629[_0xc368('0x2c')]=_['keys'](db['SalesforceConfiguration'][_0xc368('0x41')]);_0xf26629[_0xc368('0x30')]=_[_0xc368('0x2e')](_0x3738dd[_0xc368('0x30')]);_0xf26629[_0xc368('0x39')]=_[_0xc368('0x2f')](_0xf26629[_0xc368('0x2c')],_0xf26629[_0xc368('0x30')]);_0x3d445a[_0xc368('0x31')]=_[_0xc368('0x2f')](_0xf26629[_0xc368('0x2c')],qs[_0xc368('0x32')](_0x3738dd['query'][_0xc368('0x32')]));_0x3d445a[_0xc368('0x31')]=_0x3d445a[_0xc368('0x31')][_0xc368('0x33')]?_0x3d445a[_0xc368('0x31')]:_0xf26629[_0xc368('0x2c')];if(_0x3738dd['query'][_0xc368('0x42')]){_0x3d445a[_0xc368('0x3d')]=[{'all':!![]}];}_0x3d445a=_[_0xc368('0x3a')]({},_0x3d445a,_0x3738dd['options']);return db[_0xc368('0x3c')][_0xc368('0x43')](_0x3d445a)[_0xc368('0x3e')](handleEntityNotFound(_0x8ff981,null))[_0xc368('0x3e')](respondWithResult(_0x8ff981,null))[_0xc368('0x44')](handleError(_0x8ff981,null));};exports[_0xc368('0x45')]=function(_0x1d550b,_0x3aff42){return db['SalesforceConfiguration'][_0xc368('0x45')](_0x1d550b[_0xc368('0x46')],{})[_0xc368('0x3e')](respondWithResult(_0x3aff42,0xc9))[_0xc368('0x44')](handleError(_0x3aff42,null));};exports['update']=function(_0x148cc2,_0x4570e4){if(_0x148cc2['body']['id']){delete _0x148cc2[_0xc368('0x46')]['id'];}return db[_0xc368('0x3c')][_0xc368('0x43')]({'where':{'id':_0x148cc2['params']['id']}})['then'](handleEntityNotFound(_0x4570e4,null))[_0xc368('0x3e')](saveUpdates(_0x148cc2[_0xc368('0x46')],null))[_0xc368('0x3e')](respondWithResult(_0x4570e4,null))[_0xc368('0x44')](handleError(_0x4570e4,null));};exports['destroy']=function(_0x464e88,_0x12d7c){return db['SalesforceConfiguration'][_0xc368('0x43')]({'where':{'id':_0x464e88[_0xc368('0x40')]['id']}})[_0xc368('0x3e')](handleEntityNotFound(_0x12d7c,null))[_0xc368('0x3e')](removeEntity(_0x12d7c,null))[_0xc368('0x44')](handleError(_0x12d7c,null));};exports[_0xc368('0x47')]=function(_0x38ede7,_0x8f341c,_0x4c15e6){var _0x3fe2c5={};var _0x2f18cc={};var _0x563ab6;var _0x200b8b;return db[_0xc368('0x3c')]['findOne']({'where':{'id':_0x38ede7['params']['id']}})[_0xc368('0x3e')](handleEntityNotFound(_0x8f341c,null))[_0xc368('0x3e')](function(_0x12fc8e){if(_0x12fc8e){_0x563ab6=_0x12fc8e;_0x2f18cc[_0xc368('0x2c')]=_[_0xc368('0x2e')](db[_0xc368('0x48')][_0xc368('0x41')]);_0x2f18cc[_0xc368('0x30')]=_['keys'](_0x38ede7[_0xc368('0x30')]);_0x2f18cc['filters']=_[_0xc368('0x2f')](_0x2f18cc[_0xc368('0x2c')],_0x2f18cc[_0xc368('0x30')]);_0x3fe2c5[_0xc368('0x31')]=_[_0xc368('0x2f')](_0x2f18cc['model'],qs[_0xc368('0x32')](_0x38ede7[_0xc368('0x30')][_0xc368('0x32')]));_0x3fe2c5[_0xc368('0x31')]=_0x3fe2c5[_0xc368('0x31')][_0xc368('0x33')]?_0x3fe2c5[_0xc368('0x31')]:_0x2f18cc['model'];_0x3fe2c5[_0xc368('0x36')]=qs[_0xc368('0x37')](_0x38ede7[_0xc368('0x30')][_0xc368('0x37')]);_0x3fe2c5[_0xc368('0x38')]=qs['filters'](_[_0xc368('0x49')](_0x38ede7[_0xc368('0x30')],_0x2f18cc[_0xc368('0x39')]));if(_0x38ede7[_0xc368('0x30')][_0xc368('0x4a')]){_0x3fe2c5[_0xc368('0x38')]=_[_0xc368('0x3a')](_0x3fe2c5['where'],{'$or':_[_0xc368('0x2d')](_0x3fe2c5[_0xc368('0x31')],function(_0xb0aaa5){var _0x7db3aa={};_0x7db3aa[_0xb0aaa5]={'$like':'%'+_0x38ede7[_0xc368('0x30')][_0xc368('0x4a')]+'%'};return _0x7db3aa;})});}_0x3fe2c5=_['merge']({},_0x3fe2c5,_0x38ede7[_0xc368('0x3b')]);return _0x563ab6[_0xc368('0x47')](_0x3fe2c5);}})['then'](function(_0x462e60){if(_0x462e60){_0x200b8b=_0x462e60['length'];if(!_0x38ede7[_0xc368('0x30')][_0xc368('0x34')](_0xc368('0x35'))){_0x3fe2c5[_0xc368('0x1f')]=qs[_0xc368('0x1f')](_0x38ede7['query'][_0xc368('0x1f')]);_0x3fe2c5[_0xc368('0x1d')]=qs[_0xc368('0x1d')](_0x38ede7[_0xc368('0x30')][_0xc368('0x1d')]);}return _0x563ab6[_0xc368('0x47')](_0x3fe2c5);}})[_0xc368('0x3e')](function(_0x368cca){if(_0x368cca){return _0x368cca?{'count':_0x200b8b,'rows':_0x368cca}:null;}})[_0xc368('0x3e')](respondWithResult(_0x8f341c,null))[_0xc368('0x44')](handleError(_0x8f341c,null));};exports['getSubjects']=function(_0x2062b2,_0x234c35,_0x2e5a0e){var _0x44bc5b={};var _0x15ddde={};var _0x4cb627;var _0x15342c;return db['SalesforceConfiguration'][_0xc368('0x4b')]({'where':{'id':_0x2062b2['params']['id']}})['then'](handleEntityNotFound(_0x234c35,null))[_0xc368('0x3e')](function(_0x55d63d){if(_0x55d63d){_0x4cb627=_0x55d63d;_0x15ddde[_0xc368('0x2c')]=_[_0xc368('0x2e')](db[_0xc368('0x48')][_0xc368('0x41')]);_0x15ddde[_0xc368('0x30')]=_[_0xc368('0x2e')](_0x2062b2['query']);_0x15ddde['filters']=_[_0xc368('0x2f')](_0x15ddde[_0xc368('0x2c')],_0x15ddde[_0xc368('0x30')]);_0x44bc5b['attributes']=_[_0xc368('0x2f')](_0x15ddde['model'],qs['fields'](_0x2062b2[_0xc368('0x30')][_0xc368('0x32')]));_0x44bc5b[_0xc368('0x31')]=_0x44bc5b[_0xc368('0x31')][_0xc368('0x33')]?_0x44bc5b[_0xc368('0x31')]:_0x15ddde[_0xc368('0x2c')];_0x44bc5b[_0xc368('0x36')]=qs[_0xc368('0x37')](_0x2062b2['query'][_0xc368('0x37')]);_0x44bc5b[_0xc368('0x38')]=qs[_0xc368('0x39')](_[_0xc368('0x49')](_0x2062b2[_0xc368('0x30')],_0x15ddde[_0xc368('0x39')]));if(_0x2062b2[_0xc368('0x30')]['filter']){_0x44bc5b[_0xc368('0x38')]=_[_0xc368('0x3a')](_0x44bc5b[_0xc368('0x38')],{'$or':_[_0xc368('0x2d')](_0x44bc5b['attributes'],function(_0x38a235){var _0x873e37={};_0x873e37[_0x38a235]={'$like':'%'+_0x2062b2[_0xc368('0x30')][_0xc368('0x4a')]+'%'};return _0x873e37;})});}_0x44bc5b=_[_0xc368('0x3a')]({},_0x44bc5b,_0x2062b2[_0xc368('0x3b')]);return _0x4cb627[_0xc368('0x4c')](_0x44bc5b);}})[_0xc368('0x3e')](function(_0x3ffa6d){if(_0x3ffa6d){_0x15342c=_0x3ffa6d['length'];if(!_0x2062b2[_0xc368('0x30')][_0xc368('0x34')](_0xc368('0x35'))){_0x44bc5b[_0xc368('0x1f')]=qs[_0xc368('0x1f')](_0x2062b2[_0xc368('0x30')][_0xc368('0x1f')]);_0x44bc5b[_0xc368('0x1d')]=qs[_0xc368('0x1d')](_0x2062b2['query']['offset']);}return _0x4cb627[_0xc368('0x4c')](_0x44bc5b);}})[_0xc368('0x3e')](function(_0x364b62){if(_0x364b62){return _0x364b62?{'count':_0x15342c,'rows':_0x364b62}:null;}})['then'](respondWithResult(_0x234c35,null))[_0xc368('0x44')](handleError(_0x234c35,null));};exports[_0xc368('0x4d')]=function(_0x4d0c24,_0xc4af53,_0xad33fc){var _0xe48e6f={};var _0xcd740a={};var _0x5160ee;var _0x2ef410;return db['SalesforceConfiguration'][_0xc368('0x4b')]({'where':{'id':_0x4d0c24[_0xc368('0x40')]['id']}})[_0xc368('0x3e')](handleEntityNotFound(_0xc4af53,null))[_0xc368('0x3e')](function(_0x85008){if(_0x85008){_0x5160ee=_0x85008;_0xcd740a[_0xc368('0x2c')]=_[_0xc368('0x2e')](db[_0xc368('0x48')][_0xc368('0x41')]);_0xcd740a[_0xc368('0x30')]=_[_0xc368('0x2e')](_0x4d0c24[_0xc368('0x30')]);_0xcd740a['filters']=_[_0xc368('0x2f')](_0xcd740a['model'],_0xcd740a['query']);_0xe48e6f[_0xc368('0x31')]=_[_0xc368('0x2f')](_0xcd740a[_0xc368('0x2c')],qs[_0xc368('0x32')](_0x4d0c24[_0xc368('0x30')][_0xc368('0x32')]));_0xe48e6f[_0xc368('0x31')]=_0xe48e6f[_0xc368('0x31')]['length']?_0xe48e6f['attributes']:_0xcd740a['model'];_0xe48e6f['order']=qs[_0xc368('0x37')](_0x4d0c24[_0xc368('0x30')]['sort']);_0xe48e6f[_0xc368('0x38')]=qs[_0xc368('0x39')](_[_0xc368('0x49')](_0x4d0c24[_0xc368('0x30')],_0xcd740a[_0xc368('0x39')]));if(_0x4d0c24[_0xc368('0x30')][_0xc368('0x4a')]){_0xe48e6f[_0xc368('0x38')]=_[_0xc368('0x3a')](_0xe48e6f[_0xc368('0x38')],{'$or':_[_0xc368('0x2d')](_0xe48e6f[_0xc368('0x31')],function(_0x487d59){var _0x648d11={};_0x648d11[_0x487d59]={'$like':'%'+_0x4d0c24[_0xc368('0x30')]['filter']+'%'};return _0x648d11;})});}_0xe48e6f=_['merge']({},_0xe48e6f,_0x4d0c24[_0xc368('0x3b')]);return _0x5160ee['getDescriptions'](_0xe48e6f);}})[_0xc368('0x3e')](function(_0x47ad43){if(_0x47ad43){_0x2ef410=_0x47ad43['length'];if(!_0x4d0c24[_0xc368('0x30')]['hasOwnProperty'](_0xc368('0x35'))){_0xe48e6f[_0xc368('0x1f')]=qs[_0xc368('0x1f')](_0x4d0c24[_0xc368('0x30')]['limit']);_0xe48e6f[_0xc368('0x1d')]=qs[_0xc368('0x1d')](_0x4d0c24[_0xc368('0x30')][_0xc368('0x1d')]);}return _0x5160ee['getDescriptions'](_0xe48e6f);}})[_0xc368('0x3e')](function(_0x5ee8b7){if(_0x5ee8b7){return _0x5ee8b7?{'count':_0x2ef410,'rows':_0x5ee8b7}:null;}})[_0xc368('0x3e')](respondWithResult(_0xc4af53,null))[_0xc368('0x44')](handleError(_0xc4af53,null));};