Built motion from commit f74363e9.|2.6.34
[motion2.git] / server / api / intSugarcrmConfiguration / intSugarcrmConfiguration.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 _0x356f=['catch','show','rawAttributes','create','body','find','params','getFields','findOne','SugarcrmField','pick','getSubjects','getDescriptions','eml-format','rimraf','fast-json-patch','bluebird','path','to-csv','lodash','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','reject','update','then','destroy','error','stack','name','index','SugarcrmConfiguration','fieldName','type','key','map','keys','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows'];(function(_0x18bdf7,_0x275ee3){var _0x3c9d87=function(_0xc96647){while(--_0xc96647){_0x18bdf7['push'](_0x18bdf7['shift']());}};_0x3c9d87(++_0x275ee3);}(_0x356f,0x1cf));var _0xf356=function(_0x1afb53,_0x5a6079){_0x1afb53=_0x1afb53-0x0;var _0x655946=_0x356f[_0x1afb53];return _0x655946;};'use strict';var emlformat=require(_0xf356('0x0'));var rimraf=require(_0xf356('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf356('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf356('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0xf356('0x4'));var sox=require('sox');var csv=require(_0xf356('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf356('0x6'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xf356('0x7'));var toCsv=require(_0xf356('0x5'));var querystring=require(_0xf356('0x8'));var Papa=require(_0xf356('0x9'));var Redis=require(_0xf356('0xa'));var authService=require(_0xf356('0xb'));var qs=require(_0xf356('0xc'));var as=require(_0xf356('0xd'));var hardwareService=require(_0xf356('0xe'));var logger=require(_0xf356('0xf'))(_0xf356('0x10'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xf356('0x11'));var db=require(_0xf356('0x12'))['db'];function respondWithStatusCode(_0x1c0a1f,_0x3971ce){_0x3971ce=_0x3971ce||0xcc;return function(_0x31b3c8){if(_0x31b3c8){return _0x1c0a1f[_0xf356('0x13')](_0x3971ce);}return _0x1c0a1f['status'](_0x3971ce)[_0xf356('0x14')]();};}function respondWithResult(_0x595994,_0x24648d){_0x24648d=_0x24648d||0xc8;return function(_0x206302){if(_0x206302){return _0x595994[_0xf356('0x15')](_0x24648d)[_0xf356('0x16')](_0x206302);}};}function respondWithFilteredResult(_0x516bb8,_0x212a79){return function(_0x13a865){if(_0x13a865){var _0x31a909=typeof _0x212a79['offset']===_0xf356('0x17')&&typeof _0x212a79[_0xf356('0x18')]===_0xf356('0x17');var _0x570b48=_0x13a865[_0xf356('0x19')];var _0x1b53e3=_0x31a909?0x0:_0x212a79[_0xf356('0x1a')];var _0x361d06=_0x31a909?_0x13a865[_0xf356('0x19')]:_0x212a79[_0xf356('0x1a')]+_0x212a79['limit'];var _0xfaf25;if(_0x361d06>=_0x570b48){_0x361d06=_0x570b48;_0xfaf25=0xc8;}else{_0xfaf25=0xce;}_0x516bb8[_0xf356('0x15')](_0xfaf25);return _0x516bb8['set'](_0xf356('0x1b'),_0x1b53e3+'-'+_0x361d06+'/'+_0x570b48)[_0xf356('0x16')](_0x13a865);}return null;};}function patchUpdates(_0x21f19b){return function(_0x16f78a){try{jsonpatch[_0xf356('0x1c')](_0x16f78a,_0x21f19b,!![]);}catch(_0x22d1da){return BPromise[_0xf356('0x1d')](_0x22d1da);}return _0x16f78a['save']();};}function saveUpdates(_0x13e766,_0x5309e2){return function(_0x315c4c){if(_0x315c4c){return _0x315c4c[_0xf356('0x1e')](_0x13e766)[_0xf356('0x1f')](function(_0x544476){return _0x544476;});}return null;};}function removeEntity(_0x48c6a1,_0x1bf6b8){return function(_0x1090b0){if(_0x1090b0){return _0x1090b0[_0xf356('0x20')]()[_0xf356('0x1f')](function(){_0x48c6a1[_0xf356('0x15')](0xcc)[_0xf356('0x14')]();});}};}function handleEntityNotFound(_0x29304d,_0x481eaa){return function(_0x24418d){if(!_0x24418d){_0x29304d[_0xf356('0x13')](0x194);}return _0x24418d;};}function handleError(_0x17ff99,_0x67e243){_0x67e243=_0x67e243||0x1f4;return function(_0x508729){logger[_0xf356('0x21')](_0x508729[_0xf356('0x22')]);if(_0x508729['name']){delete _0x508729[_0xf356('0x23')];}_0x17ff99[_0xf356('0x15')](_0x67e243)['send'](_0x508729);};}exports[_0xf356('0x24')]=function(_0x1f8b9a,_0x35ab70){var _0x277f3e={},_0x5d6ac7={},_0xe719e1={'count':0x0,'rows':[]};var _0x3b95c9=_['map'](db[_0xf356('0x25')]['rawAttributes'],function(_0x2d3125){return{'name':_0x2d3125[_0xf356('0x26')],'type':_0x2d3125[_0xf356('0x27')][_0xf356('0x28')]};});_0x5d6ac7['model']=_[_0xf356('0x29')](_0x3b95c9,_0xf356('0x23'));_0x5d6ac7['query']=_[_0xf356('0x2a')](_0x1f8b9a[_0xf356('0x2b')]);_0x5d6ac7[_0xf356('0x2c')]=_['intersection'](_0x5d6ac7[_0xf356('0x2d')],_0x5d6ac7['query']);_0x277f3e[_0xf356('0x2e')]=_[_0xf356('0x2f')](_0x5d6ac7[_0xf356('0x2d')],qs[_0xf356('0x30')](_0x1f8b9a[_0xf356('0x2b')][_0xf356('0x30')]));_0x277f3e['attributes']=_0x277f3e[_0xf356('0x2e')][_0xf356('0x31')]?_0x277f3e[_0xf356('0x2e')]:_0x5d6ac7[_0xf356('0x2d')];if(!_0x1f8b9a['query'][_0xf356('0x32')](_0xf356('0x33'))){_0x277f3e['limit']=qs[_0xf356('0x18')](_0x1f8b9a[_0xf356('0x2b')][_0xf356('0x18')]);_0x277f3e[_0xf356('0x1a')]=qs[_0xf356('0x1a')](_0x1f8b9a[_0xf356('0x2b')][_0xf356('0x1a')]);}_0x277f3e[_0xf356('0x34')]=qs[_0xf356('0x35')](_0x1f8b9a['query'][_0xf356('0x35')]);_0x277f3e[_0xf356('0x36')]=qs['filters'](_['pick'](_0x1f8b9a['query'],_0x5d6ac7[_0xf356('0x2c')]),_0x3b95c9);if(_0x1f8b9a[_0xf356('0x2b')][_0xf356('0x37')]){_0x277f3e['where']=_[_0xf356('0x38')](_0x277f3e[_0xf356('0x36')],{'$or':_[_0xf356('0x29')](_0x3b95c9,function(_0x43635e){if(_0x43635e['type']!==_0xf356('0x39')){var _0x222407={};_0x222407[_0x43635e[_0xf356('0x23')]]={'$like':'%'+_0x1f8b9a[_0xf356('0x2b')][_0xf356('0x37')]+'%'};return _0x222407;}})});}_0x277f3e=_[_0xf356('0x38')]({},_0x277f3e,_0x1f8b9a[_0xf356('0x3a')]);var _0x3101c9={'where':_0x277f3e[_0xf356('0x36')]};return db['SugarcrmConfiguration'][_0xf356('0x19')](_0x3101c9)[_0xf356('0x1f')](function(_0x27dcfc){_0xe719e1[_0xf356('0x19')]=_0x27dcfc;if(_0x1f8b9a[_0xf356('0x2b')][_0xf356('0x3b')]){_0x277f3e['include']=[{'all':!![]}];}return db[_0xf356('0x25')][_0xf356('0x3c')](_0x277f3e);})[_0xf356('0x1f')](function(_0x402922){_0xe719e1[_0xf356('0x3d')]=_0x402922;return _0xe719e1;})[_0xf356('0x1f')](respondWithFilteredResult(_0x35ab70,_0x277f3e))[_0xf356('0x3e')](handleError(_0x35ab70,null));};exports[_0xf356('0x3f')]=function(_0x11bb48,_0x306d1c){var _0x48c73a={'raw':![],'where':{'id':_0x11bb48['params']['id']}},_0x40ba55={};_0x40ba55[_0xf356('0x2d')]=_['keys'](db[_0xf356('0x25')][_0xf356('0x40')]);_0x40ba55[_0xf356('0x2b')]=_[_0xf356('0x2a')](_0x11bb48[_0xf356('0x2b')]);_0x40ba55['filters']=_[_0xf356('0x2f')](_0x40ba55[_0xf356('0x2d')],_0x40ba55[_0xf356('0x2b')]);_0x48c73a[_0xf356('0x2e')]=_[_0xf356('0x2f')](_0x40ba55[_0xf356('0x2d')],qs['fields'](_0x11bb48[_0xf356('0x2b')]['fields']));_0x48c73a[_0xf356('0x2e')]=_0x48c73a[_0xf356('0x2e')][_0xf356('0x31')]?_0x48c73a[_0xf356('0x2e')]:_0x40ba55[_0xf356('0x2d')];if(_0x11bb48[_0xf356('0x2b')][_0xf356('0x3b')]){_0x48c73a['include']=[{'all':!![]}];}_0x48c73a=_['merge']({},_0x48c73a,_0x11bb48[_0xf356('0x3a')]);return db[_0xf356('0x25')]['find'](_0x48c73a)[_0xf356('0x1f')](handleEntityNotFound(_0x306d1c,null))[_0xf356('0x1f')](respondWithResult(_0x306d1c,null))['catch'](handleError(_0x306d1c,null));};exports[_0xf356('0x41')]=function(_0x1baba3,_0x501653){return db[_0xf356('0x25')][_0xf356('0x41')](_0x1baba3[_0xf356('0x42')],{})[_0xf356('0x1f')](respondWithResult(_0x501653,0xc9))[_0xf356('0x3e')](handleError(_0x501653,null));};exports[_0xf356('0x1e')]=function(_0x37a597,_0x371588){if(_0x37a597['body']['id']){delete _0x37a597[_0xf356('0x42')]['id'];}return db[_0xf356('0x25')][_0xf356('0x43')]({'where':{'id':_0x37a597[_0xf356('0x44')]['id']}})[_0xf356('0x1f')](handleEntityNotFound(_0x371588,null))[_0xf356('0x1f')](saveUpdates(_0x37a597[_0xf356('0x42')],null))[_0xf356('0x1f')](respondWithResult(_0x371588,null))[_0xf356('0x3e')](handleError(_0x371588,null));};exports[_0xf356('0x20')]=function(_0x192bc2,_0x49e8c9){return db[_0xf356('0x25')][_0xf356('0x43')]({'where':{'id':_0x192bc2[_0xf356('0x44')]['id']}})[_0xf356('0x1f')](handleEntityNotFound(_0x49e8c9,null))['then'](removeEntity(_0x49e8c9,null))[_0xf356('0x3e')](handleError(_0x49e8c9,null));};exports[_0xf356('0x45')]=function(_0x40fa50,_0x3a3909,_0x416754){var _0x4d0184={};var _0x2fe5b0={};var _0x10f295;var _0x59dbe3;return db['SugarcrmConfiguration'][_0xf356('0x46')]({'where':{'id':_0x40fa50[_0xf356('0x44')]['id']}})[_0xf356('0x1f')](handleEntityNotFound(_0x3a3909,null))[_0xf356('0x1f')](function(_0x3f4021){if(_0x3f4021){_0x10f295=_0x3f4021;_0x2fe5b0[_0xf356('0x2d')]=_['keys'](db[_0xf356('0x47')]['rawAttributes']);_0x2fe5b0[_0xf356('0x2b')]=_[_0xf356('0x2a')](_0x40fa50[_0xf356('0x2b')]);_0x2fe5b0[_0xf356('0x2c')]=_['intersection'](_0x2fe5b0[_0xf356('0x2d')],_0x2fe5b0[_0xf356('0x2b')]);_0x4d0184[_0xf356('0x2e')]=_[_0xf356('0x2f')](_0x2fe5b0['model'],qs[_0xf356('0x30')](_0x40fa50['query'][_0xf356('0x30')]));_0x4d0184[_0xf356('0x2e')]=_0x4d0184['attributes'][_0xf356('0x31')]?_0x4d0184[_0xf356('0x2e')]:_0x2fe5b0[_0xf356('0x2d')];_0x4d0184['order']=qs[_0xf356('0x35')](_0x40fa50[_0xf356('0x2b')][_0xf356('0x35')]);_0x4d0184[_0xf356('0x36')]=qs[_0xf356('0x2c')](_[_0xf356('0x48')](_0x40fa50[_0xf356('0x2b')],_0x2fe5b0[_0xf356('0x2c')]));if(_0x40fa50['query'][_0xf356('0x37')]){_0x4d0184['where']=_[_0xf356('0x38')](_0x4d0184[_0xf356('0x36')],{'$or':_['map'](_0x4d0184[_0xf356('0x2e')],function(_0x540345){var _0x5cc189={};_0x5cc189[_0x540345]={'$like':'%'+_0x40fa50[_0xf356('0x2b')][_0xf356('0x37')]+'%'};return _0x5cc189;})});}_0x4d0184=_['merge']({},_0x4d0184,_0x40fa50[_0xf356('0x3a')]);return _0x10f295['getFields'](_0x4d0184);}})['then'](function(_0x20ac06){if(_0x20ac06){_0x59dbe3=_0x20ac06[_0xf356('0x31')];if(!_0x40fa50[_0xf356('0x2b')][_0xf356('0x32')](_0xf356('0x33'))){_0x4d0184['limit']=qs[_0xf356('0x18')](_0x40fa50[_0xf356('0x2b')]['limit']);_0x4d0184[_0xf356('0x1a')]=qs['offset'](_0x40fa50[_0xf356('0x2b')][_0xf356('0x1a')]);}return _0x10f295[_0xf356('0x45')](_0x4d0184);}})[_0xf356('0x1f')](function(_0x4b48f0){if(_0x4b48f0){return _0x4b48f0?{'count':_0x59dbe3,'rows':_0x4b48f0}:null;}})['then'](respondWithResult(_0x3a3909,null))['catch'](handleError(_0x3a3909,null));};exports[_0xf356('0x49')]=function(_0x4d3c70,_0x14eb0c,_0x26318b){var _0x4b7931={};var _0x2e6bb5={};var _0x536ec9;var _0xfc4ae3;return db[_0xf356('0x25')][_0xf356('0x46')]({'where':{'id':_0x4d3c70[_0xf356('0x44')]['id']}})[_0xf356('0x1f')](handleEntityNotFound(_0x14eb0c,null))[_0xf356('0x1f')](function(_0x27706a){if(_0x27706a){_0x536ec9=_0x27706a;_0x2e6bb5[_0xf356('0x2d')]=_[_0xf356('0x2a')](db['SugarcrmField'][_0xf356('0x40')]);_0x2e6bb5['query']=_[_0xf356('0x2a')](_0x4d3c70[_0xf356('0x2b')]);_0x2e6bb5[_0xf356('0x2c')]=_['intersection'](_0x2e6bb5[_0xf356('0x2d')],_0x2e6bb5[_0xf356('0x2b')]);_0x4b7931[_0xf356('0x2e')]=_[_0xf356('0x2f')](_0x2e6bb5[_0xf356('0x2d')],qs[_0xf356('0x30')](_0x4d3c70[_0xf356('0x2b')][_0xf356('0x30')]));_0x4b7931['attributes']=_0x4b7931[_0xf356('0x2e')]['length']?_0x4b7931[_0xf356('0x2e')]:_0x2e6bb5['model'];_0x4b7931[_0xf356('0x34')]=qs[_0xf356('0x35')](_0x4d3c70[_0xf356('0x2b')][_0xf356('0x35')]);_0x4b7931[_0xf356('0x36')]=qs[_0xf356('0x2c')](_[_0xf356('0x48')](_0x4d3c70[_0xf356('0x2b')],_0x2e6bb5['filters']));if(_0x4d3c70[_0xf356('0x2b')][_0xf356('0x37')]){_0x4b7931['where']=_[_0xf356('0x38')](_0x4b7931[_0xf356('0x36')],{'$or':_[_0xf356('0x29')](_0x4b7931[_0xf356('0x2e')],function(_0x27f3ff){var _0x43ca3d={};_0x43ca3d[_0x27f3ff]={'$like':'%'+_0x4d3c70[_0xf356('0x2b')][_0xf356('0x37')]+'%'};return _0x43ca3d;})});}_0x4b7931=_[_0xf356('0x38')]({},_0x4b7931,_0x4d3c70['options']);return _0x536ec9[_0xf356('0x49')](_0x4b7931);}})[_0xf356('0x1f')](function(_0x33a706){if(_0x33a706){_0xfc4ae3=_0x33a706['length'];if(!_0x4d3c70[_0xf356('0x2b')][_0xf356('0x32')]('nolimit')){_0x4b7931[_0xf356('0x18')]=qs[_0xf356('0x18')](_0x4d3c70[_0xf356('0x2b')]['limit']);_0x4b7931[_0xf356('0x1a')]=qs['offset'](_0x4d3c70['query']['offset']);}return _0x536ec9[_0xf356('0x49')](_0x4b7931);}})[_0xf356('0x1f')](function(_0x18a9de){if(_0x18a9de){return _0x18a9de?{'count':_0xfc4ae3,'rows':_0x18a9de}:null;}})[_0xf356('0x1f')](respondWithResult(_0x14eb0c,null))[_0xf356('0x3e')](handleError(_0x14eb0c,null));};exports['getDescriptions']=function(_0x10a19f,_0x5c8ae0,_0x5021c7){var _0x4cfa57={};var _0x5b55b2={};var _0x122e7d;var _0xb3fed3;return db[_0xf356('0x25')][_0xf356('0x46')]({'where':{'id':_0x10a19f[_0xf356('0x44')]['id']}})[_0xf356('0x1f')](handleEntityNotFound(_0x5c8ae0,null))[_0xf356('0x1f')](function(_0x3b1780){if(_0x3b1780){_0x122e7d=_0x3b1780;_0x5b55b2[_0xf356('0x2d')]=_[_0xf356('0x2a')](db['SugarcrmField']['rawAttributes']);_0x5b55b2[_0xf356('0x2b')]=_[_0xf356('0x2a')](_0x10a19f['query']);_0x5b55b2[_0xf356('0x2c')]=_[_0xf356('0x2f')](_0x5b55b2[_0xf356('0x2d')],_0x5b55b2['query']);_0x4cfa57[_0xf356('0x2e')]=_[_0xf356('0x2f')](_0x5b55b2[_0xf356('0x2d')],qs['fields'](_0x10a19f['query'][_0xf356('0x30')]));_0x4cfa57[_0xf356('0x2e')]=_0x4cfa57['attributes'][_0xf356('0x31')]?_0x4cfa57[_0xf356('0x2e')]:_0x5b55b2[_0xf356('0x2d')];_0x4cfa57['order']=qs['sort'](_0x10a19f[_0xf356('0x2b')]['sort']);_0x4cfa57['where']=qs['filters'](_[_0xf356('0x48')](_0x10a19f[_0xf356('0x2b')],_0x5b55b2[_0xf356('0x2c')]));if(_0x10a19f['query'][_0xf356('0x37')]){_0x4cfa57[_0xf356('0x36')]=_['merge'](_0x4cfa57[_0xf356('0x36')],{'$or':_[_0xf356('0x29')](_0x4cfa57[_0xf356('0x2e')],function(_0x39dd84){var _0x138155={};_0x138155[_0x39dd84]={'$like':'%'+_0x10a19f[_0xf356('0x2b')][_0xf356('0x37')]+'%'};return _0x138155;})});}_0x4cfa57=_[_0xf356('0x38')]({},_0x4cfa57,_0x10a19f[_0xf356('0x3a')]);return _0x122e7d[_0xf356('0x4a')](_0x4cfa57);}})[_0xf356('0x1f')](function(_0x53e9c7){if(_0x53e9c7){_0xb3fed3=_0x53e9c7['length'];if(!_0x10a19f[_0xf356('0x2b')][_0xf356('0x32')]('nolimit')){_0x4cfa57['limit']=qs[_0xf356('0x18')](_0x10a19f[_0xf356('0x2b')][_0xf356('0x18')]);_0x4cfa57[_0xf356('0x1a')]=qs['offset'](_0x10a19f[_0xf356('0x2b')]['offset']);}return _0x122e7d[_0xf356('0x4a')](_0x4cfa57);}})[_0xf356('0x1f')](function(_0x1cd1f8){if(_0x1cd1f8){return _0x1cd1f8?{'count':_0xb3fed3,'rows':_0x1cd1f8}:null;}})[_0xf356('0x1f')](respondWithResult(_0x5c8ae0,null))['catch'](handleError(_0x5c8ae0,null));};