970c2a6f8567630aca61ef154c9505bb03dec7eb
[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 _0x85a1=['query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','findAll','catch','show','params','fields','create','body','find','getFields','findOne','SalesforceField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','set','apply','reject','save','update','then','error','stack','name','send','index','SalesforceConfiguration','rawAttributes','type','key','model','map'];(function(_0x5d0dc0,_0x2f7cee){var _0xb98c7=function(_0x561cf2){while(--_0x561cf2){_0x5d0dc0['push'](_0x5d0dc0['shift']());}};_0xb98c7(++_0x2f7cee);}(_0x85a1,0x1f2));var _0x185a=function(_0x275a50,_0x5b9644){_0x275a50=_0x275a50-0x0;var _0x33dc1e=_0x85a1[_0x275a50];return _0x33dc1e;};'use strict';var emlformat=require(_0x185a('0x0'));var rimraf=require(_0x185a('0x1'));var zipdir=require(_0x185a('0x2'));var jsonpatch=require(_0x185a('0x3'));var rp=require(_0x185a('0x4'));var moment=require(_0x185a('0x5'));var BPromise=require(_0x185a('0x6'));var Mustache=require(_0x185a('0x7'));var util=require(_0x185a('0x8'));var path=require('path');var sox=require(_0x185a('0x9'));var csv=require(_0x185a('0xa'));var ejs=require(_0x185a('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x185a('0xc'));var squel=require(_0x185a('0xd'));var crypto=require(_0x185a('0xe'));var jsforce=require(_0x185a('0xf'));var deskjs=require(_0x185a('0x10'));var toCsv=require('to-csv');var querystring=require(_0x185a('0x11'));var Papa=require('papaparse');var Redis=require(_0x185a('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x185a('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x185a('0x14'))(_0x185a('0x15'));var utils=require(_0x185a('0x16'));var config=require(_0x185a('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x185a('0x18'))['db'];function respondWithStatusCode(_0x48aa38,_0x5f0cc8){_0x5f0cc8=_0x5f0cc8||0xcc;return function(_0x32e94e){if(_0x32e94e){return _0x48aa38[_0x185a('0x19')](_0x5f0cc8);}return _0x48aa38[_0x185a('0x1a')](_0x5f0cc8)[_0x185a('0x1b')]();};}function respondWithResult(_0x380345,_0xe6bef1){_0xe6bef1=_0xe6bef1||0xc8;return function(_0x8622d1){if(_0x8622d1){return _0x380345['status'](_0xe6bef1)[_0x185a('0x1c')](_0x8622d1);}};}function respondWithFilteredResult(_0x3fbb9d,_0x3beebd){return function(_0x1f272f){if(_0x1f272f){var _0x58e74a=typeof _0x3beebd[_0x185a('0x1d')]==='undefined'&&typeof _0x3beebd[_0x185a('0x1e')]==='undefined';var _0x59e0e2=_0x1f272f['count'];var _0x11b2a7=_0x58e74a?0x0:_0x3beebd[_0x185a('0x1d')];var _0x58210f=_0x58e74a?_0x1f272f['count']:_0x3beebd['offset']+_0x3beebd[_0x185a('0x1e')];var _0x1a5b27;if(_0x58210f>=_0x59e0e2){_0x58210f=_0x59e0e2;_0x1a5b27=0xc8;}else{_0x1a5b27=0xce;}_0x3fbb9d[_0x185a('0x1a')](_0x1a5b27);return _0x3fbb9d[_0x185a('0x1f')]('Content-Range',_0x11b2a7+'-'+_0x58210f+'/'+_0x59e0e2)[_0x185a('0x1c')](_0x1f272f);}return null;};}function patchUpdates(_0x2e1f73){return function(_0x276cb8){try{jsonpatch[_0x185a('0x20')](_0x276cb8,_0x2e1f73,!![]);}catch(_0x1dc7ec){return BPromise[_0x185a('0x21')](_0x1dc7ec);}return _0x276cb8[_0x185a('0x22')]();};}function saveUpdates(_0x6b18f1,_0x5be0f){return function(_0xcedb6c){if(_0xcedb6c){return _0xcedb6c[_0x185a('0x23')](_0x6b18f1)[_0x185a('0x24')](function(_0x4ddb8d){return _0x4ddb8d;});}return null;};}function removeEntity(_0x1b5c54,_0x5bbdc5){return function(_0x3c05cd){if(_0x3c05cd){return _0x3c05cd['destroy']()['then'](function(){_0x1b5c54[_0x185a('0x1a')](0xcc)[_0x185a('0x1b')]();});}};}function handleEntityNotFound(_0x1147be,_0x5a94b1){return function(_0xad9d4d){if(!_0xad9d4d){_0x1147be[_0x185a('0x19')](0x194);}return _0xad9d4d;};}function handleError(_0x374bfc,_0x2b08b4){_0x2b08b4=_0x2b08b4||0x1f4;return function(_0x26ffa7){logger[_0x185a('0x25')](_0x26ffa7[_0x185a('0x26')]);if(_0x26ffa7['name']){delete _0x26ffa7[_0x185a('0x27')];}_0x374bfc['status'](_0x2b08b4)[_0x185a('0x28')](_0x26ffa7);};}exports[_0x185a('0x29')]=function(_0x4c1087,_0x587423){var _0x2d18e9={},_0x38d67f={},_0x28bd9f={'count':0x0,'rows':[]};var _0x183a68=_['map'](db[_0x185a('0x2a')][_0x185a('0x2b')],function(_0x3130a6){return{'name':_0x3130a6['fieldName'],'type':_0x3130a6[_0x185a('0x2c')][_0x185a('0x2d')]};});_0x38d67f[_0x185a('0x2e')]=_[_0x185a('0x2f')](_0x183a68,_0x185a('0x27'));_0x38d67f[_0x185a('0x30')]=_[_0x185a('0x31')](_0x4c1087['query']);_0x38d67f[_0x185a('0x32')]=_[_0x185a('0x33')](_0x38d67f[_0x185a('0x2e')],_0x38d67f[_0x185a('0x30')]);_0x2d18e9[_0x185a('0x34')]=_[_0x185a('0x33')](_0x38d67f[_0x185a('0x2e')],qs['fields'](_0x4c1087[_0x185a('0x30')]['fields']));_0x2d18e9[_0x185a('0x34')]=_0x2d18e9[_0x185a('0x34')][_0x185a('0x35')]?_0x2d18e9[_0x185a('0x34')]:_0x38d67f[_0x185a('0x2e')];if(!_0x4c1087['query'][_0x185a('0x36')](_0x185a('0x37'))){_0x2d18e9['limit']=qs[_0x185a('0x1e')](_0x4c1087[_0x185a('0x30')][_0x185a('0x1e')]);_0x2d18e9[_0x185a('0x1d')]=qs[_0x185a('0x1d')](_0x4c1087[_0x185a('0x30')][_0x185a('0x1d')]);}_0x2d18e9[_0x185a('0x38')]=qs[_0x185a('0x39')](_0x4c1087[_0x185a('0x30')][_0x185a('0x39')]);_0x2d18e9[_0x185a('0x3a')]=qs['filters'](_[_0x185a('0x3b')](_0x4c1087[_0x185a('0x30')],_0x38d67f[_0x185a('0x32')]),_0x183a68);if(_0x4c1087[_0x185a('0x30')][_0x185a('0x3c')]){_0x2d18e9['where']=_[_0x185a('0x3d')](_0x2d18e9[_0x185a('0x3a')],{'$or':_[_0x185a('0x2f')](_0x183a68,function(_0x2456d0){if(_0x2456d0[_0x185a('0x2c')]!==_0x185a('0x3e')){var _0x1ab4fd={};_0x1ab4fd[_0x2456d0[_0x185a('0x27')]]={'$like':'%'+_0x4c1087[_0x185a('0x30')][_0x185a('0x3c')]+'%'};return _0x1ab4fd;}})});}_0x2d18e9=_['merge']({},_0x2d18e9,_0x4c1087[_0x185a('0x3f')]);var _0x419e14={'where':_0x2d18e9[_0x185a('0x3a')]};return db[_0x185a('0x2a')][_0x185a('0x40')](_0x419e14)[_0x185a('0x24')](function(_0x31eea4){_0x28bd9f['count']=_0x31eea4;if(_0x4c1087[_0x185a('0x30')]['includeAll']){_0x2d18e9['include']=[{'all':!![]}];}return db[_0x185a('0x2a')][_0x185a('0x41')](_0x2d18e9);})[_0x185a('0x24')](function(_0x27ea61){_0x28bd9f['rows']=_0x27ea61;return _0x28bd9f;})[_0x185a('0x24')](respondWithFilteredResult(_0x587423,_0x2d18e9))[_0x185a('0x42')](handleError(_0x587423,null));};exports[_0x185a('0x43')]=function(_0x4738b6,_0x4531a4){var _0x727e7d={'raw':![],'where':{'id':_0x4738b6[_0x185a('0x44')]['id']}},_0x12d5a7={};_0x12d5a7[_0x185a('0x2e')]=_[_0x185a('0x31')](db[_0x185a('0x2a')][_0x185a('0x2b')]);_0x12d5a7['query']=_[_0x185a('0x31')](_0x4738b6[_0x185a('0x30')]);_0x12d5a7['filters']=_[_0x185a('0x33')](_0x12d5a7['model'],_0x12d5a7[_0x185a('0x30')]);_0x727e7d['attributes']=_[_0x185a('0x33')](_0x12d5a7[_0x185a('0x2e')],qs[_0x185a('0x45')](_0x4738b6[_0x185a('0x30')][_0x185a('0x45')]));_0x727e7d['attributes']=_0x727e7d[_0x185a('0x34')][_0x185a('0x35')]?_0x727e7d[_0x185a('0x34')]:_0x12d5a7['model'];if(_0x4738b6[_0x185a('0x30')]['includeAll']){_0x727e7d['include']=[{'all':!![]}];}_0x727e7d=_[_0x185a('0x3d')]({},_0x727e7d,_0x4738b6['options']);return db[_0x185a('0x2a')]['find'](_0x727e7d)[_0x185a('0x24')](handleEntityNotFound(_0x4531a4,null))[_0x185a('0x24')](respondWithResult(_0x4531a4,null))[_0x185a('0x42')](handleError(_0x4531a4,null));};exports[_0x185a('0x46')]=function(_0x59a2ce,_0x2045ac){return db['SalesforceConfiguration']['create'](_0x59a2ce[_0x185a('0x47')],{})['then'](respondWithResult(_0x2045ac,0xc9))[_0x185a('0x42')](handleError(_0x2045ac,null));};exports[_0x185a('0x23')]=function(_0x234820,_0x435234){if(_0x234820[_0x185a('0x47')]['id']){delete _0x234820[_0x185a('0x47')]['id'];}return db[_0x185a('0x2a')][_0x185a('0x48')]({'where':{'id':_0x234820[_0x185a('0x44')]['id']}})[_0x185a('0x24')](handleEntityNotFound(_0x435234,null))[_0x185a('0x24')](saveUpdates(_0x234820['body'],null))[_0x185a('0x24')](respondWithResult(_0x435234,null))['catch'](handleError(_0x435234,null));};exports['destroy']=function(_0x45d965,_0x16eed0){return db[_0x185a('0x2a')][_0x185a('0x48')]({'where':{'id':_0x45d965[_0x185a('0x44')]['id']}})[_0x185a('0x24')](handleEntityNotFound(_0x16eed0,null))['then'](removeEntity(_0x16eed0,null))[_0x185a('0x42')](handleError(_0x16eed0,null));};exports[_0x185a('0x49')]=function(_0x1ada00,_0x1b5357,_0x1719e7){var _0x1c2553={};var _0x4f4884={};var _0x226ac3;var _0x3b82f5;return db[_0x185a('0x2a')][_0x185a('0x4a')]({'where':{'id':_0x1ada00[_0x185a('0x44')]['id']}})[_0x185a('0x24')](handleEntityNotFound(_0x1b5357,null))[_0x185a('0x24')](function(_0x4db4a4){if(_0x4db4a4){_0x226ac3=_0x4db4a4;_0x4f4884[_0x185a('0x2e')]=_[_0x185a('0x31')](db[_0x185a('0x4b')][_0x185a('0x2b')]);_0x4f4884[_0x185a('0x30')]=_[_0x185a('0x31')](_0x1ada00[_0x185a('0x30')]);_0x4f4884[_0x185a('0x32')]=_[_0x185a('0x33')](_0x4f4884['model'],_0x4f4884[_0x185a('0x30')]);_0x1c2553[_0x185a('0x34')]=_['intersection'](_0x4f4884['model'],qs[_0x185a('0x45')](_0x1ada00['query']['fields']));_0x1c2553[_0x185a('0x34')]=_0x1c2553[_0x185a('0x34')][_0x185a('0x35')]?_0x1c2553[_0x185a('0x34')]:_0x4f4884[_0x185a('0x2e')];_0x1c2553[_0x185a('0x38')]=qs[_0x185a('0x39')](_0x1ada00['query'][_0x185a('0x39')]);_0x1c2553[_0x185a('0x3a')]=qs['filters'](_[_0x185a('0x3b')](_0x1ada00[_0x185a('0x30')],_0x4f4884['filters']));if(_0x1ada00[_0x185a('0x30')]['filter']){_0x1c2553[_0x185a('0x3a')]=_[_0x185a('0x3d')](_0x1c2553['where'],{'$or':_[_0x185a('0x2f')](_0x1c2553[_0x185a('0x34')],function(_0x24dfbf){var _0x2944ae={};_0x2944ae[_0x24dfbf]={'$like':'%'+_0x1ada00[_0x185a('0x30')][_0x185a('0x3c')]+'%'};return _0x2944ae;})});}_0x1c2553=_[_0x185a('0x3d')]({},_0x1c2553,_0x1ada00['options']);return _0x226ac3[_0x185a('0x49')](_0x1c2553);}})['then'](function(_0x10836a){if(_0x10836a){_0x3b82f5=_0x10836a[_0x185a('0x35')];if(!_0x1ada00[_0x185a('0x30')][_0x185a('0x36')](_0x185a('0x37'))){_0x1c2553[_0x185a('0x1e')]=qs[_0x185a('0x1e')](_0x1ada00['query']['limit']);_0x1c2553[_0x185a('0x1d')]=qs['offset'](_0x1ada00[_0x185a('0x30')][_0x185a('0x1d')]);}return _0x226ac3[_0x185a('0x49')](_0x1c2553);}})[_0x185a('0x24')](function(_0x2dec3a){if(_0x2dec3a){return _0x2dec3a?{'count':_0x3b82f5,'rows':_0x2dec3a}:null;}})[_0x185a('0x24')](respondWithResult(_0x1b5357,null))['catch'](handleError(_0x1b5357,null));};exports[_0x185a('0x4c')]=function(_0x733f07,_0x4735dc,_0x9158f){var _0x416098={};var _0x4d8334={};var _0x10f52c;var _0x488530;return db[_0x185a('0x2a')]['findOne']({'where':{'id':_0x733f07['params']['id']}})[_0x185a('0x24')](handleEntityNotFound(_0x4735dc,null))[_0x185a('0x24')](function(_0x2bad33){if(_0x2bad33){_0x10f52c=_0x2bad33;_0x4d8334[_0x185a('0x2e')]=_['keys'](db[_0x185a('0x4b')][_0x185a('0x2b')]);_0x4d8334[_0x185a('0x30')]=_[_0x185a('0x31')](_0x733f07[_0x185a('0x30')]);_0x4d8334[_0x185a('0x32')]=_[_0x185a('0x33')](_0x4d8334[_0x185a('0x2e')],_0x4d8334[_0x185a('0x30')]);_0x416098[_0x185a('0x34')]=_[_0x185a('0x33')](_0x4d8334[_0x185a('0x2e')],qs[_0x185a('0x45')](_0x733f07[_0x185a('0x30')][_0x185a('0x45')]));_0x416098['attributes']=_0x416098[_0x185a('0x34')][_0x185a('0x35')]?_0x416098['attributes']:_0x4d8334[_0x185a('0x2e')];_0x416098['order']=qs[_0x185a('0x39')](_0x733f07[_0x185a('0x30')][_0x185a('0x39')]);_0x416098['where']=qs[_0x185a('0x32')](_[_0x185a('0x3b')](_0x733f07[_0x185a('0x30')],_0x4d8334[_0x185a('0x32')]));if(_0x733f07[_0x185a('0x30')][_0x185a('0x3c')]){_0x416098[_0x185a('0x3a')]=_[_0x185a('0x3d')](_0x416098[_0x185a('0x3a')],{'$or':_[_0x185a('0x2f')](_0x416098[_0x185a('0x34')],function(_0x58db45){var _0x1f0e86={};_0x1f0e86[_0x58db45]={'$like':'%'+_0x733f07[_0x185a('0x30')][_0x185a('0x3c')]+'%'};return _0x1f0e86;})});}_0x416098=_[_0x185a('0x3d')]({},_0x416098,_0x733f07[_0x185a('0x3f')]);return _0x10f52c[_0x185a('0x4c')](_0x416098);}})[_0x185a('0x24')](function(_0x34c143){if(_0x34c143){_0x488530=_0x34c143['length'];if(!_0x733f07[_0x185a('0x30')][_0x185a('0x36')](_0x185a('0x37'))){_0x416098[_0x185a('0x1e')]=qs[_0x185a('0x1e')](_0x733f07['query'][_0x185a('0x1e')]);_0x416098[_0x185a('0x1d')]=qs['offset'](_0x733f07['query'][_0x185a('0x1d')]);}return _0x10f52c[_0x185a('0x4c')](_0x416098);}})[_0x185a('0x24')](function(_0x356e05){if(_0x356e05){return _0x356e05?{'count':_0x488530,'rows':_0x356e05}:null;}})[_0x185a('0x24')](respondWithResult(_0x4735dc,null))['catch'](handleError(_0x4735dc,null));};exports['getDescriptions']=function(_0xf25786,_0x4195f4,_0x3e6f62){var _0x48035b={};var _0x4d27f4={};var _0xc24c3a;var _0x25a4cb;return db['SalesforceConfiguration'][_0x185a('0x4a')]({'where':{'id':_0xf25786[_0x185a('0x44')]['id']}})[_0x185a('0x24')](handleEntityNotFound(_0x4195f4,null))[_0x185a('0x24')](function(_0x2edfe4){if(_0x2edfe4){_0xc24c3a=_0x2edfe4;_0x4d27f4[_0x185a('0x2e')]=_[_0x185a('0x31')](db[_0x185a('0x4b')]['rawAttributes']);_0x4d27f4['query']=_[_0x185a('0x31')](_0xf25786[_0x185a('0x30')]);_0x4d27f4[_0x185a('0x32')]=_[_0x185a('0x33')](_0x4d27f4[_0x185a('0x2e')],_0x4d27f4[_0x185a('0x30')]);_0x48035b['attributes']=_[_0x185a('0x33')](_0x4d27f4[_0x185a('0x2e')],qs[_0x185a('0x45')](_0xf25786[_0x185a('0x30')][_0x185a('0x45')]));_0x48035b[_0x185a('0x34')]=_0x48035b['attributes'][_0x185a('0x35')]?_0x48035b['attributes']:_0x4d27f4['model'];_0x48035b[_0x185a('0x38')]=qs[_0x185a('0x39')](_0xf25786[_0x185a('0x30')][_0x185a('0x39')]);_0x48035b[_0x185a('0x3a')]=qs['filters'](_['pick'](_0xf25786[_0x185a('0x30')],_0x4d27f4['filters']));if(_0xf25786[_0x185a('0x30')]['filter']){_0x48035b[_0x185a('0x3a')]=_['merge'](_0x48035b[_0x185a('0x3a')],{'$or':_[_0x185a('0x2f')](_0x48035b['attributes'],function(_0x3e4536){var _0x2028ff={};_0x2028ff[_0x3e4536]={'$like':'%'+_0xf25786[_0x185a('0x30')][_0x185a('0x3c')]+'%'};return _0x2028ff;})});}_0x48035b=_[_0x185a('0x3d')]({},_0x48035b,_0xf25786['options']);return _0xc24c3a[_0x185a('0x4d')](_0x48035b);}})[_0x185a('0x24')](function(_0x172618){if(_0x172618){_0x25a4cb=_0x172618[_0x185a('0x35')];if(!_0xf25786[_0x185a('0x30')][_0x185a('0x36')](_0x185a('0x37'))){_0x48035b['limit']=qs[_0x185a('0x1e')](_0xf25786[_0x185a('0x30')][_0x185a('0x1e')]);_0x48035b[_0x185a('0x1d')]=qs[_0x185a('0x1d')](_0xf25786[_0x185a('0x30')]['offset']);}return _0xc24c3a[_0x185a('0x4d')](_0x48035b);}})[_0x185a('0x24')](function(_0x5eca69){if(_0x5eca69){return _0x5eca69?{'count':_0x25a4cb,'rows':_0x5eca69}:null;}})['then'](respondWithResult(_0x4195f4,null))['catch'](handleError(_0x4195f4,null));};