Built motion from commit c116dc8b.|2.6.30
[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 _0x2918=['find','create','body','update','findOne','sort','getFields','getSubjects','SalesforceField','order','getDescriptions','rimraf','zip-dir','request-promise','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','reject','destroy','then','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','pick','filter','where','merge','VIRTUAL','options','SalesforceConfiguration','includeAll','include','rows','catch','show','params'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x2918,0x1d9));var _0x8291=function(_0x5640f3,_0x4813d2){_0x5640f3=_0x5640f3-0x0;var _0x31d963=_0x2918[_0x5640f3];return _0x31d963;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8291('0x0'));var zipdir=require(_0x8291('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8291('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x8291('0x3'));var util=require('util');var path=require(_0x8291('0x4'));var sox=require('sox');var csv=require(_0x8291('0x5'));var ejs=require(_0x8291('0x6'));var fs=require('fs');var fs_extra=require(_0x8291('0x7'));var _=require(_0x8291('0x8'));var squel=require(_0x8291('0x9'));var crypto=require(_0x8291('0xa'));var jsforce=require(_0x8291('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x8291('0x5'));var querystring=require('querystring');var Papa=require(_0x8291('0xc'));var Redis=require(_0x8291('0xd'));var authService=require(_0x8291('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x8291('0xf'));var hardwareService=require(_0x8291('0x10'));var logger=require(_0x8291('0x11'))('api');var utils=require(_0x8291('0x12'));var config=require(_0x8291('0x13'));var licenseUtil=require(_0x8291('0x14'));var db=require(_0x8291('0x15'))['db'];function respondWithStatusCode(_0x1c31d7,_0x4dea4a){_0x4dea4a=_0x4dea4a||0xcc;return function(_0x54a9cc){if(_0x54a9cc){return _0x1c31d7[_0x8291('0x16')](_0x4dea4a);}return _0x1c31d7['status'](_0x4dea4a)[_0x8291('0x17')]();};}function respondWithResult(_0x6d0a6b,_0x2763a9){_0x2763a9=_0x2763a9||0xc8;return function(_0x580536){if(_0x580536){return _0x6d0a6b[_0x8291('0x18')](_0x2763a9)[_0x8291('0x19')](_0x580536);}};}function respondWithFilteredResult(_0x1f6de3,_0x4a22f9){return function(_0xa80e86){if(_0xa80e86){var _0x5bbd7e=typeof _0x4a22f9[_0x8291('0x1a')]===_0x8291('0x1b')&&typeof _0x4a22f9[_0x8291('0x1c')]===_0x8291('0x1b');var _0x175e53=_0xa80e86[_0x8291('0x1d')];var _0x4564d2=_0x5bbd7e?0x0:_0x4a22f9['offset'];var _0x119b60=_0x5bbd7e?_0xa80e86[_0x8291('0x1d')]:_0x4a22f9[_0x8291('0x1a')]+_0x4a22f9[_0x8291('0x1c')];var _0x36940e;if(_0x119b60>=_0x175e53){_0x119b60=_0x175e53;_0x36940e=0xc8;}else{_0x36940e=0xce;}_0x1f6de3[_0x8291('0x18')](_0x36940e);return _0x1f6de3['set'](_0x8291('0x1e'),_0x4564d2+'-'+_0x119b60+'/'+_0x175e53)[_0x8291('0x19')](_0xa80e86);}return null;};}function patchUpdates(_0x134719){return function(_0x2ffb3b){try{jsonpatch['apply'](_0x2ffb3b,_0x134719,!![]);}catch(_0x460b5d){return BPromise[_0x8291('0x1f')](_0x460b5d);}return _0x2ffb3b['save']();};}function saveUpdates(_0x14d1cb,_0x2581f4){return function(_0x165ef6){if(_0x165ef6){return _0x165ef6['update'](_0x14d1cb)['then'](function(_0x187429){return _0x187429;});}return null;};}function removeEntity(_0x202557,_0x4afab4){return function(_0x8842ad){if(_0x8842ad){return _0x8842ad[_0x8291('0x20')]()[_0x8291('0x21')](function(){_0x202557['status'](0xcc)[_0x8291('0x17')]();});}};}function handleEntityNotFound(_0x46fea3,_0x2b312e){return function(_0x147200){if(!_0x147200){_0x46fea3[_0x8291('0x16')](0x194);}return _0x147200;};}function handleError(_0x30a0b6,_0x11b9d4){_0x11b9d4=_0x11b9d4||0x1f4;return function(_0x5a4a8a){logger['error'](_0x5a4a8a[_0x8291('0x22')]);if(_0x5a4a8a[_0x8291('0x23')]){delete _0x5a4a8a['name'];}_0x30a0b6[_0x8291('0x18')](_0x11b9d4)[_0x8291('0x24')](_0x5a4a8a);};}exports[_0x8291('0x25')]=function(_0x3d48e4,_0x1390ae){var _0x2d3769={},_0x32e9bf={},_0x29a3ba={'count':0x0,'rows':[]};var _0x30d99a=_[_0x8291('0x26')](db['SalesforceConfiguration'][_0x8291('0x27')],function(_0x41f3e7){return{'name':_0x41f3e7[_0x8291('0x28')],'type':_0x41f3e7[_0x8291('0x29')][_0x8291('0x2a')]};});_0x32e9bf[_0x8291('0x2b')]=_[_0x8291('0x26')](_0x30d99a,_0x8291('0x23'));_0x32e9bf[_0x8291('0x2c')]=_[_0x8291('0x2d')](_0x3d48e4[_0x8291('0x2c')]);_0x32e9bf[_0x8291('0x2e')]=_['intersection'](_0x32e9bf[_0x8291('0x2b')],_0x32e9bf[_0x8291('0x2c')]);_0x2d3769[_0x8291('0x2f')]=_[_0x8291('0x30')](_0x32e9bf['model'],qs[_0x8291('0x31')](_0x3d48e4[_0x8291('0x2c')][_0x8291('0x31')]));_0x2d3769[_0x8291('0x2f')]=_0x2d3769['attributes'][_0x8291('0x32')]?_0x2d3769['attributes']:_0x32e9bf['model'];if(!_0x3d48e4[_0x8291('0x2c')][_0x8291('0x33')](_0x8291('0x34'))){_0x2d3769[_0x8291('0x1c')]=qs['limit'](_0x3d48e4[_0x8291('0x2c')]['limit']);_0x2d3769[_0x8291('0x1a')]=qs[_0x8291('0x1a')](_0x3d48e4[_0x8291('0x2c')][_0x8291('0x1a')]);}_0x2d3769['order']=qs['sort'](_0x3d48e4[_0x8291('0x2c')]['sort']);_0x2d3769['where']=qs[_0x8291('0x2e')](_[_0x8291('0x35')](_0x3d48e4[_0x8291('0x2c')],_0x32e9bf['filters']),_0x30d99a);if(_0x3d48e4[_0x8291('0x2c')][_0x8291('0x36')]){_0x2d3769[_0x8291('0x37')]=_[_0x8291('0x38')](_0x2d3769[_0x8291('0x37')],{'$or':_[_0x8291('0x26')](_0x30d99a,function(_0x5855e3){if(_0x5855e3[_0x8291('0x29')]!==_0x8291('0x39')){var _0x2c9537={};_0x2c9537[_0x5855e3['name']]={'$like':'%'+_0x3d48e4[_0x8291('0x2c')][_0x8291('0x36')]+'%'};return _0x2c9537;}})});}_0x2d3769=_[_0x8291('0x38')]({},_0x2d3769,_0x3d48e4[_0x8291('0x3a')]);var _0xc62db0={'where':_0x2d3769['where']};return db[_0x8291('0x3b')]['count'](_0xc62db0)[_0x8291('0x21')](function(_0x34f4f8){_0x29a3ba['count']=_0x34f4f8;if(_0x3d48e4[_0x8291('0x2c')][_0x8291('0x3c')]){_0x2d3769[_0x8291('0x3d')]=[{'all':!![]}];}return db['SalesforceConfiguration']['findAll'](_0x2d3769);})[_0x8291('0x21')](function(_0x470220){_0x29a3ba[_0x8291('0x3e')]=_0x470220;return _0x29a3ba;})[_0x8291('0x21')](respondWithFilteredResult(_0x1390ae,_0x2d3769))[_0x8291('0x3f')](handleError(_0x1390ae,null));};exports[_0x8291('0x40')]=function(_0x54c5d1,_0x7a33b2){var _0x4d98ac={'raw':![],'where':{'id':_0x54c5d1[_0x8291('0x41')]['id']}},_0x3844ad={};_0x3844ad['model']=_['keys'](db['SalesforceConfiguration'][_0x8291('0x27')]);_0x3844ad[_0x8291('0x2c')]=_['keys'](_0x54c5d1['query']);_0x3844ad[_0x8291('0x2e')]=_[_0x8291('0x30')](_0x3844ad[_0x8291('0x2b')],_0x3844ad[_0x8291('0x2c')]);_0x4d98ac[_0x8291('0x2f')]=_[_0x8291('0x30')](_0x3844ad['model'],qs[_0x8291('0x31')](_0x54c5d1[_0x8291('0x2c')][_0x8291('0x31')]));_0x4d98ac[_0x8291('0x2f')]=_0x4d98ac[_0x8291('0x2f')]['length']?_0x4d98ac[_0x8291('0x2f')]:_0x3844ad['model'];if(_0x54c5d1[_0x8291('0x2c')][_0x8291('0x3c')]){_0x4d98ac['include']=[{'all':!![]}];}_0x4d98ac=_[_0x8291('0x38')]({},_0x4d98ac,_0x54c5d1['options']);return db['SalesforceConfiguration'][_0x8291('0x42')](_0x4d98ac)['then'](handleEntityNotFound(_0x7a33b2,null))[_0x8291('0x21')](respondWithResult(_0x7a33b2,null))['catch'](handleError(_0x7a33b2,null));};exports[_0x8291('0x43')]=function(_0x1aae87,_0x59e6b0){return db[_0x8291('0x3b')][_0x8291('0x43')](_0x1aae87[_0x8291('0x44')],{})[_0x8291('0x21')](respondWithResult(_0x59e6b0,0xc9))['catch'](handleError(_0x59e6b0,null));};exports[_0x8291('0x45')]=function(_0x516b6e,_0x2d40a4){if(_0x516b6e[_0x8291('0x44')]['id']){delete _0x516b6e['body']['id'];}return db['SalesforceConfiguration'][_0x8291('0x42')]({'where':{'id':_0x516b6e[_0x8291('0x41')]['id']}})['then'](handleEntityNotFound(_0x2d40a4,null))['then'](saveUpdates(_0x516b6e[_0x8291('0x44')],null))[_0x8291('0x21')](respondWithResult(_0x2d40a4,null))['catch'](handleError(_0x2d40a4,null));};exports[_0x8291('0x20')]=function(_0x144f45,_0x37db02){return db[_0x8291('0x3b')][_0x8291('0x42')]({'where':{'id':_0x144f45['params']['id']}})[_0x8291('0x21')](handleEntityNotFound(_0x37db02,null))[_0x8291('0x21')](removeEntity(_0x37db02,null))[_0x8291('0x3f')](handleError(_0x37db02,null));};exports['getFields']=function(_0x17896f,_0x3e9a6f,_0x288311){var _0x5c02e3={};var _0x1b89a6={};var _0x49beee;var _0x57c2b8;return db[_0x8291('0x3b')][_0x8291('0x46')]({'where':{'id':_0x17896f[_0x8291('0x41')]['id']}})['then'](handleEntityNotFound(_0x3e9a6f,null))['then'](function(_0x5a3aad){if(_0x5a3aad){_0x49beee=_0x5a3aad;_0x1b89a6[_0x8291('0x2b')]=_['keys'](db['SalesforceField']['rawAttributes']);_0x1b89a6[_0x8291('0x2c')]=_[_0x8291('0x2d')](_0x17896f[_0x8291('0x2c')]);_0x1b89a6['filters']=_['intersection'](_0x1b89a6[_0x8291('0x2b')],_0x1b89a6[_0x8291('0x2c')]);_0x5c02e3[_0x8291('0x2f')]=_[_0x8291('0x30')](_0x1b89a6['model'],qs[_0x8291('0x31')](_0x17896f['query']['fields']));_0x5c02e3[_0x8291('0x2f')]=_0x5c02e3[_0x8291('0x2f')]['length']?_0x5c02e3['attributes']:_0x1b89a6[_0x8291('0x2b')];_0x5c02e3['order']=qs['sort'](_0x17896f['query'][_0x8291('0x47')]);_0x5c02e3[_0x8291('0x37')]=qs['filters'](_[_0x8291('0x35')](_0x17896f[_0x8291('0x2c')],_0x1b89a6[_0x8291('0x2e')]));if(_0x17896f[_0x8291('0x2c')][_0x8291('0x36')]){_0x5c02e3['where']=_[_0x8291('0x38')](_0x5c02e3[_0x8291('0x37')],{'$or':_['map'](_0x5c02e3[_0x8291('0x2f')],function(_0x6dbbe8){var _0x2603a0={};_0x2603a0[_0x6dbbe8]={'$like':'%'+_0x17896f[_0x8291('0x2c')][_0x8291('0x36')]+'%'};return _0x2603a0;})});}_0x5c02e3=_['merge']({},_0x5c02e3,_0x17896f['options']);return _0x49beee[_0x8291('0x48')](_0x5c02e3);}})[_0x8291('0x21')](function(_0xb60435){if(_0xb60435){_0x57c2b8=_0xb60435[_0x8291('0x32')];if(!_0x17896f['query']['hasOwnProperty']('nolimit')){_0x5c02e3[_0x8291('0x1c')]=qs[_0x8291('0x1c')](_0x17896f['query'][_0x8291('0x1c')]);_0x5c02e3['offset']=qs[_0x8291('0x1a')](_0x17896f['query'][_0x8291('0x1a')]);}return _0x49beee[_0x8291('0x48')](_0x5c02e3);}})[_0x8291('0x21')](function(_0x34f34b){if(_0x34f34b){return _0x34f34b?{'count':_0x57c2b8,'rows':_0x34f34b}:null;}})[_0x8291('0x21')](respondWithResult(_0x3e9a6f,null))[_0x8291('0x3f')](handleError(_0x3e9a6f,null));};exports[_0x8291('0x49')]=function(_0x5e6189,_0x56728f,_0x13fad6){var _0x56d81f={};var _0x2e55fc={};var _0x376fb1;var _0x24e8f2;return db[_0x8291('0x3b')][_0x8291('0x46')]({'where':{'id':_0x5e6189[_0x8291('0x41')]['id']}})[_0x8291('0x21')](handleEntityNotFound(_0x56728f,null))['then'](function(_0x3e5357){if(_0x3e5357){_0x376fb1=_0x3e5357;_0x2e55fc[_0x8291('0x2b')]=_[_0x8291('0x2d')](db[_0x8291('0x4a')][_0x8291('0x27')]);_0x2e55fc[_0x8291('0x2c')]=_['keys'](_0x5e6189[_0x8291('0x2c')]);_0x2e55fc[_0x8291('0x2e')]=_[_0x8291('0x30')](_0x2e55fc[_0x8291('0x2b')],_0x2e55fc[_0x8291('0x2c')]);_0x56d81f['attributes']=_[_0x8291('0x30')](_0x2e55fc['model'],qs[_0x8291('0x31')](_0x5e6189[_0x8291('0x2c')][_0x8291('0x31')]));_0x56d81f[_0x8291('0x2f')]=_0x56d81f[_0x8291('0x2f')][_0x8291('0x32')]?_0x56d81f[_0x8291('0x2f')]:_0x2e55fc[_0x8291('0x2b')];_0x56d81f[_0x8291('0x4b')]=qs[_0x8291('0x47')](_0x5e6189['query'][_0x8291('0x47')]);_0x56d81f[_0x8291('0x37')]=qs[_0x8291('0x2e')](_['pick'](_0x5e6189[_0x8291('0x2c')],_0x2e55fc['filters']));if(_0x5e6189[_0x8291('0x2c')][_0x8291('0x36')]){_0x56d81f[_0x8291('0x37')]=_[_0x8291('0x38')](_0x56d81f['where'],{'$or':_[_0x8291('0x26')](_0x56d81f[_0x8291('0x2f')],function(_0x58bf1f){var _0x501fee={};_0x501fee[_0x58bf1f]={'$like':'%'+_0x5e6189['query'][_0x8291('0x36')]+'%'};return _0x501fee;})});}_0x56d81f=_[_0x8291('0x38')]({},_0x56d81f,_0x5e6189[_0x8291('0x3a')]);return _0x376fb1[_0x8291('0x49')](_0x56d81f);}})['then'](function(_0x403f8d){if(_0x403f8d){_0x24e8f2=_0x403f8d[_0x8291('0x32')];if(!_0x5e6189[_0x8291('0x2c')]['hasOwnProperty']('nolimit')){_0x56d81f[_0x8291('0x1c')]=qs[_0x8291('0x1c')](_0x5e6189[_0x8291('0x2c')]['limit']);_0x56d81f['offset']=qs[_0x8291('0x1a')](_0x5e6189[_0x8291('0x2c')][_0x8291('0x1a')]);}return _0x376fb1['getSubjects'](_0x56d81f);}})[_0x8291('0x21')](function(_0x31677f){if(_0x31677f){return _0x31677f?{'count':_0x24e8f2,'rows':_0x31677f}:null;}})[_0x8291('0x21')](respondWithResult(_0x56728f,null))[_0x8291('0x3f')](handleError(_0x56728f,null));};exports[_0x8291('0x4c')]=function(_0x5ad60f,_0x48af96,_0x269201){var _0x5cd955={};var _0x4048f6={};var _0x1dc087;var _0x2a1a7b;return db['SalesforceConfiguration'][_0x8291('0x46')]({'where':{'id':_0x5ad60f['params']['id']}})[_0x8291('0x21')](handleEntityNotFound(_0x48af96,null))[_0x8291('0x21')](function(_0x1c9447){if(_0x1c9447){_0x1dc087=_0x1c9447;_0x4048f6[_0x8291('0x2b')]=_[_0x8291('0x2d')](db['SalesforceField'][_0x8291('0x27')]);_0x4048f6[_0x8291('0x2c')]=_[_0x8291('0x2d')](_0x5ad60f['query']);_0x4048f6[_0x8291('0x2e')]=_[_0x8291('0x30')](_0x4048f6['model'],_0x4048f6[_0x8291('0x2c')]);_0x5cd955[_0x8291('0x2f')]=_['intersection'](_0x4048f6[_0x8291('0x2b')],qs[_0x8291('0x31')](_0x5ad60f[_0x8291('0x2c')][_0x8291('0x31')]));_0x5cd955['attributes']=_0x5cd955[_0x8291('0x2f')]['length']?_0x5cd955[_0x8291('0x2f')]:_0x4048f6[_0x8291('0x2b')];_0x5cd955[_0x8291('0x4b')]=qs[_0x8291('0x47')](_0x5ad60f['query'][_0x8291('0x47')]);_0x5cd955[_0x8291('0x37')]=qs['filters'](_[_0x8291('0x35')](_0x5ad60f[_0x8291('0x2c')],_0x4048f6[_0x8291('0x2e')]));if(_0x5ad60f[_0x8291('0x2c')][_0x8291('0x36')]){_0x5cd955[_0x8291('0x37')]=_[_0x8291('0x38')](_0x5cd955[_0x8291('0x37')],{'$or':_[_0x8291('0x26')](_0x5cd955[_0x8291('0x2f')],function(_0x2e1231){var _0x5bac8f={};_0x5bac8f[_0x2e1231]={'$like':'%'+_0x5ad60f[_0x8291('0x2c')][_0x8291('0x36')]+'%'};return _0x5bac8f;})});}_0x5cd955=_[_0x8291('0x38')]({},_0x5cd955,_0x5ad60f[_0x8291('0x3a')]);return _0x1dc087['getDescriptions'](_0x5cd955);}})[_0x8291('0x21')](function(_0x154a36){if(_0x154a36){_0x2a1a7b=_0x154a36[_0x8291('0x32')];if(!_0x5ad60f[_0x8291('0x2c')]['hasOwnProperty'](_0x8291('0x34'))){_0x5cd955[_0x8291('0x1c')]=qs[_0x8291('0x1c')](_0x5ad60f[_0x8291('0x2c')][_0x8291('0x1c')]);_0x5cd955[_0x8291('0x1a')]=qs['offset'](_0x5ad60f['query'][_0x8291('0x1a')]);}return _0x1dc087[_0x8291('0x4c')](_0x5cd955);}})[_0x8291('0x21')](function(_0x374989){if(_0x374989){return _0x374989?{'count':_0x2a1a7b,'rows':_0x374989}:null;}})[_0x8291('0x21')](respondWithResult(_0x48af96,null))[_0x8291('0x3f')](handleError(_0x48af96,null));};