Built motion from commit 013e4bb4.|2.6.18
[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 _0xc965=['reject','update','then','destroy','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','key','model','keys','filters','intersection','query','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','catch','show','length','find','create','body','params','getFields','findOne','SugarcrmField','pick','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','undefined','limit','offset','count','set','json','apply'];(function(_0x480a6d,_0x8be3e5){var _0x4372ed=function(_0x38bc1a){while(--_0x38bc1a){_0x480a6d['push'](_0x480a6d['shift']());}};_0x4372ed(++_0x8be3e5);}(_0xc965,0x1ed));var _0x5c96=function(_0x218681,_0x16971b){_0x218681=_0x218681-0x0;var _0x56c5de=_0xc965[_0x218681];return _0x56c5de;};'use strict';var emlformat=require(_0x5c96('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5c96('0x1'));var jsonpatch=require(_0x5c96('0x2'));var rp=require(_0x5c96('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x5c96('0x4'));var util=require(_0x5c96('0x5'));var path=require(_0x5c96('0x6'));var sox=require(_0x5c96('0x7'));var csv=require(_0x5c96('0x8'));var ejs=require(_0x5c96('0x9'));var fs=require('fs');var fs_extra=require(_0x5c96('0xa'));var _=require(_0x5c96('0xb'));var squel=require(_0x5c96('0xc'));var crypto=require(_0x5c96('0xd'));var jsforce=require(_0x5c96('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x5c96('0x8'));var querystring=require('querystring');var Papa=require(_0x5c96('0xf'));var Redis=require(_0x5c96('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x5c96('0x11'));var hardwareService=require(_0x5c96('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0x5c96('0x13'));var config=require(_0x5c96('0x14'));var licenseUtil=require(_0x5c96('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x586edb,_0x26bb77){_0x26bb77=_0x26bb77||0xcc;return function(_0x567254){if(_0x567254){return _0x586edb[_0x5c96('0x16')](_0x26bb77);}return _0x586edb[_0x5c96('0x17')](_0x26bb77)[_0x5c96('0x18')]();};}function respondWithResult(_0x3a82f2,_0x129c95){_0x129c95=_0x129c95||0xc8;return function(_0x41314b){if(_0x41314b){return _0x3a82f2[_0x5c96('0x17')](_0x129c95)['json'](_0x41314b);}};}function respondWithFilteredResult(_0x59b504,_0x3ca8c6){return function(_0x5bdb43){if(_0x5bdb43){var _0x195611=typeof _0x3ca8c6['offset']===_0x5c96('0x19')&&typeof _0x3ca8c6[_0x5c96('0x1a')]===_0x5c96('0x19');var _0x1f7014=_0x5bdb43['count'];var _0x1ce309=_0x195611?0x0:_0x3ca8c6[_0x5c96('0x1b')];var _0x2aef6b=_0x195611?_0x5bdb43[_0x5c96('0x1c')]:_0x3ca8c6[_0x5c96('0x1b')]+_0x3ca8c6[_0x5c96('0x1a')];var _0x396663;if(_0x2aef6b>=_0x1f7014){_0x2aef6b=_0x1f7014;_0x396663=0xc8;}else{_0x396663=0xce;}_0x59b504['status'](_0x396663);return _0x59b504[_0x5c96('0x1d')]('Content-Range',_0x1ce309+'-'+_0x2aef6b+'/'+_0x1f7014)[_0x5c96('0x1e')](_0x5bdb43);}return null;};}function patchUpdates(_0x5db67f){return function(_0x2069a3){try{jsonpatch[_0x5c96('0x1f')](_0x2069a3,_0x5db67f,!![]);}catch(_0x469c1e){return BPromise[_0x5c96('0x20')](_0x469c1e);}return _0x2069a3['save']();};}function saveUpdates(_0x1895bb,_0x3b99b1){return function(_0xe00e8b){if(_0xe00e8b){return _0xe00e8b[_0x5c96('0x21')](_0x1895bb)[_0x5c96('0x22')](function(_0x1cd644){return _0x1cd644;});}return null;};}function removeEntity(_0x15bd5f,_0xe35ffb){return function(_0x3470dd){if(_0x3470dd){return _0x3470dd[_0x5c96('0x23')]()[_0x5c96('0x22')](function(){_0x15bd5f['status'](0xcc)[_0x5c96('0x18')]();});}};}function handleEntityNotFound(_0x12520d,_0x1d79ac){return function(_0x32555c){if(!_0x32555c){_0x12520d[_0x5c96('0x16')](0x194);}return _0x32555c;};}function handleError(_0x314700,_0x208daf){_0x208daf=_0x208daf||0x1f4;return function(_0xaa1314){logger['error'](_0xaa1314['stack']);if(_0xaa1314['name']){delete _0xaa1314[_0x5c96('0x24')];}_0x314700['status'](_0x208daf)[_0x5c96('0x25')](_0xaa1314);};}exports[_0x5c96('0x26')]=function(_0x2b7fe7,_0xb9cbcd){var _0x369d37={},_0x191f9d={},_0xe953a4={'count':0x0,'rows':[]};var _0x1711e7=_[_0x5c96('0x27')](db[_0x5c96('0x28')][_0x5c96('0x29')],function(_0x604204){return{'name':_0x604204[_0x5c96('0x2a')],'type':_0x604204['type'][_0x5c96('0x2b')]};});_0x191f9d[_0x5c96('0x2c')]=_[_0x5c96('0x27')](_0x1711e7,_0x5c96('0x24'));_0x191f9d['query']=_[_0x5c96('0x2d')](_0x2b7fe7['query']);_0x191f9d[_0x5c96('0x2e')]=_[_0x5c96('0x2f')](_0x191f9d['model'],_0x191f9d[_0x5c96('0x30')]);_0x369d37[_0x5c96('0x31')]=_[_0x5c96('0x2f')](_0x191f9d[_0x5c96('0x2c')],qs['fields'](_0x2b7fe7[_0x5c96('0x30')][_0x5c96('0x32')]));_0x369d37['attributes']=_0x369d37[_0x5c96('0x31')]['length']?_0x369d37[_0x5c96('0x31')]:_0x191f9d[_0x5c96('0x2c')];if(!_0x2b7fe7['query'][_0x5c96('0x33')](_0x5c96('0x34'))){_0x369d37[_0x5c96('0x1a')]=qs[_0x5c96('0x1a')](_0x2b7fe7[_0x5c96('0x30')]['limit']);_0x369d37[_0x5c96('0x1b')]=qs[_0x5c96('0x1b')](_0x2b7fe7[_0x5c96('0x30')][_0x5c96('0x1b')]);}_0x369d37[_0x5c96('0x35')]=qs[_0x5c96('0x36')](_0x2b7fe7['query'][_0x5c96('0x36')]);_0x369d37[_0x5c96('0x37')]=qs[_0x5c96('0x2e')](_['pick'](_0x2b7fe7['query'],_0x191f9d[_0x5c96('0x2e')]),_0x1711e7);if(_0x2b7fe7['query'][_0x5c96('0x38')]){_0x369d37[_0x5c96('0x37')]=_[_0x5c96('0x39')](_0x369d37[_0x5c96('0x37')],{'$or':_[_0x5c96('0x27')](_0x1711e7,function(_0x4710ab){if(_0x4710ab['type']!=='VIRTUAL'){var _0x3232f0={};_0x3232f0[_0x4710ab['name']]={'$like':'%'+_0x2b7fe7['query'][_0x5c96('0x38')]+'%'};return _0x3232f0;}})});}_0x369d37=_['merge']({},_0x369d37,_0x2b7fe7[_0x5c96('0x3a')]);var _0x1534b7={'where':_0x369d37[_0x5c96('0x37')]};return db[_0x5c96('0x28')][_0x5c96('0x1c')](_0x1534b7)[_0x5c96('0x22')](function(_0x23575e){_0xe953a4[_0x5c96('0x1c')]=_0x23575e;if(_0x2b7fe7['query'][_0x5c96('0x3b')]){_0x369d37[_0x5c96('0x3c')]=[{'all':!![]}];}return db[_0x5c96('0x28')][_0x5c96('0x3d')](_0x369d37);})['then'](function(_0xb0ec4d){_0xe953a4['rows']=_0xb0ec4d;return _0xe953a4;})[_0x5c96('0x22')](respondWithFilteredResult(_0xb9cbcd,_0x369d37))[_0x5c96('0x3e')](handleError(_0xb9cbcd,null));};exports[_0x5c96('0x3f')]=function(_0x191437,_0x3909ef){var _0x211376={'raw':![],'where':{'id':_0x191437['params']['id']}},_0x6b258e={};_0x6b258e[_0x5c96('0x2c')]=_[_0x5c96('0x2d')](db['SugarcrmConfiguration'][_0x5c96('0x29')]);_0x6b258e[_0x5c96('0x30')]=_['keys'](_0x191437[_0x5c96('0x30')]);_0x6b258e[_0x5c96('0x2e')]=_['intersection'](_0x6b258e[_0x5c96('0x2c')],_0x6b258e['query']);_0x211376[_0x5c96('0x31')]=_[_0x5c96('0x2f')](_0x6b258e['model'],qs['fields'](_0x191437['query'][_0x5c96('0x32')]));_0x211376[_0x5c96('0x31')]=_0x211376[_0x5c96('0x31')][_0x5c96('0x40')]?_0x211376[_0x5c96('0x31')]:_0x6b258e[_0x5c96('0x2c')];if(_0x191437[_0x5c96('0x30')]['includeAll']){_0x211376[_0x5c96('0x3c')]=[{'all':!![]}];}_0x211376=_[_0x5c96('0x39')]({},_0x211376,_0x191437[_0x5c96('0x3a')]);return db[_0x5c96('0x28')][_0x5c96('0x41')](_0x211376)[_0x5c96('0x22')](handleEntityNotFound(_0x3909ef,null))['then'](respondWithResult(_0x3909ef,null))[_0x5c96('0x3e')](handleError(_0x3909ef,null));};exports[_0x5c96('0x42')]=function(_0x3ea168,_0xb7127a){return db[_0x5c96('0x28')][_0x5c96('0x42')](_0x3ea168['body'],{})[_0x5c96('0x22')](respondWithResult(_0xb7127a,0xc9))['catch'](handleError(_0xb7127a,null));};exports[_0x5c96('0x21')]=function(_0x5293bf,_0x4a74d9){if(_0x5293bf[_0x5c96('0x43')]['id']){delete _0x5293bf['body']['id'];}return db[_0x5c96('0x28')][_0x5c96('0x41')]({'where':{'id':_0x5293bf['params']['id']}})[_0x5c96('0x22')](handleEntityNotFound(_0x4a74d9,null))[_0x5c96('0x22')](saveUpdates(_0x5293bf[_0x5c96('0x43')],null))['then'](respondWithResult(_0x4a74d9,null))[_0x5c96('0x3e')](handleError(_0x4a74d9,null));};exports[_0x5c96('0x23')]=function(_0x3d835a,_0x43e8da){return db[_0x5c96('0x28')]['find']({'where':{'id':_0x3d835a[_0x5c96('0x44')]['id']}})['then'](handleEntityNotFound(_0x43e8da,null))[_0x5c96('0x22')](removeEntity(_0x43e8da,null))[_0x5c96('0x3e')](handleError(_0x43e8da,null));};exports[_0x5c96('0x45')]=function(_0x5ab7da,_0xf686cc,_0x5d20d6){var _0x286719={};var _0x30f86a={};var _0xccf1e0;var _0x55b368;return db['SugarcrmConfiguration'][_0x5c96('0x46')]({'where':{'id':_0x5ab7da[_0x5c96('0x44')]['id']}})[_0x5c96('0x22')](handleEntityNotFound(_0xf686cc,null))[_0x5c96('0x22')](function(_0xae2c4e){if(_0xae2c4e){_0xccf1e0=_0xae2c4e;_0x30f86a[_0x5c96('0x2c')]=_[_0x5c96('0x2d')](db[_0x5c96('0x47')][_0x5c96('0x29')]);_0x30f86a['query']=_[_0x5c96('0x2d')](_0x5ab7da[_0x5c96('0x30')]);_0x30f86a[_0x5c96('0x2e')]=_[_0x5c96('0x2f')](_0x30f86a[_0x5c96('0x2c')],_0x30f86a[_0x5c96('0x30')]);_0x286719[_0x5c96('0x31')]=_[_0x5c96('0x2f')](_0x30f86a['model'],qs[_0x5c96('0x32')](_0x5ab7da[_0x5c96('0x30')][_0x5c96('0x32')]));_0x286719['attributes']=_0x286719['attributes']['length']?_0x286719[_0x5c96('0x31')]:_0x30f86a['model'];_0x286719[_0x5c96('0x35')]=qs['sort'](_0x5ab7da[_0x5c96('0x30')]['sort']);_0x286719[_0x5c96('0x37')]=qs[_0x5c96('0x2e')](_[_0x5c96('0x48')](_0x5ab7da['query'],_0x30f86a[_0x5c96('0x2e')]));if(_0x5ab7da['query'][_0x5c96('0x38')]){_0x286719[_0x5c96('0x37')]=_['merge'](_0x286719[_0x5c96('0x37')],{'$or':_[_0x5c96('0x27')](_0x286719[_0x5c96('0x31')],function(_0x59288b){var _0x4f1d4c={};_0x4f1d4c[_0x59288b]={'$like':'%'+_0x5ab7da['query'][_0x5c96('0x38')]+'%'};return _0x4f1d4c;})});}_0x286719=_[_0x5c96('0x39')]({},_0x286719,_0x5ab7da[_0x5c96('0x3a')]);return _0xccf1e0[_0x5c96('0x45')](_0x286719);}})[_0x5c96('0x22')](function(_0x54f54c){if(_0x54f54c){_0x55b368=_0x54f54c[_0x5c96('0x40')];if(!_0x5ab7da[_0x5c96('0x30')]['hasOwnProperty']('nolimit')){_0x286719['limit']=qs[_0x5c96('0x1a')](_0x5ab7da['query']['limit']);_0x286719[_0x5c96('0x1b')]=qs[_0x5c96('0x1b')](_0x5ab7da[_0x5c96('0x30')][_0x5c96('0x1b')]);}return _0xccf1e0['getFields'](_0x286719);}})[_0x5c96('0x22')](function(_0x42d26a){if(_0x42d26a){return _0x42d26a?{'count':_0x55b368,'rows':_0x42d26a}:null;}})[_0x5c96('0x22')](respondWithResult(_0xf686cc,null))['catch'](handleError(_0xf686cc,null));};exports['getSubjects']=function(_0x203e42,_0x54fe13,_0x32e9ef){var _0x1f4531={};var _0x3655f5={};var _0x8bb999;var _0x397b22;return db[_0x5c96('0x28')][_0x5c96('0x46')]({'where':{'id':_0x203e42['params']['id']}})['then'](handleEntityNotFound(_0x54fe13,null))[_0x5c96('0x22')](function(_0x4edfc1){if(_0x4edfc1){_0x8bb999=_0x4edfc1;_0x3655f5[_0x5c96('0x2c')]=_[_0x5c96('0x2d')](db[_0x5c96('0x47')][_0x5c96('0x29')]);_0x3655f5[_0x5c96('0x30')]=_[_0x5c96('0x2d')](_0x203e42['query']);_0x3655f5[_0x5c96('0x2e')]=_[_0x5c96('0x2f')](_0x3655f5[_0x5c96('0x2c')],_0x3655f5[_0x5c96('0x30')]);_0x1f4531['attributes']=_[_0x5c96('0x2f')](_0x3655f5[_0x5c96('0x2c')],qs[_0x5c96('0x32')](_0x203e42[_0x5c96('0x30')][_0x5c96('0x32')]));_0x1f4531['attributes']=_0x1f4531['attributes'][_0x5c96('0x40')]?_0x1f4531[_0x5c96('0x31')]:_0x3655f5['model'];_0x1f4531['order']=qs[_0x5c96('0x36')](_0x203e42[_0x5c96('0x30')][_0x5c96('0x36')]);_0x1f4531[_0x5c96('0x37')]=qs[_0x5c96('0x2e')](_[_0x5c96('0x48')](_0x203e42[_0x5c96('0x30')],_0x3655f5[_0x5c96('0x2e')]));if(_0x203e42[_0x5c96('0x30')][_0x5c96('0x38')]){_0x1f4531[_0x5c96('0x37')]=_[_0x5c96('0x39')](_0x1f4531[_0x5c96('0x37')],{'$or':_[_0x5c96('0x27')](_0x1f4531[_0x5c96('0x31')],function(_0x57b8ef){var _0xdabcac={};_0xdabcac[_0x57b8ef]={'$like':'%'+_0x203e42['query'][_0x5c96('0x38')]+'%'};return _0xdabcac;})});}_0x1f4531=_['merge']({},_0x1f4531,_0x203e42[_0x5c96('0x3a')]);return _0x8bb999['getSubjects'](_0x1f4531);}})[_0x5c96('0x22')](function(_0xdcf83b){if(_0xdcf83b){_0x397b22=_0xdcf83b[_0x5c96('0x40')];if(!_0x203e42['query'][_0x5c96('0x33')](_0x5c96('0x34'))){_0x1f4531[_0x5c96('0x1a')]=qs[_0x5c96('0x1a')](_0x203e42['query'][_0x5c96('0x1a')]);_0x1f4531[_0x5c96('0x1b')]=qs['offset'](_0x203e42['query']['offset']);}return _0x8bb999[_0x5c96('0x49')](_0x1f4531);}})[_0x5c96('0x22')](function(_0x52b028){if(_0x52b028){return _0x52b028?{'count':_0x397b22,'rows':_0x52b028}:null;}})[_0x5c96('0x22')](respondWithResult(_0x54fe13,null))['catch'](handleError(_0x54fe13,null));};exports[_0x5c96('0x4a')]=function(_0x4d580e,_0x31f4e3,_0x262eed){var _0x7390ef={};var _0x5eb38b={};var _0x1486bf;var _0x246362;return db[_0x5c96('0x28')][_0x5c96('0x46')]({'where':{'id':_0x4d580e[_0x5c96('0x44')]['id']}})[_0x5c96('0x22')](handleEntityNotFound(_0x31f4e3,null))['then'](function(_0x188559){if(_0x188559){_0x1486bf=_0x188559;_0x5eb38b['model']=_[_0x5c96('0x2d')](db['SugarcrmField']['rawAttributes']);_0x5eb38b['query']=_[_0x5c96('0x2d')](_0x4d580e['query']);_0x5eb38b[_0x5c96('0x2e')]=_[_0x5c96('0x2f')](_0x5eb38b[_0x5c96('0x2c')],_0x5eb38b[_0x5c96('0x30')]);_0x7390ef[_0x5c96('0x31')]=_[_0x5c96('0x2f')](_0x5eb38b[_0x5c96('0x2c')],qs[_0x5c96('0x32')](_0x4d580e['query'][_0x5c96('0x32')]));_0x7390ef[_0x5c96('0x31')]=_0x7390ef[_0x5c96('0x31')][_0x5c96('0x40')]?_0x7390ef[_0x5c96('0x31')]:_0x5eb38b[_0x5c96('0x2c')];_0x7390ef[_0x5c96('0x35')]=qs['sort'](_0x4d580e[_0x5c96('0x30')][_0x5c96('0x36')]);_0x7390ef[_0x5c96('0x37')]=qs[_0x5c96('0x2e')](_['pick'](_0x4d580e[_0x5c96('0x30')],_0x5eb38b[_0x5c96('0x2e')]));if(_0x4d580e[_0x5c96('0x30')][_0x5c96('0x38')]){_0x7390ef[_0x5c96('0x37')]=_[_0x5c96('0x39')](_0x7390ef[_0x5c96('0x37')],{'$or':_['map'](_0x7390ef[_0x5c96('0x31')],function(_0x36e321){var _0x157e26={};_0x157e26[_0x36e321]={'$like':'%'+_0x4d580e[_0x5c96('0x30')][_0x5c96('0x38')]+'%'};return _0x157e26;})});}_0x7390ef=_[_0x5c96('0x39')]({},_0x7390ef,_0x4d580e[_0x5c96('0x3a')]);return _0x1486bf[_0x5c96('0x4a')](_0x7390ef);}})['then'](function(_0x38d288){if(_0x38d288){_0x246362=_0x38d288['length'];if(!_0x4d580e[_0x5c96('0x30')][_0x5c96('0x33')]('nolimit')){_0x7390ef[_0x5c96('0x1a')]=qs[_0x5c96('0x1a')](_0x4d580e[_0x5c96('0x30')][_0x5c96('0x1a')]);_0x7390ef[_0x5c96('0x1b')]=qs[_0x5c96('0x1b')](_0x4d580e[_0x5c96('0x30')]['offset']);}return _0x1486bf[_0x5c96('0x4a')](_0x7390ef);}})['then'](function(_0x21bfad){if(_0x21bfad){return _0x21bfad?{'count':_0x246362,'rows':_0x21bfad}:null;}})[_0x5c96('0x22')](respondWithResult(_0x31f4e3,null))['catch'](handleError(_0x31f4e3,null));};