Built motion from commit 753c950e.|2.5.42
[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 _0xf2b2=['reject','save','update','then','error','stack','name','send','map','SugarcrmConfiguration','rawAttributes','fieldName','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','catch','show','params','options','find','create','body','destroy','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','status','end','json','undefined','limit','count','offset','set','Content-Range'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0xf2b2,0x163));var _0x2f2b=function(_0x26ca7c,_0x5b66f8){_0x26ca7c=_0x26ca7c-0x0;var _0x2d8503=_0xf2b2[_0x26ca7c];return _0x2d8503;};'use strict';var emlformat=require(_0x2f2b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2f2b('0x1'));var jsonpatch=require(_0x2f2b('0x2'));var rp=require('request-promise');var moment=require(_0x2f2b('0x3'));var BPromise=require(_0x2f2b('0x4'));var Mustache=require('mustache');var util=require(_0x2f2b('0x5'));var path=require(_0x2f2b('0x6'));var sox=require(_0x2f2b('0x7'));var csv=require(_0x2f2b('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2f2b('0x9'));var squel=require(_0x2f2b('0xa'));var crypto=require('crypto');var jsforce=require(_0x2f2b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x2f2b('0x8'));var querystring=require(_0x2f2b('0xc'));var Papa=require(_0x2f2b('0xd'));var Redis=require(_0x2f2b('0xe'));var authService=require(_0x2f2b('0xf'));var qs=require(_0x2f2b('0x10'));var as=require(_0x2f2b('0x11'));var hardwareService=require(_0x2f2b('0x12'));var logger=require('../../config/logger')(_0x2f2b('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x2f2b('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xe24d4c,_0x448a43){_0x448a43=_0x448a43||0xcc;return function(_0x310d92){if(_0x310d92){return _0xe24d4c['sendStatus'](_0x448a43);}return _0xe24d4c[_0x2f2b('0x15')](_0x448a43)[_0x2f2b('0x16')]();};}function respondWithResult(_0x1c02ec,_0x7dfad2){_0x7dfad2=_0x7dfad2||0xc8;return function(_0x52a485){if(_0x52a485){return _0x1c02ec[_0x2f2b('0x15')](_0x7dfad2)[_0x2f2b('0x17')](_0x52a485);}};}function respondWithFilteredResult(_0x9c8e97,_0x3dbb84){return function(_0x534b17){if(_0x534b17){var _0x1f4620=typeof _0x3dbb84['offset']===_0x2f2b('0x18')&&typeof _0x3dbb84[_0x2f2b('0x19')]===_0x2f2b('0x18');var _0x22f623=_0x534b17[_0x2f2b('0x1a')];var _0x5164b9=_0x1f4620?0x0:_0x3dbb84[_0x2f2b('0x1b')];var _0x3e873b=_0x1f4620?_0x534b17[_0x2f2b('0x1a')]:_0x3dbb84['offset']+_0x3dbb84['limit'];var _0x167de9;if(_0x3e873b>=_0x22f623){_0x3e873b=_0x22f623;_0x167de9=0xc8;}else{_0x167de9=0xce;}_0x9c8e97['status'](_0x167de9);return _0x9c8e97[_0x2f2b('0x1c')](_0x2f2b('0x1d'),_0x5164b9+'-'+_0x3e873b+'/'+_0x22f623)[_0x2f2b('0x17')](_0x534b17);}return null;};}function patchUpdates(_0x9d2c02){return function(_0x33f175){try{jsonpatch['apply'](_0x33f175,_0x9d2c02,!![]);}catch(_0xb4726e){return BPromise[_0x2f2b('0x1e')](_0xb4726e);}return _0x33f175[_0x2f2b('0x1f')]();};}function saveUpdates(_0x52840d,_0x4ce2d8){return function(_0x2280e8){if(_0x2280e8){return _0x2280e8[_0x2f2b('0x20')](_0x52840d)[_0x2f2b('0x21')](function(_0x129986){return _0x129986;});}return null;};}function removeEntity(_0x4da004,_0x3389b6){return function(_0x1d04c5){if(_0x1d04c5){return _0x1d04c5['destroy']()['then'](function(){_0x4da004[_0x2f2b('0x15')](0xcc)[_0x2f2b('0x16')]();});}};}function handleEntityNotFound(_0x18fc75,_0x1d9d1a){return function(_0x5db682){if(!_0x5db682){_0x18fc75['sendStatus'](0x194);}return _0x5db682;};}function handleError(_0x25256d,_0x1f9a55){_0x1f9a55=_0x1f9a55||0x1f4;return function(_0x3767d5){logger[_0x2f2b('0x22')](_0x3767d5[_0x2f2b('0x23')]);if(_0x3767d5[_0x2f2b('0x24')]){delete _0x3767d5[_0x2f2b('0x24')];}_0x25256d[_0x2f2b('0x15')](_0x1f9a55)[_0x2f2b('0x25')](_0x3767d5);};}exports['index']=function(_0x54ad46,_0x1562a1){var _0x4d48e4={},_0x48da47={},_0x27e14d={'count':0x0,'rows':[]};var _0x2d452e=_[_0x2f2b('0x26')](db[_0x2f2b('0x27')][_0x2f2b('0x28')],function(_0x44727b){return{'name':_0x44727b[_0x2f2b('0x29')],'type':_0x44727b['type'][_0x2f2b('0x2a')]};});_0x48da47['model']=_[_0x2f2b('0x26')](_0x2d452e,_0x2f2b('0x24'));_0x48da47[_0x2f2b('0x2b')]=_[_0x2f2b('0x2c')](_0x54ad46[_0x2f2b('0x2b')]);_0x48da47[_0x2f2b('0x2d')]=_['intersection'](_0x48da47['model'],_0x48da47[_0x2f2b('0x2b')]);_0x4d48e4['attributes']=_[_0x2f2b('0x2e')](_0x48da47[_0x2f2b('0x2f')],qs['fields'](_0x54ad46[_0x2f2b('0x2b')][_0x2f2b('0x30')]));_0x4d48e4[_0x2f2b('0x31')]=_0x4d48e4[_0x2f2b('0x31')][_0x2f2b('0x32')]?_0x4d48e4[_0x2f2b('0x31')]:_0x48da47['model'];if(!_0x54ad46['query'][_0x2f2b('0x33')](_0x2f2b('0x34'))){_0x4d48e4['limit']=qs['limit'](_0x54ad46[_0x2f2b('0x2b')][_0x2f2b('0x19')]);_0x4d48e4['offset']=qs['offset'](_0x54ad46[_0x2f2b('0x2b')][_0x2f2b('0x1b')]);}_0x4d48e4[_0x2f2b('0x35')]=qs[_0x2f2b('0x36')](_0x54ad46['query'][_0x2f2b('0x36')]);_0x4d48e4[_0x2f2b('0x37')]=qs['filters'](_[_0x2f2b('0x38')](_0x54ad46[_0x2f2b('0x2b')],_0x48da47[_0x2f2b('0x2d')]),_0x2d452e);if(_0x54ad46[_0x2f2b('0x2b')][_0x2f2b('0x39')]){_0x4d48e4[_0x2f2b('0x37')]=_[_0x2f2b('0x3a')](_0x4d48e4[_0x2f2b('0x37')],{'$or':_[_0x2f2b('0x26')](_0x2d452e,function(_0x1ce94b){if(_0x1ce94b[_0x2f2b('0x3b')]!==_0x2f2b('0x3c')){var _0x4d5e9c={};_0x4d5e9c[_0x1ce94b['name']]={'$like':'%'+_0x54ad46[_0x2f2b('0x2b')][_0x2f2b('0x39')]+'%'};return _0x4d5e9c;}})});}_0x4d48e4=_[_0x2f2b('0x3a')]({},_0x4d48e4,_0x54ad46['options']);var _0x5b8c99={'where':_0x4d48e4[_0x2f2b('0x37')]};return db['SugarcrmConfiguration']['count'](_0x5b8c99)['then'](function(_0x8c7df5){_0x27e14d['count']=_0x8c7df5;if(_0x54ad46['query'][_0x2f2b('0x3d')]){_0x4d48e4[_0x2f2b('0x3e')]=[{'all':!![]}];}return db[_0x2f2b('0x27')][_0x2f2b('0x3f')](_0x4d48e4);})[_0x2f2b('0x21')](function(_0x199ad8){_0x27e14d['rows']=_0x199ad8;return _0x27e14d;})['then'](respondWithFilteredResult(_0x1562a1,_0x4d48e4))[_0x2f2b('0x40')](handleError(_0x1562a1,null));};exports[_0x2f2b('0x41')]=function(_0x5c31a1,_0xe0fa33){var _0x2eb367={'raw':![],'where':{'id':_0x5c31a1[_0x2f2b('0x42')]['id']}},_0x2a0817={};_0x2a0817[_0x2f2b('0x2f')]=_[_0x2f2b('0x2c')](db['SugarcrmConfiguration'][_0x2f2b('0x28')]);_0x2a0817['query']=_[_0x2f2b('0x2c')](_0x5c31a1[_0x2f2b('0x2b')]);_0x2a0817[_0x2f2b('0x2d')]=_[_0x2f2b('0x2e')](_0x2a0817['model'],_0x2a0817[_0x2f2b('0x2b')]);_0x2eb367[_0x2f2b('0x31')]=_[_0x2f2b('0x2e')](_0x2a0817[_0x2f2b('0x2f')],qs[_0x2f2b('0x30')](_0x5c31a1[_0x2f2b('0x2b')]['fields']));_0x2eb367[_0x2f2b('0x31')]=_0x2eb367['attributes']['length']?_0x2eb367['attributes']:_0x2a0817[_0x2f2b('0x2f')];if(_0x5c31a1[_0x2f2b('0x2b')][_0x2f2b('0x3d')]){_0x2eb367[_0x2f2b('0x3e')]=[{'all':!![]}];}_0x2eb367=_[_0x2f2b('0x3a')]({},_0x2eb367,_0x5c31a1[_0x2f2b('0x43')]);return db[_0x2f2b('0x27')][_0x2f2b('0x44')](_0x2eb367)[_0x2f2b('0x21')](handleEntityNotFound(_0xe0fa33,null))['then'](respondWithResult(_0xe0fa33,null))[_0x2f2b('0x40')](handleError(_0xe0fa33,null));};exports[_0x2f2b('0x45')]=function(_0x4d28c9,_0x3419f1){return db[_0x2f2b('0x27')][_0x2f2b('0x45')](_0x4d28c9[_0x2f2b('0x46')],{})[_0x2f2b('0x21')](respondWithResult(_0x3419f1,0xc9))[_0x2f2b('0x40')](handleError(_0x3419f1,null));};exports[_0x2f2b('0x20')]=function(_0xc40c20,_0x31b6a2){if(_0xc40c20[_0x2f2b('0x46')]['id']){delete _0xc40c20[_0x2f2b('0x46')]['id'];}return db[_0x2f2b('0x27')]['find']({'where':{'id':_0xc40c20[_0x2f2b('0x42')]['id']}})['then'](handleEntityNotFound(_0x31b6a2,null))[_0x2f2b('0x21')](saveUpdates(_0xc40c20[_0x2f2b('0x46')],null))[_0x2f2b('0x21')](respondWithResult(_0x31b6a2,null))[_0x2f2b('0x40')](handleError(_0x31b6a2,null));};exports[_0x2f2b('0x47')]=function(_0x50c38d,_0x83dac1){return db[_0x2f2b('0x27')][_0x2f2b('0x44')]({'where':{'id':_0x50c38d[_0x2f2b('0x42')]['id']}})['then'](handleEntityNotFound(_0x83dac1,null))['then'](removeEntity(_0x83dac1,null))[_0x2f2b('0x40')](handleError(_0x83dac1,null));};exports[_0x2f2b('0x48')]=function(_0x335ee5,_0xa9681,_0x13cdc6){var _0x39b60b={};var _0x5dbf43={};var _0x5919ca;var _0x5e1d7d;return db[_0x2f2b('0x27')][_0x2f2b('0x49')]({'where':{'id':_0x335ee5[_0x2f2b('0x42')]['id']}})[_0x2f2b('0x21')](handleEntityNotFound(_0xa9681,null))[_0x2f2b('0x21')](function(_0x3a99bc){if(_0x3a99bc){_0x5919ca=_0x3a99bc;_0x5dbf43['model']=_[_0x2f2b('0x2c')](db[_0x2f2b('0x4a')][_0x2f2b('0x28')]);_0x5dbf43[_0x2f2b('0x2b')]=_[_0x2f2b('0x2c')](_0x335ee5[_0x2f2b('0x2b')]);_0x5dbf43[_0x2f2b('0x2d')]=_[_0x2f2b('0x2e')](_0x5dbf43['model'],_0x5dbf43[_0x2f2b('0x2b')]);_0x39b60b['attributes']=_['intersection'](_0x5dbf43[_0x2f2b('0x2f')],qs[_0x2f2b('0x30')](_0x335ee5[_0x2f2b('0x2b')][_0x2f2b('0x30')]));_0x39b60b[_0x2f2b('0x31')]=_0x39b60b[_0x2f2b('0x31')][_0x2f2b('0x32')]?_0x39b60b[_0x2f2b('0x31')]:_0x5dbf43[_0x2f2b('0x2f')];_0x39b60b[_0x2f2b('0x35')]=qs[_0x2f2b('0x36')](_0x335ee5['query'][_0x2f2b('0x36')]);_0x39b60b[_0x2f2b('0x37')]=qs[_0x2f2b('0x2d')](_[_0x2f2b('0x38')](_0x335ee5[_0x2f2b('0x2b')],_0x5dbf43[_0x2f2b('0x2d')]));if(_0x335ee5[_0x2f2b('0x2b')][_0x2f2b('0x39')]){_0x39b60b['where']=_[_0x2f2b('0x3a')](_0x39b60b['where'],{'$or':_[_0x2f2b('0x26')](_0x39b60b[_0x2f2b('0x31')],function(_0x16104f){var _0x509ff0={};_0x509ff0[_0x16104f]={'$like':'%'+_0x335ee5[_0x2f2b('0x2b')][_0x2f2b('0x39')]+'%'};return _0x509ff0;})});}_0x39b60b=_[_0x2f2b('0x3a')]({},_0x39b60b,_0x335ee5['options']);return _0x5919ca[_0x2f2b('0x48')](_0x39b60b);}})['then'](function(_0x2a6fca){if(_0x2a6fca){_0x5e1d7d=_0x2a6fca[_0x2f2b('0x32')];if(!_0x335ee5['query']['hasOwnProperty'](_0x2f2b('0x34'))){_0x39b60b[_0x2f2b('0x19')]=qs[_0x2f2b('0x19')](_0x335ee5[_0x2f2b('0x2b')][_0x2f2b('0x19')]);_0x39b60b[_0x2f2b('0x1b')]=qs[_0x2f2b('0x1b')](_0x335ee5[_0x2f2b('0x2b')][_0x2f2b('0x1b')]);}return _0x5919ca['getFields'](_0x39b60b);}})[_0x2f2b('0x21')](function(_0x2dbfbf){if(_0x2dbfbf){return _0x2dbfbf?{'count':_0x5e1d7d,'rows':_0x2dbfbf}:null;}})[_0x2f2b('0x21')](respondWithResult(_0xa9681,null))['catch'](handleError(_0xa9681,null));};exports[_0x2f2b('0x4b')]=function(_0x4b1297,_0x1772b7,_0x36b791){var _0x3efe80={};var _0xdec3b8={};var _0x17e5a5;var _0x3dd579;return db[_0x2f2b('0x27')][_0x2f2b('0x49')]({'where':{'id':_0x4b1297[_0x2f2b('0x42')]['id']}})[_0x2f2b('0x21')](handleEntityNotFound(_0x1772b7,null))['then'](function(_0x159897){if(_0x159897){_0x17e5a5=_0x159897;_0xdec3b8[_0x2f2b('0x2f')]=_[_0x2f2b('0x2c')](db[_0x2f2b('0x4a')][_0x2f2b('0x28')]);_0xdec3b8[_0x2f2b('0x2b')]=_[_0x2f2b('0x2c')](_0x4b1297[_0x2f2b('0x2b')]);_0xdec3b8[_0x2f2b('0x2d')]=_[_0x2f2b('0x2e')](_0xdec3b8[_0x2f2b('0x2f')],_0xdec3b8['query']);_0x3efe80[_0x2f2b('0x31')]=_['intersection'](_0xdec3b8[_0x2f2b('0x2f')],qs['fields'](_0x4b1297['query'][_0x2f2b('0x30')]));_0x3efe80[_0x2f2b('0x31')]=_0x3efe80[_0x2f2b('0x31')][_0x2f2b('0x32')]?_0x3efe80[_0x2f2b('0x31')]:_0xdec3b8[_0x2f2b('0x2f')];_0x3efe80[_0x2f2b('0x35')]=qs[_0x2f2b('0x36')](_0x4b1297[_0x2f2b('0x2b')][_0x2f2b('0x36')]);_0x3efe80[_0x2f2b('0x37')]=qs[_0x2f2b('0x2d')](_[_0x2f2b('0x38')](_0x4b1297[_0x2f2b('0x2b')],_0xdec3b8[_0x2f2b('0x2d')]));if(_0x4b1297['query'][_0x2f2b('0x39')]){_0x3efe80['where']=_['merge'](_0x3efe80[_0x2f2b('0x37')],{'$or':_[_0x2f2b('0x26')](_0x3efe80[_0x2f2b('0x31')],function(_0x535abe){var _0x38b0a1={};_0x38b0a1[_0x535abe]={'$like':'%'+_0x4b1297[_0x2f2b('0x2b')][_0x2f2b('0x39')]+'%'};return _0x38b0a1;})});}_0x3efe80=_[_0x2f2b('0x3a')]({},_0x3efe80,_0x4b1297[_0x2f2b('0x43')]);return _0x17e5a5[_0x2f2b('0x4b')](_0x3efe80);}})[_0x2f2b('0x21')](function(_0x453d69){if(_0x453d69){_0x3dd579=_0x453d69['length'];if(!_0x4b1297['query'][_0x2f2b('0x33')](_0x2f2b('0x34'))){_0x3efe80[_0x2f2b('0x19')]=qs[_0x2f2b('0x19')](_0x4b1297[_0x2f2b('0x2b')][_0x2f2b('0x19')]);_0x3efe80['offset']=qs[_0x2f2b('0x1b')](_0x4b1297[_0x2f2b('0x2b')][_0x2f2b('0x1b')]);}return _0x17e5a5[_0x2f2b('0x4b')](_0x3efe80);}})[_0x2f2b('0x21')](function(_0x39e724){if(_0x39e724){return _0x39e724?{'count':_0x3dd579,'rows':_0x39e724}:null;}})['then'](respondWithResult(_0x1772b7,null))['catch'](handleError(_0x1772b7,null));};exports[_0x2f2b('0x4c')]=function(_0x1131be,_0x5b753b,_0x4a0ea1){var _0x7860c3={};var _0x40d051={};var _0x32a1f4;var _0x1dc286;return db['SugarcrmConfiguration'][_0x2f2b('0x49')]({'where':{'id':_0x1131be[_0x2f2b('0x42')]['id']}})['then'](handleEntityNotFound(_0x5b753b,null))[_0x2f2b('0x21')](function(_0x433ee0){if(_0x433ee0){_0x32a1f4=_0x433ee0;_0x40d051[_0x2f2b('0x2f')]=_[_0x2f2b('0x2c')](db[_0x2f2b('0x4a')][_0x2f2b('0x28')]);_0x40d051[_0x2f2b('0x2b')]=_[_0x2f2b('0x2c')](_0x1131be[_0x2f2b('0x2b')]);_0x40d051[_0x2f2b('0x2d')]=_[_0x2f2b('0x2e')](_0x40d051[_0x2f2b('0x2f')],_0x40d051['query']);_0x7860c3[_0x2f2b('0x31')]=_[_0x2f2b('0x2e')](_0x40d051[_0x2f2b('0x2f')],qs[_0x2f2b('0x30')](_0x1131be['query'][_0x2f2b('0x30')]));_0x7860c3[_0x2f2b('0x31')]=_0x7860c3[_0x2f2b('0x31')][_0x2f2b('0x32')]?_0x7860c3[_0x2f2b('0x31')]:_0x40d051[_0x2f2b('0x2f')];_0x7860c3[_0x2f2b('0x35')]=qs[_0x2f2b('0x36')](_0x1131be[_0x2f2b('0x2b')][_0x2f2b('0x36')]);_0x7860c3[_0x2f2b('0x37')]=qs[_0x2f2b('0x2d')](_[_0x2f2b('0x38')](_0x1131be['query'],_0x40d051['filters']));if(_0x1131be[_0x2f2b('0x2b')]['filter']){_0x7860c3[_0x2f2b('0x37')]=_['merge'](_0x7860c3[_0x2f2b('0x37')],{'$or':_[_0x2f2b('0x26')](_0x7860c3[_0x2f2b('0x31')],function(_0xd9ab95){var _0x35bb79={};_0x35bb79[_0xd9ab95]={'$like':'%'+_0x1131be['query'][_0x2f2b('0x39')]+'%'};return _0x35bb79;})});}_0x7860c3=_[_0x2f2b('0x3a')]({},_0x7860c3,_0x1131be[_0x2f2b('0x43')]);return _0x32a1f4[_0x2f2b('0x4c')](_0x7860c3);}})[_0x2f2b('0x21')](function(_0x8adbdc){if(_0x8adbdc){_0x1dc286=_0x8adbdc[_0x2f2b('0x32')];if(!_0x1131be[_0x2f2b('0x2b')]['hasOwnProperty'](_0x2f2b('0x34'))){_0x7860c3[_0x2f2b('0x19')]=qs[_0x2f2b('0x19')](_0x1131be['query'][_0x2f2b('0x19')]);_0x7860c3[_0x2f2b('0x1b')]=qs[_0x2f2b('0x1b')](_0x1131be['query'][_0x2f2b('0x1b')]);}return _0x32a1f4['getDescriptions'](_0x7860c3);}})[_0x2f2b('0x21')](function(_0x2840c4){if(_0x2840c4){return _0x2840c4?{'count':_0x1dc286,'rows':_0x2840c4}:null;}})['then'](respondWithResult(_0x5b753b,null))['catch'](handleError(_0x5b753b,null));};