6d1fc75a5383d15d690bf87dee8194bb3d4d0d22
[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 _0x444a=['../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','sendStatus','name','send','map','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','SalesforceConfiguration','includeAll','findAll','rows','catch','show','include','create','body','find','findOne','params','SalesforceField','getFields','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','fs-extra','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch'];(function(_0x2212d4,_0x58d903){var _0x14b8bc=function(_0x2561ab){while(--_0x2561ab){_0x2212d4['push'](_0x2212d4['shift']());}};_0x14b8bc(++_0x58d903);}(_0x444a,0x170));var _0xa444=function(_0x403c8d,_0x5e3825){_0x403c8d=_0x403c8d-0x0;var _0x4ca60d=_0x444a[_0x403c8d];return _0x4ca60d;};'use strict';var emlformat=require(_0xa444('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa444('0x1'));var jsonpatch=require(_0xa444('0x2'));var rp=require(_0xa444('0x3'));var moment=require(_0xa444('0x4'));var BPromise=require(_0xa444('0x5'));var Mustache=require(_0xa444('0x6'));var util=require('util');var path=require(_0xa444('0x7'));var sox=require('sox');var csv=require(_0xa444('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa444('0x9'));var _=require(_0xa444('0xa'));var squel=require(_0xa444('0xb'));var crypto=require(_0xa444('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xa444('0xd'));var toCsv=require(_0xa444('0x8'));var querystring=require('querystring');var Papa=require(_0xa444('0xe'));var Redis=require(_0xa444('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xa444('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa444('0x11'))(_0xa444('0x12'));var utils=require(_0xa444('0x13'));var config=require(_0xa444('0x14'));var licenseUtil=require(_0xa444('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4d2220,_0x19c1be){_0x19c1be=_0x19c1be||0xcc;return function(_0x4805af){if(_0x4805af){return _0x4d2220['sendStatus'](_0x19c1be);}return _0x4d2220['status'](_0x19c1be)[_0xa444('0x16')]();};}function respondWithResult(_0x4b7b27,_0x3cd3da){_0x3cd3da=_0x3cd3da||0xc8;return function(_0x3520a7){if(_0x3520a7){return _0x4b7b27[_0xa444('0x17')](_0x3cd3da)[_0xa444('0x18')](_0x3520a7);}};}function respondWithFilteredResult(_0x3f4760,_0x2c81bd){return function(_0x3aa724){if(_0x3aa724){var _0x3f73f9=typeof _0x2c81bd[_0xa444('0x19')]===_0xa444('0x1a')&&typeof _0x2c81bd[_0xa444('0x1b')]===_0xa444('0x1a');var _0x3eef32=_0x3aa724[_0xa444('0x1c')];var _0x512d42=_0x3f73f9?0x0:_0x2c81bd[_0xa444('0x19')];var _0x341341=_0x3f73f9?_0x3aa724[_0xa444('0x1c')]:_0x2c81bd[_0xa444('0x19')]+_0x2c81bd[_0xa444('0x1b')];var _0x4eb64f;if(_0x341341>=_0x3eef32){_0x341341=_0x3eef32;_0x4eb64f=0xc8;}else{_0x4eb64f=0xce;}_0x3f4760[_0xa444('0x17')](_0x4eb64f);return _0x3f4760[_0xa444('0x1d')](_0xa444('0x1e'),_0x512d42+'-'+_0x341341+'/'+_0x3eef32)['json'](_0x3aa724);}return null;};}function patchUpdates(_0x3b0fc1){return function(_0x1c321f){try{jsonpatch[_0xa444('0x1f')](_0x1c321f,_0x3b0fc1,!![]);}catch(_0x38878a){return BPromise['reject'](_0x38878a);}return _0x1c321f[_0xa444('0x20')]();};}function saveUpdates(_0x5cf0b5,_0x5ac090){return function(_0x3b79e0){if(_0x3b79e0){return _0x3b79e0[_0xa444('0x21')](_0x5cf0b5)[_0xa444('0x22')](function(_0x479d5b){return _0x479d5b;});}return null;};}function removeEntity(_0x3ef5ce,_0x2a2570){return function(_0x46a15c){if(_0x46a15c){return _0x46a15c[_0xa444('0x23')]()[_0xa444('0x22')](function(){_0x3ef5ce['status'](0xcc)[_0xa444('0x16')]();});}};}function handleEntityNotFound(_0x131fad,_0x527c96){return function(_0x278c33){if(!_0x278c33){_0x131fad[_0xa444('0x24')](0x194);}return _0x278c33;};}function handleError(_0x5c618b,_0x5c81f0){_0x5c81f0=_0x5c81f0||0x1f4;return function(_0x2ccf7a){logger['error'](_0x2ccf7a['stack']);if(_0x2ccf7a[_0xa444('0x25')]){delete _0x2ccf7a[_0xa444('0x25')];}_0x5c618b[_0xa444('0x17')](_0x5c81f0)[_0xa444('0x26')](_0x2ccf7a);};}exports['index']=function(_0x2bdc0f,_0x2a24a1){var _0x361476={},_0x5bbf30={},_0x468cfa={'count':0x0,'rows':[]};var _0xba7d9e=_[_0xa444('0x27')](db['SalesforceConfiguration'][_0xa444('0x28')],function(_0x4f02b6){return{'name':_0x4f02b6[_0xa444('0x29')],'type':_0x4f02b6[_0xa444('0x2a')]['key']};});_0x5bbf30[_0xa444('0x2b')]=_[_0xa444('0x27')](_0xba7d9e,_0xa444('0x25'));_0x5bbf30[_0xa444('0x2c')]=_[_0xa444('0x2d')](_0x2bdc0f[_0xa444('0x2c')]);_0x5bbf30['filters']=_[_0xa444('0x2e')](_0x5bbf30[_0xa444('0x2b')],_0x5bbf30['query']);_0x361476[_0xa444('0x2f')]=_[_0xa444('0x2e')](_0x5bbf30[_0xa444('0x2b')],qs[_0xa444('0x30')](_0x2bdc0f['query'][_0xa444('0x30')]));_0x361476[_0xa444('0x2f')]=_0x361476[_0xa444('0x2f')][_0xa444('0x31')]?_0x361476[_0xa444('0x2f')]:_0x5bbf30[_0xa444('0x2b')];if(!_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x32')](_0xa444('0x33'))){_0x361476['limit']=qs['limit'](_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x1b')]);_0x361476[_0xa444('0x19')]=qs[_0xa444('0x19')](_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x19')]);}_0x361476[_0xa444('0x34')]=qs[_0xa444('0x35')](_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x35')]);_0x361476[_0xa444('0x36')]=qs[_0xa444('0x37')](_[_0xa444('0x38')](_0x2bdc0f['query'],_0x5bbf30[_0xa444('0x37')]),_0xba7d9e);if(_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x39')]){_0x361476[_0xa444('0x36')]=_['merge'](_0x361476[_0xa444('0x36')],{'$or':_[_0xa444('0x27')](_0xba7d9e,function(_0x26f2fb){if(_0x26f2fb[_0xa444('0x2a')]!==_0xa444('0x3a')){var _0x702ea5={};_0x702ea5[_0x26f2fb['name']]={'$like':'%'+_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x39')]+'%'};return _0x702ea5;}})});}_0x361476=_[_0xa444('0x3b')]({},_0x361476,_0x2bdc0f[_0xa444('0x3c')]);var _0x4b4e64={'where':_0x361476[_0xa444('0x36')]};return db[_0xa444('0x3d')]['count'](_0x4b4e64)[_0xa444('0x22')](function(_0x37b02b){_0x468cfa[_0xa444('0x1c')]=_0x37b02b;if(_0x2bdc0f[_0xa444('0x2c')][_0xa444('0x3e')]){_0x361476['include']=[{'all':!![]}];}return db[_0xa444('0x3d')][_0xa444('0x3f')](_0x361476);})['then'](function(_0x43983f){_0x468cfa[_0xa444('0x40')]=_0x43983f;return _0x468cfa;})[_0xa444('0x22')](respondWithFilteredResult(_0x2a24a1,_0x361476))[_0xa444('0x41')](handleError(_0x2a24a1,null));};exports[_0xa444('0x42')]=function(_0x4407a8,_0x22455a){var _0x401b66={'raw':![],'where':{'id':_0x4407a8['params']['id']}},_0x48c371={};_0x48c371[_0xa444('0x2b')]=_[_0xa444('0x2d')](db[_0xa444('0x3d')]['rawAttributes']);_0x48c371['query']=_[_0xa444('0x2d')](_0x4407a8[_0xa444('0x2c')]);_0x48c371[_0xa444('0x37')]=_[_0xa444('0x2e')](_0x48c371[_0xa444('0x2b')],_0x48c371[_0xa444('0x2c')]);_0x401b66[_0xa444('0x2f')]=_[_0xa444('0x2e')](_0x48c371[_0xa444('0x2b')],qs['fields'](_0x4407a8[_0xa444('0x2c')][_0xa444('0x30')]));_0x401b66[_0xa444('0x2f')]=_0x401b66['attributes'][_0xa444('0x31')]?_0x401b66['attributes']:_0x48c371[_0xa444('0x2b')];if(_0x4407a8[_0xa444('0x2c')][_0xa444('0x3e')]){_0x401b66[_0xa444('0x43')]=[{'all':!![]}];}_0x401b66=_['merge']({},_0x401b66,_0x4407a8[_0xa444('0x3c')]);return db['SalesforceConfiguration']['find'](_0x401b66)['then'](handleEntityNotFound(_0x22455a,null))[_0xa444('0x22')](respondWithResult(_0x22455a,null))[_0xa444('0x41')](handleError(_0x22455a,null));};exports[_0xa444('0x44')]=function(_0xf62441,_0x393f29){return db['SalesforceConfiguration']['create'](_0xf62441[_0xa444('0x45')],{})['then'](respondWithResult(_0x393f29,0xc9))[_0xa444('0x41')](handleError(_0x393f29,null));};exports[_0xa444('0x21')]=function(_0x1399b0,_0x1d50c5){if(_0x1399b0['body']['id']){delete _0x1399b0[_0xa444('0x45')]['id'];}return db[_0xa444('0x3d')][_0xa444('0x46')]({'where':{'id':_0x1399b0['params']['id']}})[_0xa444('0x22')](handleEntityNotFound(_0x1d50c5,null))[_0xa444('0x22')](saveUpdates(_0x1399b0[_0xa444('0x45')],null))[_0xa444('0x22')](respondWithResult(_0x1d50c5,null))[_0xa444('0x41')](handleError(_0x1d50c5,null));};exports[_0xa444('0x23')]=function(_0x3b1ab2,_0x1b4860){return db[_0xa444('0x3d')][_0xa444('0x46')]({'where':{'id':_0x3b1ab2['params']['id']}})[_0xa444('0x22')](handleEntityNotFound(_0x1b4860,null))[_0xa444('0x22')](removeEntity(_0x1b4860,null))['catch'](handleError(_0x1b4860,null));};exports['getFields']=function(_0x945a11,_0x1d51a8,_0x1897db){var _0x4ec67e={};var _0x2d042c={};var _0x2b69ec;var _0x1f4af9;return db['SalesforceConfiguration'][_0xa444('0x47')]({'where':{'id':_0x945a11[_0xa444('0x48')]['id']}})['then'](handleEntityNotFound(_0x1d51a8,null))['then'](function(_0x5cec29){if(_0x5cec29){_0x2b69ec=_0x5cec29;_0x2d042c[_0xa444('0x2b')]=_[_0xa444('0x2d')](db[_0xa444('0x49')][_0xa444('0x28')]);_0x2d042c[_0xa444('0x2c')]=_[_0xa444('0x2d')](_0x945a11['query']);_0x2d042c[_0xa444('0x37')]=_[_0xa444('0x2e')](_0x2d042c[_0xa444('0x2b')],_0x2d042c[_0xa444('0x2c')]);_0x4ec67e[_0xa444('0x2f')]=_['intersection'](_0x2d042c[_0xa444('0x2b')],qs[_0xa444('0x30')](_0x945a11[_0xa444('0x2c')]['fields']));_0x4ec67e[_0xa444('0x2f')]=_0x4ec67e[_0xa444('0x2f')][_0xa444('0x31')]?_0x4ec67e[_0xa444('0x2f')]:_0x2d042c[_0xa444('0x2b')];_0x4ec67e[_0xa444('0x34')]=qs[_0xa444('0x35')](_0x945a11[_0xa444('0x2c')]['sort']);_0x4ec67e['where']=qs['filters'](_[_0xa444('0x38')](_0x945a11['query'],_0x2d042c[_0xa444('0x37')]));if(_0x945a11[_0xa444('0x2c')][_0xa444('0x39')]){_0x4ec67e['where']=_[_0xa444('0x3b')](_0x4ec67e[_0xa444('0x36')],{'$or':_[_0xa444('0x27')](_0x4ec67e[_0xa444('0x2f')],function(_0x2c906a){var _0x761ef7={};_0x761ef7[_0x2c906a]={'$like':'%'+_0x945a11[_0xa444('0x2c')]['filter']+'%'};return _0x761ef7;})});}_0x4ec67e=_['merge']({},_0x4ec67e,_0x945a11[_0xa444('0x3c')]);return _0x2b69ec[_0xa444('0x4a')](_0x4ec67e);}})[_0xa444('0x22')](function(_0x3f4b1){if(_0x3f4b1){_0x1f4af9=_0x3f4b1[_0xa444('0x31')];if(!_0x945a11[_0xa444('0x2c')][_0xa444('0x32')](_0xa444('0x33'))){_0x4ec67e[_0xa444('0x1b')]=qs['limit'](_0x945a11[_0xa444('0x2c')][_0xa444('0x1b')]);_0x4ec67e[_0xa444('0x19')]=qs[_0xa444('0x19')](_0x945a11[_0xa444('0x2c')]['offset']);}return _0x2b69ec[_0xa444('0x4a')](_0x4ec67e);}})[_0xa444('0x22')](function(_0x32895b){if(_0x32895b){return _0x32895b?{'count':_0x1f4af9,'rows':_0x32895b}:null;}})[_0xa444('0x22')](respondWithResult(_0x1d51a8,null))[_0xa444('0x41')](handleError(_0x1d51a8,null));};exports[_0xa444('0x4b')]=function(_0x226ca8,_0x20dc17,_0x55de68){var _0x406b20={};var _0x45c0bf={};var _0x3fdbfd;var _0xb65f0c;return db[_0xa444('0x3d')][_0xa444('0x47')]({'where':{'id':_0x226ca8['params']['id']}})[_0xa444('0x22')](handleEntityNotFound(_0x20dc17,null))[_0xa444('0x22')](function(_0xa006bd){if(_0xa006bd){_0x3fdbfd=_0xa006bd;_0x45c0bf[_0xa444('0x2b')]=_[_0xa444('0x2d')](db['SalesforceField']['rawAttributes']);_0x45c0bf['query']=_['keys'](_0x226ca8['query']);_0x45c0bf[_0xa444('0x37')]=_[_0xa444('0x2e')](_0x45c0bf[_0xa444('0x2b')],_0x45c0bf[_0xa444('0x2c')]);_0x406b20['attributes']=_['intersection'](_0x45c0bf[_0xa444('0x2b')],qs['fields'](_0x226ca8[_0xa444('0x2c')][_0xa444('0x30')]));_0x406b20['attributes']=_0x406b20[_0xa444('0x2f')][_0xa444('0x31')]?_0x406b20[_0xa444('0x2f')]:_0x45c0bf[_0xa444('0x2b')];_0x406b20['order']=qs[_0xa444('0x35')](_0x226ca8['query'][_0xa444('0x35')]);_0x406b20['where']=qs[_0xa444('0x37')](_['pick'](_0x226ca8[_0xa444('0x2c')],_0x45c0bf[_0xa444('0x37')]));if(_0x226ca8[_0xa444('0x2c')]['filter']){_0x406b20[_0xa444('0x36')]=_[_0xa444('0x3b')](_0x406b20[_0xa444('0x36')],{'$or':_[_0xa444('0x27')](_0x406b20[_0xa444('0x2f')],function(_0xa874eb){var _0x92e624={};_0x92e624[_0xa874eb]={'$like':'%'+_0x226ca8[_0xa444('0x2c')][_0xa444('0x39')]+'%'};return _0x92e624;})});}_0x406b20=_['merge']({},_0x406b20,_0x226ca8['options']);return _0x3fdbfd[_0xa444('0x4b')](_0x406b20);}})[_0xa444('0x22')](function(_0x269a92){if(_0x269a92){_0xb65f0c=_0x269a92[_0xa444('0x31')];if(!_0x226ca8[_0xa444('0x2c')][_0xa444('0x32')]('nolimit')){_0x406b20['limit']=qs[_0xa444('0x1b')](_0x226ca8[_0xa444('0x2c')][_0xa444('0x1b')]);_0x406b20[_0xa444('0x19')]=qs['offset'](_0x226ca8[_0xa444('0x2c')][_0xa444('0x19')]);}return _0x3fdbfd['getSubjects'](_0x406b20);}})['then'](function(_0x308bd2){if(_0x308bd2){return _0x308bd2?{'count':_0xb65f0c,'rows':_0x308bd2}:null;}})[_0xa444('0x22')](respondWithResult(_0x20dc17,null))[_0xa444('0x41')](handleError(_0x20dc17,null));};exports[_0xa444('0x4c')]=function(_0x29ac8a,_0x4758fd,_0x3a5b8d){var _0x2d168={};var _0x17670b={};var _0x3eebac;var _0x7e69d0;return db[_0xa444('0x3d')][_0xa444('0x47')]({'where':{'id':_0x29ac8a[_0xa444('0x48')]['id']}})['then'](handleEntityNotFound(_0x4758fd,null))['then'](function(_0xa141cc){if(_0xa141cc){_0x3eebac=_0xa141cc;_0x17670b[_0xa444('0x2b')]=_[_0xa444('0x2d')](db[_0xa444('0x49')][_0xa444('0x28')]);_0x17670b[_0xa444('0x2c')]=_['keys'](_0x29ac8a[_0xa444('0x2c')]);_0x17670b[_0xa444('0x37')]=_[_0xa444('0x2e')](_0x17670b[_0xa444('0x2b')],_0x17670b['query']);_0x2d168[_0xa444('0x2f')]=_['intersection'](_0x17670b['model'],qs['fields'](_0x29ac8a[_0xa444('0x2c')]['fields']));_0x2d168[_0xa444('0x2f')]=_0x2d168[_0xa444('0x2f')][_0xa444('0x31')]?_0x2d168[_0xa444('0x2f')]:_0x17670b[_0xa444('0x2b')];_0x2d168['order']=qs[_0xa444('0x35')](_0x29ac8a[_0xa444('0x2c')]['sort']);_0x2d168[_0xa444('0x36')]=qs[_0xa444('0x37')](_[_0xa444('0x38')](_0x29ac8a[_0xa444('0x2c')],_0x17670b['filters']));if(_0x29ac8a[_0xa444('0x2c')]['filter']){_0x2d168[_0xa444('0x36')]=_[_0xa444('0x3b')](_0x2d168[_0xa444('0x36')],{'$or':_['map'](_0x2d168[_0xa444('0x2f')],function(_0x2ef554){var _0x243325={};_0x243325[_0x2ef554]={'$like':'%'+_0x29ac8a[_0xa444('0x2c')][_0xa444('0x39')]+'%'};return _0x243325;})});}_0x2d168=_['merge']({},_0x2d168,_0x29ac8a[_0xa444('0x3c')]);return _0x3eebac['getDescriptions'](_0x2d168);}})[_0xa444('0x22')](function(_0x4bf826){if(_0x4bf826){_0x7e69d0=_0x4bf826[_0xa444('0x31')];if(!_0x29ac8a[_0xa444('0x2c')][_0xa444('0x32')](_0xa444('0x33'))){_0x2d168[_0xa444('0x1b')]=qs[_0xa444('0x1b')](_0x29ac8a['query'][_0xa444('0x1b')]);_0x2d168[_0xa444('0x19')]=qs['offset'](_0x29ac8a[_0xa444('0x2c')]['offset']);}return _0x3eebac['getDescriptions'](_0x2d168);}})[_0xa444('0x22')](function(_0x22c6ce){if(_0x22c6ce){return _0x22c6ce?{'count':_0x7e69d0,'rows':_0x22c6ce}:null;}})[_0xa444('0x22')](respondWithResult(_0x4758fd,null))[_0xa444('0x41')](handleError(_0x4758fd,null));};