Built motion from commit 52c8a02d.|2.6.29
[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 _0xfdc9=['json','offset','undefined','count','limit','set','Content-Range','save','update','then','destroy','end','error','stack','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','key','query','keys','intersection','model','attributes','fields','nolimit','sort','where','pick','filters','merge','filter','includeAll','include','findAll','rows','catch','length','options','find','create','body','params','getFields','findOne','SugarcrmField','order','hasOwnProperty','getSubjects','getDescriptions','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x4343b6,_0x10f215){var _0x299639=function(_0x17c819){while(--_0x17c819){_0x4343b6['push'](_0x4343b6['shift']());}};_0x299639(++_0x10f215);}(_0xfdc9,0x171));var _0x9fdc=function(_0x4529f3,_0x3f5d82){_0x4529f3=_0x4529f3-0x0;var _0x2e73fc=_0xfdc9[_0x4529f3];return _0x2e73fc;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x9fdc('0x0'));var moment=require(_0x9fdc('0x1'));var BPromise=require(_0x9fdc('0x2'));var Mustache=require('mustache');var util=require(_0x9fdc('0x3'));var path=require(_0x9fdc('0x4'));var sox=require(_0x9fdc('0x5'));var csv=require(_0x9fdc('0x6'));var ejs=require(_0x9fdc('0x7'));var fs=require('fs');var fs_extra=require(_0x9fdc('0x8'));var _=require(_0x9fdc('0x9'));var squel=require(_0x9fdc('0xa'));var crypto=require('crypto');var jsforce=require(_0x9fdc('0xb'));var deskjs=require(_0x9fdc('0xc'));var toCsv=require(_0x9fdc('0x6'));var querystring=require(_0x9fdc('0xd'));var Papa=require(_0x9fdc('0xe'));var Redis=require(_0x9fdc('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9fdc('0x10'));var as=require(_0x9fdc('0x11'));var hardwareService=require(_0x9fdc('0x12'));var logger=require(_0x9fdc('0x13'))('api');var utils=require(_0x9fdc('0x14'));var config=require(_0x9fdc('0x15'));var licenseUtil=require(_0x9fdc('0x16'));var db=require(_0x9fdc('0x17'))['db'];function respondWithStatusCode(_0x164991,_0x34b5ed){_0x34b5ed=_0x34b5ed||0xcc;return function(_0x4a621b){if(_0x4a621b){return _0x164991[_0x9fdc('0x18')](_0x34b5ed);}return _0x164991[_0x9fdc('0x19')](_0x34b5ed)['end']();};}function respondWithResult(_0x4e4da6,_0x2afb41){_0x2afb41=_0x2afb41||0xc8;return function(_0xa9c4c2){if(_0xa9c4c2){return _0x4e4da6[_0x9fdc('0x19')](_0x2afb41)[_0x9fdc('0x1a')](_0xa9c4c2);}};}function respondWithFilteredResult(_0x11873e,_0x98e474){return function(_0x4d2044){if(_0x4d2044){var _0x2dcb41=typeof _0x98e474[_0x9fdc('0x1b')]===_0x9fdc('0x1c')&&typeof _0x98e474['limit']===_0x9fdc('0x1c');var _0x5f4875=_0x4d2044[_0x9fdc('0x1d')];var _0x2a728f=_0x2dcb41?0x0:_0x98e474['offset'];var _0x35eab3=_0x2dcb41?_0x4d2044['count']:_0x98e474[_0x9fdc('0x1b')]+_0x98e474[_0x9fdc('0x1e')];var _0x48848c;if(_0x35eab3>=_0x5f4875){_0x35eab3=_0x5f4875;_0x48848c=0xc8;}else{_0x48848c=0xce;}_0x11873e[_0x9fdc('0x19')](_0x48848c);return _0x11873e[_0x9fdc('0x1f')](_0x9fdc('0x20'),_0x2a728f+'-'+_0x35eab3+'/'+_0x5f4875)[_0x9fdc('0x1a')](_0x4d2044);}return null;};}function patchUpdates(_0x2e0956){return function(_0x38b0a7){try{jsonpatch['apply'](_0x38b0a7,_0x2e0956,!![]);}catch(_0x2e93da){return BPromise['reject'](_0x2e93da);}return _0x38b0a7[_0x9fdc('0x21')]();};}function saveUpdates(_0x546b79,_0x59a5a9){return function(_0x5ed27a){if(_0x5ed27a){return _0x5ed27a[_0x9fdc('0x22')](_0x546b79)[_0x9fdc('0x23')](function(_0x2c3b2d){return _0x2c3b2d;});}return null;};}function removeEntity(_0xd4bee6,_0x58ab64){return function(_0x39cca4){if(_0x39cca4){return _0x39cca4[_0x9fdc('0x24')]()[_0x9fdc('0x23')](function(){_0xd4bee6[_0x9fdc('0x19')](0xcc)[_0x9fdc('0x25')]();});}};}function handleEntityNotFound(_0x3cf606,_0x24fb74){return function(_0x259e50){if(!_0x259e50){_0x3cf606[_0x9fdc('0x18')](0x194);}return _0x259e50;};}function handleError(_0x32e565,_0x2ae413){_0x2ae413=_0x2ae413||0x1f4;return function(_0x3c595d){logger[_0x9fdc('0x26')](_0x3c595d[_0x9fdc('0x27')]);if(_0x3c595d['name']){delete _0x3c595d[_0x9fdc('0x28')];}_0x32e565[_0x9fdc('0x19')](_0x2ae413)[_0x9fdc('0x29')](_0x3c595d);};}exports[_0x9fdc('0x2a')]=function(_0x9013c5,_0x1ed40a){var _0x3e784a={},_0x1bb468={},_0x254c53={'count':0x0,'rows':[]};var _0x287f74=_[_0x9fdc('0x2b')](db[_0x9fdc('0x2c')][_0x9fdc('0x2d')],function(_0x4ad8ea){return{'name':_0x4ad8ea[_0x9fdc('0x2e')],'type':_0x4ad8ea['type'][_0x9fdc('0x2f')]};});_0x1bb468['model']=_[_0x9fdc('0x2b')](_0x287f74,_0x9fdc('0x28'));_0x1bb468[_0x9fdc('0x30')]=_[_0x9fdc('0x31')](_0x9013c5[_0x9fdc('0x30')]);_0x1bb468['filters']=_[_0x9fdc('0x32')](_0x1bb468[_0x9fdc('0x33')],_0x1bb468[_0x9fdc('0x30')]);_0x3e784a[_0x9fdc('0x34')]=_['intersection'](_0x1bb468[_0x9fdc('0x33')],qs[_0x9fdc('0x35')](_0x9013c5[_0x9fdc('0x30')]['fields']));_0x3e784a['attributes']=_0x3e784a['attributes']['length']?_0x3e784a['attributes']:_0x1bb468[_0x9fdc('0x33')];if(!_0x9013c5['query']['hasOwnProperty'](_0x9fdc('0x36'))){_0x3e784a['limit']=qs[_0x9fdc('0x1e')](_0x9013c5[_0x9fdc('0x30')][_0x9fdc('0x1e')]);_0x3e784a[_0x9fdc('0x1b')]=qs[_0x9fdc('0x1b')](_0x9013c5[_0x9fdc('0x30')][_0x9fdc('0x1b')]);}_0x3e784a['order']=qs[_0x9fdc('0x37')](_0x9013c5[_0x9fdc('0x30')][_0x9fdc('0x37')]);_0x3e784a[_0x9fdc('0x38')]=qs['filters'](_[_0x9fdc('0x39')](_0x9013c5[_0x9fdc('0x30')],_0x1bb468[_0x9fdc('0x3a')]),_0x287f74);if(_0x9013c5[_0x9fdc('0x30')]['filter']){_0x3e784a[_0x9fdc('0x38')]=_[_0x9fdc('0x3b')](_0x3e784a[_0x9fdc('0x38')],{'$or':_[_0x9fdc('0x2b')](_0x287f74,function(_0x1b6f15){if(_0x1b6f15['type']!=='VIRTUAL'){var _0x15bb5f={};_0x15bb5f[_0x1b6f15[_0x9fdc('0x28')]]={'$like':'%'+_0x9013c5[_0x9fdc('0x30')][_0x9fdc('0x3c')]+'%'};return _0x15bb5f;}})});}_0x3e784a=_[_0x9fdc('0x3b')]({},_0x3e784a,_0x9013c5['options']);var _0x1f54b9={'where':_0x3e784a[_0x9fdc('0x38')]};return db[_0x9fdc('0x2c')]['count'](_0x1f54b9)[_0x9fdc('0x23')](function(_0x556d92){_0x254c53['count']=_0x556d92;if(_0x9013c5[_0x9fdc('0x30')][_0x9fdc('0x3d')]){_0x3e784a[_0x9fdc('0x3e')]=[{'all':!![]}];}return db['SugarcrmConfiguration'][_0x9fdc('0x3f')](_0x3e784a);})[_0x9fdc('0x23')](function(_0x81cf0a){_0x254c53[_0x9fdc('0x40')]=_0x81cf0a;return _0x254c53;})[_0x9fdc('0x23')](respondWithFilteredResult(_0x1ed40a,_0x3e784a))[_0x9fdc('0x41')](handleError(_0x1ed40a,null));};exports['show']=function(_0x56766b,_0xb23f85){var _0x1afa30={'raw':![],'where':{'id':_0x56766b['params']['id']}},_0x489b44={};_0x489b44['model']=_[_0x9fdc('0x31')](db[_0x9fdc('0x2c')][_0x9fdc('0x2d')]);_0x489b44[_0x9fdc('0x30')]=_[_0x9fdc('0x31')](_0x56766b[_0x9fdc('0x30')]);_0x489b44[_0x9fdc('0x3a')]=_['intersection'](_0x489b44['model'],_0x489b44[_0x9fdc('0x30')]);_0x1afa30[_0x9fdc('0x34')]=_[_0x9fdc('0x32')](_0x489b44[_0x9fdc('0x33')],qs[_0x9fdc('0x35')](_0x56766b[_0x9fdc('0x30')][_0x9fdc('0x35')]));_0x1afa30['attributes']=_0x1afa30[_0x9fdc('0x34')][_0x9fdc('0x42')]?_0x1afa30[_0x9fdc('0x34')]:_0x489b44[_0x9fdc('0x33')];if(_0x56766b[_0x9fdc('0x30')][_0x9fdc('0x3d')]){_0x1afa30[_0x9fdc('0x3e')]=[{'all':!![]}];}_0x1afa30=_['merge']({},_0x1afa30,_0x56766b[_0x9fdc('0x43')]);return db['SugarcrmConfiguration'][_0x9fdc('0x44')](_0x1afa30)[_0x9fdc('0x23')](handleEntityNotFound(_0xb23f85,null))['then'](respondWithResult(_0xb23f85,null))[_0x9fdc('0x41')](handleError(_0xb23f85,null));};exports[_0x9fdc('0x45')]=function(_0x4e8a43,_0xfa359a){return db[_0x9fdc('0x2c')][_0x9fdc('0x45')](_0x4e8a43[_0x9fdc('0x46')],{})[_0x9fdc('0x23')](respondWithResult(_0xfa359a,0xc9))[_0x9fdc('0x41')](handleError(_0xfa359a,null));};exports[_0x9fdc('0x22')]=function(_0x25a657,_0x5abb21){if(_0x25a657['body']['id']){delete _0x25a657[_0x9fdc('0x46')]['id'];}return db[_0x9fdc('0x2c')][_0x9fdc('0x44')]({'where':{'id':_0x25a657['params']['id']}})[_0x9fdc('0x23')](handleEntityNotFound(_0x5abb21,null))[_0x9fdc('0x23')](saveUpdates(_0x25a657[_0x9fdc('0x46')],null))['then'](respondWithResult(_0x5abb21,null))['catch'](handleError(_0x5abb21,null));};exports['destroy']=function(_0x31976f,_0x7c4983){return db[_0x9fdc('0x2c')][_0x9fdc('0x44')]({'where':{'id':_0x31976f[_0x9fdc('0x47')]['id']}})[_0x9fdc('0x23')](handleEntityNotFound(_0x7c4983,null))[_0x9fdc('0x23')](removeEntity(_0x7c4983,null))[_0x9fdc('0x41')](handleError(_0x7c4983,null));};exports[_0x9fdc('0x48')]=function(_0x4b0f1d,_0x5e0a02,_0x51702b){var _0x50a736={};var _0x2c06fe={};var _0x426181;var _0xada096;return db[_0x9fdc('0x2c')][_0x9fdc('0x49')]({'where':{'id':_0x4b0f1d['params']['id']}})['then'](handleEntityNotFound(_0x5e0a02,null))[_0x9fdc('0x23')](function(_0x444575){if(_0x444575){_0x426181=_0x444575;_0x2c06fe[_0x9fdc('0x33')]=_[_0x9fdc('0x31')](db[_0x9fdc('0x4a')][_0x9fdc('0x2d')]);_0x2c06fe['query']=_['keys'](_0x4b0f1d['query']);_0x2c06fe['filters']=_['intersection'](_0x2c06fe[_0x9fdc('0x33')],_0x2c06fe['query']);_0x50a736[_0x9fdc('0x34')]=_[_0x9fdc('0x32')](_0x2c06fe['model'],qs[_0x9fdc('0x35')](_0x4b0f1d[_0x9fdc('0x30')][_0x9fdc('0x35')]));_0x50a736[_0x9fdc('0x34')]=_0x50a736[_0x9fdc('0x34')]['length']?_0x50a736['attributes']:_0x2c06fe[_0x9fdc('0x33')];_0x50a736[_0x9fdc('0x4b')]=qs['sort'](_0x4b0f1d['query'][_0x9fdc('0x37')]);_0x50a736['where']=qs[_0x9fdc('0x3a')](_[_0x9fdc('0x39')](_0x4b0f1d[_0x9fdc('0x30')],_0x2c06fe[_0x9fdc('0x3a')]));if(_0x4b0f1d[_0x9fdc('0x30')]['filter']){_0x50a736[_0x9fdc('0x38')]=_[_0x9fdc('0x3b')](_0x50a736[_0x9fdc('0x38')],{'$or':_[_0x9fdc('0x2b')](_0x50a736[_0x9fdc('0x34')],function(_0xccbdf1){var _0x17072a={};_0x17072a[_0xccbdf1]={'$like':'%'+_0x4b0f1d['query']['filter']+'%'};return _0x17072a;})});}_0x50a736=_[_0x9fdc('0x3b')]({},_0x50a736,_0x4b0f1d[_0x9fdc('0x43')]);return _0x426181['getFields'](_0x50a736);}})[_0x9fdc('0x23')](function(_0xec77e3){if(_0xec77e3){_0xada096=_0xec77e3[_0x9fdc('0x42')];if(!_0x4b0f1d[_0x9fdc('0x30')][_0x9fdc('0x4c')](_0x9fdc('0x36'))){_0x50a736[_0x9fdc('0x1e')]=qs['limit'](_0x4b0f1d['query']['limit']);_0x50a736[_0x9fdc('0x1b')]=qs[_0x9fdc('0x1b')](_0x4b0f1d[_0x9fdc('0x30')][_0x9fdc('0x1b')]);}return _0x426181['getFields'](_0x50a736);}})['then'](function(_0x4409c6){if(_0x4409c6){return _0x4409c6?{'count':_0xada096,'rows':_0x4409c6}:null;}})[_0x9fdc('0x23')](respondWithResult(_0x5e0a02,null))[_0x9fdc('0x41')](handleError(_0x5e0a02,null));};exports[_0x9fdc('0x4d')]=function(_0x49caa8,_0xc19dba,_0x1a30bd){var _0x2b2888={};var _0xa07cea={};var _0x387882;var _0x4ae981;return db[_0x9fdc('0x2c')][_0x9fdc('0x49')]({'where':{'id':_0x49caa8[_0x9fdc('0x47')]['id']}})[_0x9fdc('0x23')](handleEntityNotFound(_0xc19dba,null))[_0x9fdc('0x23')](function(_0x5cb208){if(_0x5cb208){_0x387882=_0x5cb208;_0xa07cea[_0x9fdc('0x33')]=_[_0x9fdc('0x31')](db[_0x9fdc('0x4a')][_0x9fdc('0x2d')]);_0xa07cea[_0x9fdc('0x30')]=_[_0x9fdc('0x31')](_0x49caa8[_0x9fdc('0x30')]);_0xa07cea['filters']=_[_0x9fdc('0x32')](_0xa07cea[_0x9fdc('0x33')],_0xa07cea[_0x9fdc('0x30')]);_0x2b2888[_0x9fdc('0x34')]=_[_0x9fdc('0x32')](_0xa07cea['model'],qs['fields'](_0x49caa8[_0x9fdc('0x30')][_0x9fdc('0x35')]));_0x2b2888[_0x9fdc('0x34')]=_0x2b2888[_0x9fdc('0x34')]['length']?_0x2b2888[_0x9fdc('0x34')]:_0xa07cea[_0x9fdc('0x33')];_0x2b2888['order']=qs['sort'](_0x49caa8[_0x9fdc('0x30')][_0x9fdc('0x37')]);_0x2b2888[_0x9fdc('0x38')]=qs[_0x9fdc('0x3a')](_[_0x9fdc('0x39')](_0x49caa8[_0x9fdc('0x30')],_0xa07cea['filters']));if(_0x49caa8[_0x9fdc('0x30')][_0x9fdc('0x3c')]){_0x2b2888[_0x9fdc('0x38')]=_[_0x9fdc('0x3b')](_0x2b2888['where'],{'$or':_[_0x9fdc('0x2b')](_0x2b2888[_0x9fdc('0x34')],function(_0x46c0f0){var _0x350976={};_0x350976[_0x46c0f0]={'$like':'%'+_0x49caa8[_0x9fdc('0x30')][_0x9fdc('0x3c')]+'%'};return _0x350976;})});}_0x2b2888=_['merge']({},_0x2b2888,_0x49caa8['options']);return _0x387882[_0x9fdc('0x4d')](_0x2b2888);}})[_0x9fdc('0x23')](function(_0x5f0ed6){if(_0x5f0ed6){_0x4ae981=_0x5f0ed6[_0x9fdc('0x42')];if(!_0x49caa8['query'][_0x9fdc('0x4c')](_0x9fdc('0x36'))){_0x2b2888['limit']=qs['limit'](_0x49caa8[_0x9fdc('0x30')]['limit']);_0x2b2888['offset']=qs[_0x9fdc('0x1b')](_0x49caa8[_0x9fdc('0x30')]['offset']);}return _0x387882[_0x9fdc('0x4d')](_0x2b2888);}})[_0x9fdc('0x23')](function(_0x46678e){if(_0x46678e){return _0x46678e?{'count':_0x4ae981,'rows':_0x46678e}:null;}})[_0x9fdc('0x23')](respondWithResult(_0xc19dba,null))['catch'](handleError(_0xc19dba,null));};exports['getDescriptions']=function(_0x7a331a,_0xf3692e,_0x4b3736){var _0x41882a={};var _0x2ac53a={};var _0x4bfa1f;var _0x2c547d;return db[_0x9fdc('0x2c')][_0x9fdc('0x49')]({'where':{'id':_0x7a331a[_0x9fdc('0x47')]['id']}})['then'](handleEntityNotFound(_0xf3692e,null))[_0x9fdc('0x23')](function(_0x44f9df){if(_0x44f9df){_0x4bfa1f=_0x44f9df;_0x2ac53a[_0x9fdc('0x33')]=_[_0x9fdc('0x31')](db[_0x9fdc('0x4a')][_0x9fdc('0x2d')]);_0x2ac53a['query']=_[_0x9fdc('0x31')](_0x7a331a[_0x9fdc('0x30')]);_0x2ac53a[_0x9fdc('0x3a')]=_[_0x9fdc('0x32')](_0x2ac53a[_0x9fdc('0x33')],_0x2ac53a[_0x9fdc('0x30')]);_0x41882a[_0x9fdc('0x34')]=_[_0x9fdc('0x32')](_0x2ac53a[_0x9fdc('0x33')],qs[_0x9fdc('0x35')](_0x7a331a['query'][_0x9fdc('0x35')]));_0x41882a['attributes']=_0x41882a[_0x9fdc('0x34')]['length']?_0x41882a[_0x9fdc('0x34')]:_0x2ac53a[_0x9fdc('0x33')];_0x41882a[_0x9fdc('0x4b')]=qs[_0x9fdc('0x37')](_0x7a331a[_0x9fdc('0x30')][_0x9fdc('0x37')]);_0x41882a[_0x9fdc('0x38')]=qs[_0x9fdc('0x3a')](_[_0x9fdc('0x39')](_0x7a331a[_0x9fdc('0x30')],_0x2ac53a['filters']));if(_0x7a331a['query'][_0x9fdc('0x3c')]){_0x41882a[_0x9fdc('0x38')]=_[_0x9fdc('0x3b')](_0x41882a[_0x9fdc('0x38')],{'$or':_['map'](_0x41882a[_0x9fdc('0x34')],function(_0x3aa39a){var _0x27451c={};_0x27451c[_0x3aa39a]={'$like':'%'+_0x7a331a[_0x9fdc('0x30')]['filter']+'%'};return _0x27451c;})});}_0x41882a=_[_0x9fdc('0x3b')]({},_0x41882a,_0x7a331a[_0x9fdc('0x43')]);return _0x4bfa1f['getDescriptions'](_0x41882a);}})[_0x9fdc('0x23')](function(_0x3f1391){if(_0x3f1391){_0x2c547d=_0x3f1391[_0x9fdc('0x42')];if(!_0x7a331a[_0x9fdc('0x30')][_0x9fdc('0x4c')](_0x9fdc('0x36'))){_0x41882a[_0x9fdc('0x1e')]=qs[_0x9fdc('0x1e')](_0x7a331a['query']['limit']);_0x41882a[_0x9fdc('0x1b')]=qs[_0x9fdc('0x1b')](_0x7a331a[_0x9fdc('0x30')][_0x9fdc('0x1b')]);}return _0x4bfa1f[_0x9fdc('0x4e')](_0x41882a);}})[_0x9fdc('0x23')](function(_0x4b6cd9){if(_0x4b6cd9){return _0x4b6cd9?{'count':_0x2c547d,'rows':_0x4b6cd9}:null;}})[_0x9fdc('0x23')](respondWithResult(_0xf3692e,null))[_0x9fdc('0x41')](handleError(_0xf3692e,null));};