Built motion from commit 64440dd5.|2.6.29
[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 _0xfb10=['squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','save','then','destroy','error','stack','name','send','index','map','SalesforceConfiguration','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','type','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','update','getFields','SalesforceField','getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra'];(function(_0x15cb50,_0x49587b){var _0x423caa=function(_0x501371){while(--_0x501371){_0x15cb50['push'](_0x15cb50['shift']());}};_0x423caa(++_0x49587b);}(_0xfb10,0x13c));var _0x0fb1=function(_0x28e6bd,_0x209fd7){_0x28e6bd=_0x28e6bd-0x0;var _0x3ef264=_0xfb10[_0x28e6bd];return _0x3ef264;};'use strict';var emlformat=require(_0x0fb1('0x0'));var rimraf=require(_0x0fb1('0x1'));var zipdir=require(_0x0fb1('0x2'));var jsonpatch=require(_0x0fb1('0x3'));var rp=require(_0x0fb1('0x4'));var moment=require(_0x0fb1('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x0fb1('0x6'));var util=require(_0x0fb1('0x7'));var path=require(_0x0fb1('0x8'));var sox=require('sox');var csv=require(_0x0fb1('0x9'));var ejs=require(_0x0fb1('0xa'));var fs=require('fs');var fs_extra=require(_0x0fb1('0xb'));var _=require('lodash');var squel=require(_0x0fb1('0xc'));var crypto=require(_0x0fb1('0xd'));var jsforce=require(_0x0fb1('0xe'));var deskjs=require(_0x0fb1('0xf'));var toCsv=require('to-csv');var querystring=require(_0x0fb1('0x10'));var Papa=require(_0x0fb1('0x11'));var Redis=require('ioredis');var authService=require(_0x0fb1('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x0fb1('0x13'));var hardwareService=require(_0x0fb1('0x14'));var logger=require(_0x0fb1('0x15'))(_0x0fb1('0x16'));var utils=require(_0x0fb1('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x0fb1('0x18'));var db=require(_0x0fb1('0x19'))['db'];function respondWithStatusCode(_0x5d5636,_0x33fd70){_0x33fd70=_0x33fd70||0xcc;return function(_0x1158d0){if(_0x1158d0){return _0x5d5636[_0x0fb1('0x1a')](_0x33fd70);}return _0x5d5636[_0x0fb1('0x1b')](_0x33fd70)[_0x0fb1('0x1c')]();};}function respondWithResult(_0x548a43,_0x7d5bff){_0x7d5bff=_0x7d5bff||0xc8;return function(_0x4f81dc){if(_0x4f81dc){return _0x548a43[_0x0fb1('0x1b')](_0x7d5bff)[_0x0fb1('0x1d')](_0x4f81dc);}};}function respondWithFilteredResult(_0x131ba5,_0x39a4a4){return function(_0x117521){if(_0x117521){var _0x31b872=typeof _0x39a4a4[_0x0fb1('0x1e')]===_0x0fb1('0x1f')&&typeof _0x39a4a4['limit']===_0x0fb1('0x1f');var _0x5d8ed6=_0x117521[_0x0fb1('0x20')];var _0x328a5d=_0x31b872?0x0:_0x39a4a4[_0x0fb1('0x1e')];var _0x4d2821=_0x31b872?_0x117521[_0x0fb1('0x20')]:_0x39a4a4[_0x0fb1('0x1e')]+_0x39a4a4['limit'];var _0x703a82;if(_0x4d2821>=_0x5d8ed6){_0x4d2821=_0x5d8ed6;_0x703a82=0xc8;}else{_0x703a82=0xce;}_0x131ba5[_0x0fb1('0x1b')](_0x703a82);return _0x131ba5['set'](_0x0fb1('0x21'),_0x328a5d+'-'+_0x4d2821+'/'+_0x5d8ed6)['json'](_0x117521);}return null;};}function patchUpdates(_0x2ce3f3){return function(_0x196506){try{jsonpatch[_0x0fb1('0x22')](_0x196506,_0x2ce3f3,!![]);}catch(_0x24b61f){return BPromise['reject'](_0x24b61f);}return _0x196506[_0x0fb1('0x23')]();};}function saveUpdates(_0x347b6c,_0x26953d){return function(_0x7922b9){if(_0x7922b9){return _0x7922b9['update'](_0x347b6c)[_0x0fb1('0x24')](function(_0x73aca4){return _0x73aca4;});}return null;};}function removeEntity(_0x401590,_0x38dfd3){return function(_0x1d97f5){if(_0x1d97f5){return _0x1d97f5[_0x0fb1('0x25')]()['then'](function(){_0x401590['status'](0xcc)[_0x0fb1('0x1c')]();});}};}function handleEntityNotFound(_0x398801,_0x5300ed){return function(_0xfa58ff){if(!_0xfa58ff){_0x398801[_0x0fb1('0x1a')](0x194);}return _0xfa58ff;};}function handleError(_0x5c7064,_0x5ca8d1){_0x5ca8d1=_0x5ca8d1||0x1f4;return function(_0x44f29f){logger[_0x0fb1('0x26')](_0x44f29f[_0x0fb1('0x27')]);if(_0x44f29f[_0x0fb1('0x28')]){delete _0x44f29f[_0x0fb1('0x28')];}_0x5c7064['status'](_0x5ca8d1)[_0x0fb1('0x29')](_0x44f29f);};}exports[_0x0fb1('0x2a')]=function(_0x5c11d1,_0x339162){var _0x328a05={},_0x147e78={},_0x12ff27={'count':0x0,'rows':[]};var _0x2ab8db=_[_0x0fb1('0x2b')](db[_0x0fb1('0x2c')][_0x0fb1('0x2d')],function(_0x46afb0){return{'name':_0x46afb0[_0x0fb1('0x2e')],'type':_0x46afb0['type']['key']};});_0x147e78[_0x0fb1('0x2f')]=_[_0x0fb1('0x2b')](_0x2ab8db,_0x0fb1('0x28'));_0x147e78[_0x0fb1('0x30')]=_[_0x0fb1('0x31')](_0x5c11d1['query']);_0x147e78[_0x0fb1('0x32')]=_[_0x0fb1('0x33')](_0x147e78[_0x0fb1('0x2f')],_0x147e78['query']);_0x328a05['attributes']=_[_0x0fb1('0x33')](_0x147e78['model'],qs['fields'](_0x5c11d1[_0x0fb1('0x30')][_0x0fb1('0x34')]));_0x328a05[_0x0fb1('0x35')]=_0x328a05['attributes'][_0x0fb1('0x36')]?_0x328a05['attributes']:_0x147e78[_0x0fb1('0x2f')];if(!_0x5c11d1['query'][_0x0fb1('0x37')](_0x0fb1('0x38'))){_0x328a05['limit']=qs[_0x0fb1('0x39')](_0x5c11d1['query'][_0x0fb1('0x39')]);_0x328a05[_0x0fb1('0x1e')]=qs[_0x0fb1('0x1e')](_0x5c11d1[_0x0fb1('0x30')][_0x0fb1('0x1e')]);}_0x328a05[_0x0fb1('0x3a')]=qs[_0x0fb1('0x3b')](_0x5c11d1['query'][_0x0fb1('0x3b')]);_0x328a05['where']=qs[_0x0fb1('0x32')](_[_0x0fb1('0x3c')](_0x5c11d1[_0x0fb1('0x30')],_0x147e78[_0x0fb1('0x32')]),_0x2ab8db);if(_0x5c11d1['query'][_0x0fb1('0x3d')]){_0x328a05[_0x0fb1('0x3e')]=_[_0x0fb1('0x3f')](_0x328a05[_0x0fb1('0x3e')],{'$or':_['map'](_0x2ab8db,function(_0x5c8ed1){if(_0x5c8ed1[_0x0fb1('0x40')]!=='VIRTUAL'){var _0x19a4a0={};_0x19a4a0[_0x5c8ed1[_0x0fb1('0x28')]]={'$like':'%'+_0x5c11d1['query'][_0x0fb1('0x3d')]+'%'};return _0x19a4a0;}})});}_0x328a05=_[_0x0fb1('0x3f')]({},_0x328a05,_0x5c11d1[_0x0fb1('0x41')]);var _0x3082c1={'where':_0x328a05['where']};return db['SalesforceConfiguration'][_0x0fb1('0x20')](_0x3082c1)[_0x0fb1('0x24')](function(_0x2682e9){_0x12ff27[_0x0fb1('0x20')]=_0x2682e9;if(_0x5c11d1[_0x0fb1('0x30')][_0x0fb1('0x42')]){_0x328a05[_0x0fb1('0x43')]=[{'all':!![]}];}return db[_0x0fb1('0x2c')][_0x0fb1('0x44')](_0x328a05);})[_0x0fb1('0x24')](function(_0x2c5301){_0x12ff27[_0x0fb1('0x45')]=_0x2c5301;return _0x12ff27;})['then'](respondWithFilteredResult(_0x339162,_0x328a05))[_0x0fb1('0x46')](handleError(_0x339162,null));};exports[_0x0fb1('0x47')]=function(_0x192e53,_0x544e59){var _0x2c97dc={'raw':![],'where':{'id':_0x192e53[_0x0fb1('0x48')]['id']}},_0x1eca3b={};_0x1eca3b[_0x0fb1('0x2f')]=_['keys'](db[_0x0fb1('0x2c')][_0x0fb1('0x2d')]);_0x1eca3b['query']=_['keys'](_0x192e53[_0x0fb1('0x30')]);_0x1eca3b[_0x0fb1('0x32')]=_['intersection'](_0x1eca3b[_0x0fb1('0x2f')],_0x1eca3b[_0x0fb1('0x30')]);_0x2c97dc[_0x0fb1('0x35')]=_[_0x0fb1('0x33')](_0x1eca3b[_0x0fb1('0x2f')],qs[_0x0fb1('0x34')](_0x192e53[_0x0fb1('0x30')]['fields']));_0x2c97dc['attributes']=_0x2c97dc['attributes'][_0x0fb1('0x36')]?_0x2c97dc[_0x0fb1('0x35')]:_0x1eca3b[_0x0fb1('0x2f')];if(_0x192e53[_0x0fb1('0x30')][_0x0fb1('0x42')]){_0x2c97dc[_0x0fb1('0x43')]=[{'all':!![]}];}_0x2c97dc=_[_0x0fb1('0x3f')]({},_0x2c97dc,_0x192e53[_0x0fb1('0x41')]);return db[_0x0fb1('0x2c')][_0x0fb1('0x49')](_0x2c97dc)[_0x0fb1('0x24')](handleEntityNotFound(_0x544e59,null))[_0x0fb1('0x24')](respondWithResult(_0x544e59,null))['catch'](handleError(_0x544e59,null));};exports[_0x0fb1('0x4a')]=function(_0x4f5f76,_0x8644f2){return db[_0x0fb1('0x2c')]['create'](_0x4f5f76[_0x0fb1('0x4b')],{})['then'](respondWithResult(_0x8644f2,0xc9))[_0x0fb1('0x46')](handleError(_0x8644f2,null));};exports[_0x0fb1('0x4c')]=function(_0x272cd2,_0x14a6ae){if(_0x272cd2['body']['id']){delete _0x272cd2[_0x0fb1('0x4b')]['id'];}return db[_0x0fb1('0x2c')][_0x0fb1('0x49')]({'where':{'id':_0x272cd2[_0x0fb1('0x48')]['id']}})['then'](handleEntityNotFound(_0x14a6ae,null))[_0x0fb1('0x24')](saveUpdates(_0x272cd2['body'],null))[_0x0fb1('0x24')](respondWithResult(_0x14a6ae,null))[_0x0fb1('0x46')](handleError(_0x14a6ae,null));};exports['destroy']=function(_0x24f62a,_0x3c5c5e){return db['SalesforceConfiguration'][_0x0fb1('0x49')]({'where':{'id':_0x24f62a[_0x0fb1('0x48')]['id']}})['then'](handleEntityNotFound(_0x3c5c5e,null))['then'](removeEntity(_0x3c5c5e,null))[_0x0fb1('0x46')](handleError(_0x3c5c5e,null));};exports[_0x0fb1('0x4d')]=function(_0x1e2f60,_0x3a9ffd,_0x20d86b){var _0x525ce7={};var _0x3cdaae={};var _0x3039cc;var _0x1672b6;return db[_0x0fb1('0x2c')]['findOne']({'where':{'id':_0x1e2f60[_0x0fb1('0x48')]['id']}})['then'](handleEntityNotFound(_0x3a9ffd,null))[_0x0fb1('0x24')](function(_0x159334){if(_0x159334){_0x3039cc=_0x159334;_0x3cdaae[_0x0fb1('0x2f')]=_[_0x0fb1('0x31')](db[_0x0fb1('0x4e')]['rawAttributes']);_0x3cdaae[_0x0fb1('0x30')]=_[_0x0fb1('0x31')](_0x1e2f60[_0x0fb1('0x30')]);_0x3cdaae[_0x0fb1('0x32')]=_[_0x0fb1('0x33')](_0x3cdaae[_0x0fb1('0x2f')],_0x3cdaae[_0x0fb1('0x30')]);_0x525ce7[_0x0fb1('0x35')]=_[_0x0fb1('0x33')](_0x3cdaae[_0x0fb1('0x2f')],qs[_0x0fb1('0x34')](_0x1e2f60['query'][_0x0fb1('0x34')]));_0x525ce7[_0x0fb1('0x35')]=_0x525ce7['attributes'][_0x0fb1('0x36')]?_0x525ce7[_0x0fb1('0x35')]:_0x3cdaae[_0x0fb1('0x2f')];_0x525ce7['order']=qs[_0x0fb1('0x3b')](_0x1e2f60[_0x0fb1('0x30')][_0x0fb1('0x3b')]);_0x525ce7[_0x0fb1('0x3e')]=qs['filters'](_[_0x0fb1('0x3c')](_0x1e2f60[_0x0fb1('0x30')],_0x3cdaae[_0x0fb1('0x32')]));if(_0x1e2f60[_0x0fb1('0x30')][_0x0fb1('0x3d')]){_0x525ce7[_0x0fb1('0x3e')]=_['merge'](_0x525ce7[_0x0fb1('0x3e')],{'$or':_[_0x0fb1('0x2b')](_0x525ce7[_0x0fb1('0x35')],function(_0x27d0c8){var _0x48e4ac={};_0x48e4ac[_0x27d0c8]={'$like':'%'+_0x1e2f60['query'][_0x0fb1('0x3d')]+'%'};return _0x48e4ac;})});}_0x525ce7=_[_0x0fb1('0x3f')]({},_0x525ce7,_0x1e2f60[_0x0fb1('0x41')]);return _0x3039cc[_0x0fb1('0x4d')](_0x525ce7);}})[_0x0fb1('0x24')](function(_0x50ba14){if(_0x50ba14){_0x1672b6=_0x50ba14['length'];if(!_0x1e2f60[_0x0fb1('0x30')]['hasOwnProperty'](_0x0fb1('0x38'))){_0x525ce7[_0x0fb1('0x39')]=qs[_0x0fb1('0x39')](_0x1e2f60[_0x0fb1('0x30')][_0x0fb1('0x39')]);_0x525ce7['offset']=qs[_0x0fb1('0x1e')](_0x1e2f60[_0x0fb1('0x30')][_0x0fb1('0x1e')]);}return _0x3039cc[_0x0fb1('0x4d')](_0x525ce7);}})[_0x0fb1('0x24')](function(_0x56abc7){if(_0x56abc7){return _0x56abc7?{'count':_0x1672b6,'rows':_0x56abc7}:null;}})[_0x0fb1('0x24')](respondWithResult(_0x3a9ffd,null))[_0x0fb1('0x46')](handleError(_0x3a9ffd,null));};exports[_0x0fb1('0x4f')]=function(_0x16849e,_0x2555ef,_0x5ca211){var _0x30f0bb={};var _0xaca4fe={};var _0x41ed88;var _0x2cbbc5;return db[_0x0fb1('0x2c')][_0x0fb1('0x50')]({'where':{'id':_0x16849e['params']['id']}})[_0x0fb1('0x24')](handleEntityNotFound(_0x2555ef,null))[_0x0fb1('0x24')](function(_0x207af3){if(_0x207af3){_0x41ed88=_0x207af3;_0xaca4fe[_0x0fb1('0x2f')]=_[_0x0fb1('0x31')](db[_0x0fb1('0x4e')]['rawAttributes']);_0xaca4fe['query']=_[_0x0fb1('0x31')](_0x16849e[_0x0fb1('0x30')]);_0xaca4fe[_0x0fb1('0x32')]=_[_0x0fb1('0x33')](_0xaca4fe[_0x0fb1('0x2f')],_0xaca4fe['query']);_0x30f0bb[_0x0fb1('0x35')]=_[_0x0fb1('0x33')](_0xaca4fe[_0x0fb1('0x2f')],qs[_0x0fb1('0x34')](_0x16849e['query'][_0x0fb1('0x34')]));_0x30f0bb[_0x0fb1('0x35')]=_0x30f0bb[_0x0fb1('0x35')][_0x0fb1('0x36')]?_0x30f0bb[_0x0fb1('0x35')]:_0xaca4fe['model'];_0x30f0bb['order']=qs['sort'](_0x16849e[_0x0fb1('0x30')]['sort']);_0x30f0bb[_0x0fb1('0x3e')]=qs[_0x0fb1('0x32')](_[_0x0fb1('0x3c')](_0x16849e['query'],_0xaca4fe['filters']));if(_0x16849e[_0x0fb1('0x30')]['filter']){_0x30f0bb[_0x0fb1('0x3e')]=_[_0x0fb1('0x3f')](_0x30f0bb[_0x0fb1('0x3e')],{'$or':_[_0x0fb1('0x2b')](_0x30f0bb[_0x0fb1('0x35')],function(_0x133e57){var _0x4606b7={};_0x4606b7[_0x133e57]={'$like':'%'+_0x16849e[_0x0fb1('0x30')][_0x0fb1('0x3d')]+'%'};return _0x4606b7;})});}_0x30f0bb=_['merge']({},_0x30f0bb,_0x16849e[_0x0fb1('0x41')]);return _0x41ed88[_0x0fb1('0x4f')](_0x30f0bb);}})[_0x0fb1('0x24')](function(_0x360927){if(_0x360927){_0x2cbbc5=_0x360927[_0x0fb1('0x36')];if(!_0x16849e['query']['hasOwnProperty'](_0x0fb1('0x38'))){_0x30f0bb[_0x0fb1('0x39')]=qs[_0x0fb1('0x39')](_0x16849e['query'][_0x0fb1('0x39')]);_0x30f0bb[_0x0fb1('0x1e')]=qs['offset'](_0x16849e['query'][_0x0fb1('0x1e')]);}return _0x41ed88[_0x0fb1('0x4f')](_0x30f0bb);}})[_0x0fb1('0x24')](function(_0x181c2d){if(_0x181c2d){return _0x181c2d?{'count':_0x2cbbc5,'rows':_0x181c2d}:null;}})[_0x0fb1('0x24')](respondWithResult(_0x2555ef,null))[_0x0fb1('0x46')](handleError(_0x2555ef,null));};exports['getDescriptions']=function(_0x10b6ca,_0x3ccd89,_0x103de1){var _0x1afaa1={};var _0x56066c={};var _0x3167fb;var _0x14fe9c;return db[_0x0fb1('0x2c')][_0x0fb1('0x50')]({'where':{'id':_0x10b6ca[_0x0fb1('0x48')]['id']}})['then'](handleEntityNotFound(_0x3ccd89,null))['then'](function(_0x570daa){if(_0x570daa){_0x3167fb=_0x570daa;_0x56066c['model']=_['keys'](db[_0x0fb1('0x4e')][_0x0fb1('0x2d')]);_0x56066c[_0x0fb1('0x30')]=_[_0x0fb1('0x31')](_0x10b6ca[_0x0fb1('0x30')]);_0x56066c['filters']=_['intersection'](_0x56066c[_0x0fb1('0x2f')],_0x56066c[_0x0fb1('0x30')]);_0x1afaa1['attributes']=_[_0x0fb1('0x33')](_0x56066c[_0x0fb1('0x2f')],qs[_0x0fb1('0x34')](_0x10b6ca['query'][_0x0fb1('0x34')]));_0x1afaa1[_0x0fb1('0x35')]=_0x1afaa1[_0x0fb1('0x35')]['length']?_0x1afaa1['attributes']:_0x56066c[_0x0fb1('0x2f')];_0x1afaa1[_0x0fb1('0x3a')]=qs[_0x0fb1('0x3b')](_0x10b6ca['query'][_0x0fb1('0x3b')]);_0x1afaa1[_0x0fb1('0x3e')]=qs[_0x0fb1('0x32')](_[_0x0fb1('0x3c')](_0x10b6ca[_0x0fb1('0x30')],_0x56066c[_0x0fb1('0x32')]));if(_0x10b6ca[_0x0fb1('0x30')]['filter']){_0x1afaa1[_0x0fb1('0x3e')]=_[_0x0fb1('0x3f')](_0x1afaa1[_0x0fb1('0x3e')],{'$or':_[_0x0fb1('0x2b')](_0x1afaa1['attributes'],function(_0x52de32){var _0x511b02={};_0x511b02[_0x52de32]={'$like':'%'+_0x10b6ca['query']['filter']+'%'};return _0x511b02;})});}_0x1afaa1=_[_0x0fb1('0x3f')]({},_0x1afaa1,_0x10b6ca[_0x0fb1('0x41')]);return _0x3167fb[_0x0fb1('0x51')](_0x1afaa1);}})[_0x0fb1('0x24')](function(_0x10ad39){if(_0x10ad39){_0x14fe9c=_0x10ad39['length'];if(!_0x10b6ca[_0x0fb1('0x30')][_0x0fb1('0x37')](_0x0fb1('0x38'))){_0x1afaa1['limit']=qs['limit'](_0x10b6ca[_0x0fb1('0x30')][_0x0fb1('0x39')]);_0x1afaa1[_0x0fb1('0x1e')]=qs['offset'](_0x10b6ca[_0x0fb1('0x30')][_0x0fb1('0x1e')]);}return _0x3167fb[_0x0fb1('0x51')](_0x1afaa1);}})[_0x0fb1('0x24')](function(_0x120d6f){if(_0x120d6f){return _0x120d6f?{'count':_0x14fe9c,'rows':_0x120d6f}:null;}})[_0x0fb1('0x24')](respondWithResult(_0x3ccd89,null))[_0x0fb1('0x46')](handleError(_0x3ccd89,null));};