7f85a2d33b90ad75e8a5eecb0b876925c8b3f142
[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 _0x78d8=['show','params','rawAttributes','includeAll','catch','create','body','find','getFields','SalesforceField','order','pick','getSubjects','findOne','getDescriptions','zip-dir','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','SalesforceConfiguration','fieldName','type','key','model','map','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filters','filter','merge','VIRTUAL','options','include','findAll','rows'];(function(_0x15d60e,_0x4e846d){var _0x5c6452=function(_0x1ca41c){while(--_0x1ca41c){_0x15d60e['push'](_0x15d60e['shift']());}};_0x5c6452(++_0x4e846d);}(_0x78d8,0x19f));var _0x878d=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x78d8[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x878d('0x0'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x878d('0x1'));var Mustache=require(_0x878d('0x2'));var util=require(_0x878d('0x3'));var path=require('path');var sox=require(_0x878d('0x4'));var csv=require(_0x878d('0x5'));var ejs=require(_0x878d('0x6'));var fs=require('fs');var fs_extra=require(_0x878d('0x7'));var _=require(_0x878d('0x8'));var squel=require('squel');var crypto=require(_0x878d('0x9'));var jsforce=require(_0x878d('0xa'));var deskjs=require(_0x878d('0xb'));var toCsv=require(_0x878d('0x5'));var querystring=require(_0x878d('0xc'));var Papa=require(_0x878d('0xd'));var Redis=require(_0x878d('0xe'));var authService=require(_0x878d('0xf'));var qs=require(_0x878d('0x10'));var as=require(_0x878d('0x11'));var hardwareService=require(_0x878d('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0x878d('0x13'));var config=require(_0x878d('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x878d('0x15'))['db'];function respondWithStatusCode(_0x5a9cc0,_0x58f2ea){_0x58f2ea=_0x58f2ea||0xcc;return function(_0x3c3c1b){if(_0x3c3c1b){return _0x5a9cc0[_0x878d('0x16')](_0x58f2ea);}return _0x5a9cc0[_0x878d('0x17')](_0x58f2ea)['end']();};}function respondWithResult(_0x3297d8,_0x78ae1c){_0x78ae1c=_0x78ae1c||0xc8;return function(_0x4943e0){if(_0x4943e0){return _0x3297d8[_0x878d('0x17')](_0x78ae1c)[_0x878d('0x18')](_0x4943e0);}};}function respondWithFilteredResult(_0x1234d8,_0xecb6db){return function(_0x13b017){if(_0x13b017){var _0x1db8dc=typeof _0xecb6db[_0x878d('0x19')]===_0x878d('0x1a')&&typeof _0xecb6db[_0x878d('0x1b')]==='undefined';var _0x105038=_0x13b017[_0x878d('0x1c')];var _0x137f56=_0x1db8dc?0x0:_0xecb6db[_0x878d('0x19')];var _0x22e618=_0x1db8dc?_0x13b017['count']:_0xecb6db[_0x878d('0x19')]+_0xecb6db[_0x878d('0x1b')];var _0x34111f;if(_0x22e618>=_0x105038){_0x22e618=_0x105038;_0x34111f=0xc8;}else{_0x34111f=0xce;}_0x1234d8[_0x878d('0x17')](_0x34111f);return _0x1234d8['set']('Content-Range',_0x137f56+'-'+_0x22e618+'/'+_0x105038)[_0x878d('0x18')](_0x13b017);}return null;};}function patchUpdates(_0x2c260a){return function(_0x3be9e4){try{jsonpatch[_0x878d('0x1d')](_0x3be9e4,_0x2c260a,!![]);}catch(_0x405aaf){return BPromise[_0x878d('0x1e')](_0x405aaf);}return _0x3be9e4[_0x878d('0x1f')]();};}function saveUpdates(_0x5544a3,_0x44d4dc){return function(_0x851a6){if(_0x851a6){return _0x851a6[_0x878d('0x20')](_0x5544a3)[_0x878d('0x21')](function(_0x36be01){return _0x36be01;});}return null;};}function removeEntity(_0x1d2706,_0x40659b){return function(_0x51ed04){if(_0x51ed04){return _0x51ed04[_0x878d('0x22')]()['then'](function(){_0x1d2706[_0x878d('0x17')](0xcc)[_0x878d('0x23')]();});}};}function handleEntityNotFound(_0x2e5811,_0x4f4c51){return function(_0x585643){if(!_0x585643){_0x2e5811[_0x878d('0x16')](0x194);}return _0x585643;};}function handleError(_0x25cc36,_0x35863e){_0x35863e=_0x35863e||0x1f4;return function(_0x40290a){logger[_0x878d('0x24')](_0x40290a[_0x878d('0x25')]);if(_0x40290a['name']){delete _0x40290a[_0x878d('0x26')];}_0x25cc36[_0x878d('0x17')](_0x35863e)[_0x878d('0x27')](_0x40290a);};}exports[_0x878d('0x28')]=function(_0x3eaf40,_0x55f0cc){var _0x3e74cd={},_0x7e5481={},_0x1ab3f4={'count':0x0,'rows':[]};var _0x2ae7cb=_['map'](db[_0x878d('0x29')]['rawAttributes'],function(_0x212779){return{'name':_0x212779[_0x878d('0x2a')],'type':_0x212779[_0x878d('0x2b')][_0x878d('0x2c')]};});_0x7e5481[_0x878d('0x2d')]=_[_0x878d('0x2e')](_0x2ae7cb,_0x878d('0x26'));_0x7e5481[_0x878d('0x2f')]=_[_0x878d('0x30')](_0x3eaf40[_0x878d('0x2f')]);_0x7e5481['filters']=_['intersection'](_0x7e5481['model'],_0x7e5481[_0x878d('0x2f')]);_0x3e74cd[_0x878d('0x31')]=_[_0x878d('0x32')](_0x7e5481[_0x878d('0x2d')],qs[_0x878d('0x33')](_0x3eaf40[_0x878d('0x2f')][_0x878d('0x33')]));_0x3e74cd[_0x878d('0x31')]=_0x3e74cd[_0x878d('0x31')][_0x878d('0x34')]?_0x3e74cd[_0x878d('0x31')]:_0x7e5481[_0x878d('0x2d')];if(!_0x3eaf40[_0x878d('0x2f')][_0x878d('0x35')](_0x878d('0x36'))){_0x3e74cd[_0x878d('0x1b')]=qs[_0x878d('0x1b')](_0x3eaf40[_0x878d('0x2f')]['limit']);_0x3e74cd[_0x878d('0x19')]=qs[_0x878d('0x19')](_0x3eaf40[_0x878d('0x2f')][_0x878d('0x19')]);}_0x3e74cd['order']=qs['sort'](_0x3eaf40[_0x878d('0x2f')][_0x878d('0x37')]);_0x3e74cd[_0x878d('0x38')]=qs[_0x878d('0x39')](_['pick'](_0x3eaf40['query'],_0x7e5481['filters']),_0x2ae7cb);if(_0x3eaf40[_0x878d('0x2f')][_0x878d('0x3a')]){_0x3e74cd[_0x878d('0x38')]=_[_0x878d('0x3b')](_0x3e74cd[_0x878d('0x38')],{'$or':_[_0x878d('0x2e')](_0x2ae7cb,function(_0x2b6535){if(_0x2b6535[_0x878d('0x2b')]!==_0x878d('0x3c')){var _0x3c1376={};_0x3c1376[_0x2b6535[_0x878d('0x26')]]={'$like':'%'+_0x3eaf40[_0x878d('0x2f')][_0x878d('0x3a')]+'%'};return _0x3c1376;}})});}_0x3e74cd=_[_0x878d('0x3b')]({},_0x3e74cd,_0x3eaf40[_0x878d('0x3d')]);var _0x136e98={'where':_0x3e74cd['where']};return db[_0x878d('0x29')][_0x878d('0x1c')](_0x136e98)['then'](function(_0x34200c){_0x1ab3f4[_0x878d('0x1c')]=_0x34200c;if(_0x3eaf40[_0x878d('0x2f')]['includeAll']){_0x3e74cd[_0x878d('0x3e')]=[{'all':!![]}];}return db[_0x878d('0x29')][_0x878d('0x3f')](_0x3e74cd);})[_0x878d('0x21')](function(_0x1c3bac){_0x1ab3f4[_0x878d('0x40')]=_0x1c3bac;return _0x1ab3f4;})[_0x878d('0x21')](respondWithFilteredResult(_0x55f0cc,_0x3e74cd))['catch'](handleError(_0x55f0cc,null));};exports[_0x878d('0x41')]=function(_0xf69272,_0x1e89c6){var _0x35748a={'raw':![],'where':{'id':_0xf69272[_0x878d('0x42')]['id']}},_0x161e0e={};_0x161e0e[_0x878d('0x2d')]=_[_0x878d('0x30')](db[_0x878d('0x29')][_0x878d('0x43')]);_0x161e0e['query']=_[_0x878d('0x30')](_0xf69272[_0x878d('0x2f')]);_0x161e0e[_0x878d('0x39')]=_[_0x878d('0x32')](_0x161e0e[_0x878d('0x2d')],_0x161e0e[_0x878d('0x2f')]);_0x35748a[_0x878d('0x31')]=_['intersection'](_0x161e0e[_0x878d('0x2d')],qs[_0x878d('0x33')](_0xf69272[_0x878d('0x2f')][_0x878d('0x33')]));_0x35748a[_0x878d('0x31')]=_0x35748a['attributes'][_0x878d('0x34')]?_0x35748a['attributes']:_0x161e0e['model'];if(_0xf69272[_0x878d('0x2f')][_0x878d('0x44')]){_0x35748a[_0x878d('0x3e')]=[{'all':!![]}];}_0x35748a=_[_0x878d('0x3b')]({},_0x35748a,_0xf69272[_0x878d('0x3d')]);return db[_0x878d('0x29')]['find'](_0x35748a)['then'](handleEntityNotFound(_0x1e89c6,null))['then'](respondWithResult(_0x1e89c6,null))[_0x878d('0x45')](handleError(_0x1e89c6,null));};exports['create']=function(_0x4e81ef,_0x10f798){return db[_0x878d('0x29')][_0x878d('0x46')](_0x4e81ef[_0x878d('0x47')],{})[_0x878d('0x21')](respondWithResult(_0x10f798,0xc9))['catch'](handleError(_0x10f798,null));};exports[_0x878d('0x20')]=function(_0x5c88f6,_0xaeaaf3){if(_0x5c88f6['body']['id']){delete _0x5c88f6[_0x878d('0x47')]['id'];}return db['SalesforceConfiguration'][_0x878d('0x48')]({'where':{'id':_0x5c88f6[_0x878d('0x42')]['id']}})[_0x878d('0x21')](handleEntityNotFound(_0xaeaaf3,null))[_0x878d('0x21')](saveUpdates(_0x5c88f6[_0x878d('0x47')],null))[_0x878d('0x21')](respondWithResult(_0xaeaaf3,null))[_0x878d('0x45')](handleError(_0xaeaaf3,null));};exports[_0x878d('0x22')]=function(_0x363714,_0x4142b1){return db['SalesforceConfiguration']['find']({'where':{'id':_0x363714[_0x878d('0x42')]['id']}})[_0x878d('0x21')](handleEntityNotFound(_0x4142b1,null))[_0x878d('0x21')](removeEntity(_0x4142b1,null))[_0x878d('0x45')](handleError(_0x4142b1,null));};exports[_0x878d('0x49')]=function(_0x14d87e,_0x363299,_0x3b9107){var _0x17e2f3={};var _0x340d50={};var _0x407f35;var _0x49a912;return db[_0x878d('0x29')]['findOne']({'where':{'id':_0x14d87e['params']['id']}})[_0x878d('0x21')](handleEntityNotFound(_0x363299,null))[_0x878d('0x21')](function(_0x3cdbba){if(_0x3cdbba){_0x407f35=_0x3cdbba;_0x340d50[_0x878d('0x2d')]=_['keys'](db[_0x878d('0x4a')][_0x878d('0x43')]);_0x340d50[_0x878d('0x2f')]=_[_0x878d('0x30')](_0x14d87e[_0x878d('0x2f')]);_0x340d50['filters']=_[_0x878d('0x32')](_0x340d50['model'],_0x340d50['query']);_0x17e2f3[_0x878d('0x31')]=_[_0x878d('0x32')](_0x340d50[_0x878d('0x2d')],qs[_0x878d('0x33')](_0x14d87e[_0x878d('0x2f')][_0x878d('0x33')]));_0x17e2f3[_0x878d('0x31')]=_0x17e2f3['attributes']['length']?_0x17e2f3[_0x878d('0x31')]:_0x340d50[_0x878d('0x2d')];_0x17e2f3[_0x878d('0x4b')]=qs[_0x878d('0x37')](_0x14d87e[_0x878d('0x2f')][_0x878d('0x37')]);_0x17e2f3[_0x878d('0x38')]=qs[_0x878d('0x39')](_[_0x878d('0x4c')](_0x14d87e['query'],_0x340d50[_0x878d('0x39')]));if(_0x14d87e[_0x878d('0x2f')][_0x878d('0x3a')]){_0x17e2f3[_0x878d('0x38')]=_[_0x878d('0x3b')](_0x17e2f3[_0x878d('0x38')],{'$or':_[_0x878d('0x2e')](_0x17e2f3['attributes'],function(_0x12073a){var _0x187e4a={};_0x187e4a[_0x12073a]={'$like':'%'+_0x14d87e[_0x878d('0x2f')][_0x878d('0x3a')]+'%'};return _0x187e4a;})});}_0x17e2f3=_[_0x878d('0x3b')]({},_0x17e2f3,_0x14d87e[_0x878d('0x3d')]);return _0x407f35[_0x878d('0x49')](_0x17e2f3);}})[_0x878d('0x21')](function(_0x17ed7e){if(_0x17ed7e){_0x49a912=_0x17ed7e[_0x878d('0x34')];if(!_0x14d87e[_0x878d('0x2f')]['hasOwnProperty'](_0x878d('0x36'))){_0x17e2f3[_0x878d('0x1b')]=qs[_0x878d('0x1b')](_0x14d87e['query'][_0x878d('0x1b')]);_0x17e2f3[_0x878d('0x19')]=qs['offset'](_0x14d87e[_0x878d('0x2f')][_0x878d('0x19')]);}return _0x407f35[_0x878d('0x49')](_0x17e2f3);}})['then'](function(_0x19c370){if(_0x19c370){return _0x19c370?{'count':_0x49a912,'rows':_0x19c370}:null;}})[_0x878d('0x21')](respondWithResult(_0x363299,null))[_0x878d('0x45')](handleError(_0x363299,null));};exports[_0x878d('0x4d')]=function(_0x22784c,_0x4cf24e,_0x3138fe){var _0x5ce922={};var _0x5b38c8={};var _0x388bfa;var _0x897dbf;return db['SalesforceConfiguration'][_0x878d('0x4e')]({'where':{'id':_0x22784c[_0x878d('0x42')]['id']}})['then'](handleEntityNotFound(_0x4cf24e,null))['then'](function(_0xaad4bc){if(_0xaad4bc){_0x388bfa=_0xaad4bc;_0x5b38c8[_0x878d('0x2d')]=_[_0x878d('0x30')](db['SalesforceField'][_0x878d('0x43')]);_0x5b38c8['query']=_['keys'](_0x22784c[_0x878d('0x2f')]);_0x5b38c8[_0x878d('0x39')]=_[_0x878d('0x32')](_0x5b38c8['model'],_0x5b38c8[_0x878d('0x2f')]);_0x5ce922[_0x878d('0x31')]=_[_0x878d('0x32')](_0x5b38c8[_0x878d('0x2d')],qs[_0x878d('0x33')](_0x22784c[_0x878d('0x2f')]['fields']));_0x5ce922[_0x878d('0x31')]=_0x5ce922[_0x878d('0x31')]['length']?_0x5ce922['attributes']:_0x5b38c8[_0x878d('0x2d')];_0x5ce922[_0x878d('0x4b')]=qs[_0x878d('0x37')](_0x22784c[_0x878d('0x2f')]['sort']);_0x5ce922[_0x878d('0x38')]=qs[_0x878d('0x39')](_[_0x878d('0x4c')](_0x22784c[_0x878d('0x2f')],_0x5b38c8['filters']));if(_0x22784c[_0x878d('0x2f')][_0x878d('0x3a')]){_0x5ce922[_0x878d('0x38')]=_[_0x878d('0x3b')](_0x5ce922[_0x878d('0x38')],{'$or':_['map'](_0x5ce922[_0x878d('0x31')],function(_0x532b54){var _0x4e3ec6={};_0x4e3ec6[_0x532b54]={'$like':'%'+_0x22784c['query'][_0x878d('0x3a')]+'%'};return _0x4e3ec6;})});}_0x5ce922=_[_0x878d('0x3b')]({},_0x5ce922,_0x22784c[_0x878d('0x3d')]);return _0x388bfa[_0x878d('0x4d')](_0x5ce922);}})[_0x878d('0x21')](function(_0x4a24d6){if(_0x4a24d6){_0x897dbf=_0x4a24d6['length'];if(!_0x22784c[_0x878d('0x2f')][_0x878d('0x35')](_0x878d('0x36'))){_0x5ce922[_0x878d('0x1b')]=qs['limit'](_0x22784c[_0x878d('0x2f')][_0x878d('0x1b')]);_0x5ce922[_0x878d('0x19')]=qs['offset'](_0x22784c['query']['offset']);}return _0x388bfa[_0x878d('0x4d')](_0x5ce922);}})[_0x878d('0x21')](function(_0x39e269){if(_0x39e269){return _0x39e269?{'count':_0x897dbf,'rows':_0x39e269}:null;}})[_0x878d('0x21')](respondWithResult(_0x4cf24e,null))[_0x878d('0x45')](handleError(_0x4cf24e,null));};exports['getDescriptions']=function(_0x43170f,_0x550c0d,_0x3552a6){var _0x2feba1={};var _0x78b75d={};var _0x173a38;var _0x2ac639;return db['SalesforceConfiguration'][_0x878d('0x4e')]({'where':{'id':_0x43170f[_0x878d('0x42')]['id']}})[_0x878d('0x21')](handleEntityNotFound(_0x550c0d,null))[_0x878d('0x21')](function(_0x7e5bee){if(_0x7e5bee){_0x173a38=_0x7e5bee;_0x78b75d[_0x878d('0x2d')]=_['keys'](db['SalesforceField']['rawAttributes']);_0x78b75d[_0x878d('0x2f')]=_[_0x878d('0x30')](_0x43170f[_0x878d('0x2f')]);_0x78b75d[_0x878d('0x39')]=_[_0x878d('0x32')](_0x78b75d[_0x878d('0x2d')],_0x78b75d[_0x878d('0x2f')]);_0x2feba1[_0x878d('0x31')]=_[_0x878d('0x32')](_0x78b75d['model'],qs[_0x878d('0x33')](_0x43170f[_0x878d('0x2f')][_0x878d('0x33')]));_0x2feba1['attributes']=_0x2feba1['attributes'][_0x878d('0x34')]?_0x2feba1[_0x878d('0x31')]:_0x78b75d[_0x878d('0x2d')];_0x2feba1[_0x878d('0x4b')]=qs[_0x878d('0x37')](_0x43170f[_0x878d('0x2f')]['sort']);_0x2feba1[_0x878d('0x38')]=qs['filters'](_[_0x878d('0x4c')](_0x43170f[_0x878d('0x2f')],_0x78b75d[_0x878d('0x39')]));if(_0x43170f[_0x878d('0x2f')][_0x878d('0x3a')]){_0x2feba1['where']=_[_0x878d('0x3b')](_0x2feba1[_0x878d('0x38')],{'$or':_[_0x878d('0x2e')](_0x2feba1['attributes'],function(_0x464f9e){var _0x26bce4={};_0x26bce4[_0x464f9e]={'$like':'%'+_0x43170f['query'][_0x878d('0x3a')]+'%'};return _0x26bce4;})});}_0x2feba1=_['merge']({},_0x2feba1,_0x43170f[_0x878d('0x3d')]);return _0x173a38[_0x878d('0x4f')](_0x2feba1);}})['then'](function(_0x498695){if(_0x498695){_0x2ac639=_0x498695[_0x878d('0x34')];if(!_0x43170f['query']['hasOwnProperty'](_0x878d('0x36'))){_0x2feba1['limit']=qs[_0x878d('0x1b')](_0x43170f[_0x878d('0x2f')][_0x878d('0x1b')]);_0x2feba1[_0x878d('0x19')]=qs[_0x878d('0x19')](_0x43170f[_0x878d('0x2f')][_0x878d('0x19')]);}return _0x173a38['getDescriptions'](_0x2feba1);}})[_0x878d('0x21')](function(_0x16c24f){if(_0x16c24f){return _0x16c24f?{'count':_0x2ac639,'rows':_0x16c24f}:null;}})[_0x878d('0x21')](respondWithResult(_0x550c0d,null))[_0x878d('0x45')](handleError(_0x550c0d,null));};