Built motion from commit a679711e.|2.6.15
[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 _0x9740=['path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','find','catch','create','body','destroy','params','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache'];(function(_0x4e9fcd,_0x4a7e47){var _0x349716=function(_0x4ade71){while(--_0x4ade71){_0x4e9fcd['push'](_0x4e9fcd['shift']());}};_0x349716(++_0x4a7e47);}(_0x9740,0x198));var _0x0974=function(_0xf69a5,_0x562ba9){_0xf69a5=_0xf69a5-0x0;var _0x387e9d=_0x9740[_0xf69a5];return _0x387e9d;};'use strict';var emlformat=require(_0x0974('0x0'));var rimraf=require(_0x0974('0x1'));var zipdir=require(_0x0974('0x2'));var jsonpatch=require(_0x0974('0x3'));var rp=require('request-promise');var moment=require(_0x0974('0x4'));var BPromise=require(_0x0974('0x5'));var Mustache=require(_0x0974('0x6'));var util=require('util');var path=require(_0x0974('0x7'));var sox=require(_0x0974('0x8'));var csv=require(_0x0974('0x9'));var ejs=require(_0x0974('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0974('0xb'));var squel=require(_0x0974('0xc'));var crypto=require(_0x0974('0xd'));var jsforce=require(_0x0974('0xe'));var deskjs=require(_0x0974('0xf'));var toCsv=require(_0x0974('0x9'));var querystring=require(_0x0974('0x10'));var Papa=require('papaparse');var Redis=require(_0x0974('0x11'));var authService=require(_0x0974('0x12'));var qs=require(_0x0974('0x13'));var as=require(_0x0974('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x0974('0x15'));var utils=require(_0x0974('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x0974('0x17'));var db=require(_0x0974('0x18'))['db'];function respondWithStatusCode(_0x4f77e0,_0x5ec0cd){_0x5ec0cd=_0x5ec0cd||0xcc;return function(_0x2a0a84){if(_0x2a0a84){return _0x4f77e0[_0x0974('0x19')](_0x5ec0cd);}return _0x4f77e0[_0x0974('0x1a')](_0x5ec0cd)[_0x0974('0x1b')]();};}function respondWithResult(_0x485522,_0x5b89fa){_0x5b89fa=_0x5b89fa||0xc8;return function(_0x4c6a89){if(_0x4c6a89){return _0x485522[_0x0974('0x1a')](_0x5b89fa)[_0x0974('0x1c')](_0x4c6a89);}};}function respondWithFilteredResult(_0x2f6b49,_0x3f0643){return function(_0x282b30){if(_0x282b30){var _0x3a6039=typeof _0x3f0643[_0x0974('0x1d')]===_0x0974('0x1e')&&typeof _0x3f0643[_0x0974('0x1f')]===_0x0974('0x1e');var _0x1ad69c=_0x282b30[_0x0974('0x20')];var _0x54f97b=_0x3a6039?0x0:_0x3f0643[_0x0974('0x1d')];var _0x3e1921=_0x3a6039?_0x282b30[_0x0974('0x20')]:_0x3f0643[_0x0974('0x1d')]+_0x3f0643['limit'];var _0x10519d;if(_0x3e1921>=_0x1ad69c){_0x3e1921=_0x1ad69c;_0x10519d=0xc8;}else{_0x10519d=0xce;}_0x2f6b49['status'](_0x10519d);return _0x2f6b49[_0x0974('0x21')](_0x0974('0x22'),_0x54f97b+'-'+_0x3e1921+'/'+_0x1ad69c)[_0x0974('0x1c')](_0x282b30);}return null;};}function patchUpdates(_0x38fe62){return function(_0x112e56){try{jsonpatch[_0x0974('0x23')](_0x112e56,_0x38fe62,!![]);}catch(_0x284ee8){return BPromise[_0x0974('0x24')](_0x284ee8);}return _0x112e56[_0x0974('0x25')]();};}function saveUpdates(_0x85468f,_0x329890){return function(_0x10ce97){if(_0x10ce97){return _0x10ce97[_0x0974('0x26')](_0x85468f)[_0x0974('0x27')](function(_0x476bb8){return _0x476bb8;});}return null;};}function removeEntity(_0x2e2b90,_0x572a66){return function(_0x3c2860){if(_0x3c2860){return _0x3c2860['destroy']()[_0x0974('0x27')](function(){_0x2e2b90['status'](0xcc)[_0x0974('0x1b')]();});}};}function handleEntityNotFound(_0x2fe307,_0x1ae9de){return function(_0x333896){if(!_0x333896){_0x2fe307['sendStatus'](0x194);}return _0x333896;};}function handleError(_0x2637ee,_0xf756db){_0xf756db=_0xf756db||0x1f4;return function(_0x36d2fa){logger[_0x0974('0x28')](_0x36d2fa[_0x0974('0x29')]);if(_0x36d2fa[_0x0974('0x2a')]){delete _0x36d2fa['name'];}_0x2637ee['status'](_0xf756db)[_0x0974('0x2b')](_0x36d2fa);};}exports[_0x0974('0x2c')]=function(_0x782d52,_0x577052){var _0x1518f9={},_0x1a1ebd={},_0x16dc38={'count':0x0,'rows':[]};var _0xf5c12b=_[_0x0974('0x2d')](db[_0x0974('0x2e')][_0x0974('0x2f')],function(_0x73ce20){return{'name':_0x73ce20[_0x0974('0x30')],'type':_0x73ce20[_0x0974('0x31')][_0x0974('0x32')]};});_0x1a1ebd[_0x0974('0x33')]=_[_0x0974('0x2d')](_0xf5c12b,_0x0974('0x2a'));_0x1a1ebd[_0x0974('0x34')]=_[_0x0974('0x35')](_0x782d52[_0x0974('0x34')]);_0x1a1ebd[_0x0974('0x36')]=_[_0x0974('0x37')](_0x1a1ebd[_0x0974('0x33')],_0x1a1ebd[_0x0974('0x34')]);_0x1518f9[_0x0974('0x38')]=_[_0x0974('0x37')](_0x1a1ebd[_0x0974('0x33')],qs['fields'](_0x782d52['query'][_0x0974('0x39')]));_0x1518f9['attributes']=_0x1518f9[_0x0974('0x38')][_0x0974('0x3a')]?_0x1518f9[_0x0974('0x38')]:_0x1a1ebd['model'];if(!_0x782d52[_0x0974('0x34')][_0x0974('0x3b')](_0x0974('0x3c'))){_0x1518f9[_0x0974('0x1f')]=qs['limit'](_0x782d52[_0x0974('0x34')][_0x0974('0x1f')]);_0x1518f9[_0x0974('0x1d')]=qs[_0x0974('0x1d')](_0x782d52['query'][_0x0974('0x1d')]);}_0x1518f9[_0x0974('0x3d')]=qs[_0x0974('0x3e')](_0x782d52[_0x0974('0x34')][_0x0974('0x3e')]);_0x1518f9[_0x0974('0x3f')]=qs[_0x0974('0x36')](_[_0x0974('0x40')](_0x782d52['query'],_0x1a1ebd[_0x0974('0x36')]),_0xf5c12b);if(_0x782d52[_0x0974('0x34')][_0x0974('0x41')]){_0x1518f9['where']=_[_0x0974('0x42')](_0x1518f9[_0x0974('0x3f')],{'$or':_[_0x0974('0x2d')](_0xf5c12b,function(_0x56a22d){if(_0x56a22d['type']!==_0x0974('0x43')){var _0x2b91ba={};_0x2b91ba[_0x56a22d['name']]={'$like':'%'+_0x782d52[_0x0974('0x34')][_0x0974('0x41')]+'%'};return _0x2b91ba;}})});}_0x1518f9=_[_0x0974('0x42')]({},_0x1518f9,_0x782d52[_0x0974('0x44')]);var _0xac41ca={'where':_0x1518f9[_0x0974('0x3f')]};return db[_0x0974('0x2e')][_0x0974('0x20')](_0xac41ca)['then'](function(_0x1d8f7a){_0x16dc38[_0x0974('0x20')]=_0x1d8f7a;if(_0x782d52[_0x0974('0x34')][_0x0974('0x45')]){_0x1518f9[_0x0974('0x46')]=[{'all':!![]}];}return db['SugarcrmConfiguration'][_0x0974('0x47')](_0x1518f9);})['then'](function(_0x58049a){_0x16dc38['rows']=_0x58049a;return _0x16dc38;})[_0x0974('0x27')](respondWithFilteredResult(_0x577052,_0x1518f9))['catch'](handleError(_0x577052,null));};exports['show']=function(_0x4c49cf,_0x5c924b){var _0xe2a4a0={'raw':![],'where':{'id':_0x4c49cf['params']['id']}},_0x5b648a={};_0x5b648a[_0x0974('0x33')]=_['keys'](db[_0x0974('0x2e')][_0x0974('0x2f')]);_0x5b648a[_0x0974('0x34')]=_['keys'](_0x4c49cf['query']);_0x5b648a[_0x0974('0x36')]=_[_0x0974('0x37')](_0x5b648a[_0x0974('0x33')],_0x5b648a[_0x0974('0x34')]);_0xe2a4a0[_0x0974('0x38')]=_[_0x0974('0x37')](_0x5b648a['model'],qs[_0x0974('0x39')](_0x4c49cf['query'][_0x0974('0x39')]));_0xe2a4a0[_0x0974('0x38')]=_0xe2a4a0[_0x0974('0x38')][_0x0974('0x3a')]?_0xe2a4a0['attributes']:_0x5b648a[_0x0974('0x33')];if(_0x4c49cf[_0x0974('0x34')]['includeAll']){_0xe2a4a0[_0x0974('0x46')]=[{'all':!![]}];}_0xe2a4a0=_['merge']({},_0xe2a4a0,_0x4c49cf[_0x0974('0x44')]);return db[_0x0974('0x2e')][_0x0974('0x48')](_0xe2a4a0)[_0x0974('0x27')](handleEntityNotFound(_0x5c924b,null))['then'](respondWithResult(_0x5c924b,null))[_0x0974('0x49')](handleError(_0x5c924b,null));};exports[_0x0974('0x4a')]=function(_0x374c99,_0x428dcb){return db[_0x0974('0x2e')][_0x0974('0x4a')](_0x374c99[_0x0974('0x4b')],{})['then'](respondWithResult(_0x428dcb,0xc9))['catch'](handleError(_0x428dcb,null));};exports[_0x0974('0x26')]=function(_0x20cc24,_0x713a3){if(_0x20cc24[_0x0974('0x4b')]['id']){delete _0x20cc24[_0x0974('0x4b')]['id'];}return db['SugarcrmConfiguration'][_0x0974('0x48')]({'where':{'id':_0x20cc24['params']['id']}})[_0x0974('0x27')](handleEntityNotFound(_0x713a3,null))[_0x0974('0x27')](saveUpdates(_0x20cc24[_0x0974('0x4b')],null))[_0x0974('0x27')](respondWithResult(_0x713a3,null))[_0x0974('0x49')](handleError(_0x713a3,null));};exports[_0x0974('0x4c')]=function(_0x11f60d,_0x37cb64){return db[_0x0974('0x2e')][_0x0974('0x48')]({'where':{'id':_0x11f60d[_0x0974('0x4d')]['id']}})[_0x0974('0x27')](handleEntityNotFound(_0x37cb64,null))[_0x0974('0x27')](removeEntity(_0x37cb64,null))[_0x0974('0x49')](handleError(_0x37cb64,null));};exports[_0x0974('0x4e')]=function(_0x29d8d6,_0x14bd26,_0x11abce){var _0x205dcd={};var _0x505adc={};var _0x569d79;var _0x168071;return db[_0x0974('0x2e')][_0x0974('0x4f')]({'where':{'id':_0x29d8d6['params']['id']}})[_0x0974('0x27')](handleEntityNotFound(_0x14bd26,null))['then'](function(_0x24215b){if(_0x24215b){_0x569d79=_0x24215b;_0x505adc[_0x0974('0x33')]=_[_0x0974('0x35')](db[_0x0974('0x50')][_0x0974('0x2f')]);_0x505adc[_0x0974('0x34')]=_[_0x0974('0x35')](_0x29d8d6[_0x0974('0x34')]);_0x505adc[_0x0974('0x36')]=_[_0x0974('0x37')](_0x505adc[_0x0974('0x33')],_0x505adc[_0x0974('0x34')]);_0x205dcd[_0x0974('0x38')]=_[_0x0974('0x37')](_0x505adc[_0x0974('0x33')],qs['fields'](_0x29d8d6[_0x0974('0x34')][_0x0974('0x39')]));_0x205dcd[_0x0974('0x38')]=_0x205dcd['attributes'][_0x0974('0x3a')]?_0x205dcd['attributes']:_0x505adc[_0x0974('0x33')];_0x205dcd[_0x0974('0x3d')]=qs[_0x0974('0x3e')](_0x29d8d6[_0x0974('0x34')][_0x0974('0x3e')]);_0x205dcd[_0x0974('0x3f')]=qs[_0x0974('0x36')](_['pick'](_0x29d8d6[_0x0974('0x34')],_0x505adc['filters']));if(_0x29d8d6[_0x0974('0x34')][_0x0974('0x41')]){_0x205dcd[_0x0974('0x3f')]=_[_0x0974('0x42')](_0x205dcd[_0x0974('0x3f')],{'$or':_[_0x0974('0x2d')](_0x205dcd['attributes'],function(_0x3ac83d){var _0x34cd6d={};_0x34cd6d[_0x3ac83d]={'$like':'%'+_0x29d8d6['query']['filter']+'%'};return _0x34cd6d;})});}_0x205dcd=_['merge']({},_0x205dcd,_0x29d8d6['options']);return _0x569d79[_0x0974('0x4e')](_0x205dcd);}})[_0x0974('0x27')](function(_0x405cbc){if(_0x405cbc){_0x168071=_0x405cbc[_0x0974('0x3a')];if(!_0x29d8d6[_0x0974('0x34')][_0x0974('0x3b')](_0x0974('0x3c'))){_0x205dcd['limit']=qs['limit'](_0x29d8d6['query'][_0x0974('0x1f')]);_0x205dcd['offset']=qs['offset'](_0x29d8d6[_0x0974('0x34')]['offset']);}return _0x569d79[_0x0974('0x4e')](_0x205dcd);}})[_0x0974('0x27')](function(_0x3f4268){if(_0x3f4268){return _0x3f4268?{'count':_0x168071,'rows':_0x3f4268}:null;}})[_0x0974('0x27')](respondWithResult(_0x14bd26,null))['catch'](handleError(_0x14bd26,null));};exports['getSubjects']=function(_0x2ce15e,_0x33529e,_0x398f7a){var _0x3ce302={};var _0x220252={};var _0x1cac18;var _0x3de55c;return db[_0x0974('0x2e')][_0x0974('0x4f')]({'where':{'id':_0x2ce15e['params']['id']}})[_0x0974('0x27')](handleEntityNotFound(_0x33529e,null))[_0x0974('0x27')](function(_0x449d9b){if(_0x449d9b){_0x1cac18=_0x449d9b;_0x220252['model']=_[_0x0974('0x35')](db['SugarcrmField'][_0x0974('0x2f')]);_0x220252['query']=_[_0x0974('0x35')](_0x2ce15e[_0x0974('0x34')]);_0x220252[_0x0974('0x36')]=_[_0x0974('0x37')](_0x220252[_0x0974('0x33')],_0x220252[_0x0974('0x34')]);_0x3ce302[_0x0974('0x38')]=_[_0x0974('0x37')](_0x220252[_0x0974('0x33')],qs[_0x0974('0x39')](_0x2ce15e[_0x0974('0x34')]['fields']));_0x3ce302[_0x0974('0x38')]=_0x3ce302['attributes'][_0x0974('0x3a')]?_0x3ce302[_0x0974('0x38')]:_0x220252[_0x0974('0x33')];_0x3ce302[_0x0974('0x3d')]=qs[_0x0974('0x3e')](_0x2ce15e[_0x0974('0x34')][_0x0974('0x3e')]);_0x3ce302['where']=qs[_0x0974('0x36')](_[_0x0974('0x40')](_0x2ce15e['query'],_0x220252[_0x0974('0x36')]));if(_0x2ce15e[_0x0974('0x34')][_0x0974('0x41')]){_0x3ce302[_0x0974('0x3f')]=_[_0x0974('0x42')](_0x3ce302[_0x0974('0x3f')],{'$or':_[_0x0974('0x2d')](_0x3ce302[_0x0974('0x38')],function(_0x54df02){var _0x367821={};_0x367821[_0x54df02]={'$like':'%'+_0x2ce15e[_0x0974('0x34')][_0x0974('0x41')]+'%'};return _0x367821;})});}_0x3ce302=_[_0x0974('0x42')]({},_0x3ce302,_0x2ce15e[_0x0974('0x44')]);return _0x1cac18[_0x0974('0x51')](_0x3ce302);}})['then'](function(_0x4aad10){if(_0x4aad10){_0x3de55c=_0x4aad10['length'];if(!_0x2ce15e[_0x0974('0x34')]['hasOwnProperty'](_0x0974('0x3c'))){_0x3ce302[_0x0974('0x1f')]=qs[_0x0974('0x1f')](_0x2ce15e['query'][_0x0974('0x1f')]);_0x3ce302['offset']=qs[_0x0974('0x1d')](_0x2ce15e[_0x0974('0x34')]['offset']);}return _0x1cac18[_0x0974('0x51')](_0x3ce302);}})[_0x0974('0x27')](function(_0x4b863d){if(_0x4b863d){return _0x4b863d?{'count':_0x3de55c,'rows':_0x4b863d}:null;}})[_0x0974('0x27')](respondWithResult(_0x33529e,null))['catch'](handleError(_0x33529e,null));};exports[_0x0974('0x52')]=function(_0x2fda43,_0x3dd86e,_0x141790){var _0x450e60={};var _0x28f707={};var _0x51243e;var _0x1c096a;return db[_0x0974('0x2e')]['findOne']({'where':{'id':_0x2fda43[_0x0974('0x4d')]['id']}})[_0x0974('0x27')](handleEntityNotFound(_0x3dd86e,null))[_0x0974('0x27')](function(_0x18dbdd){if(_0x18dbdd){_0x51243e=_0x18dbdd;_0x28f707[_0x0974('0x33')]=_[_0x0974('0x35')](db['SugarcrmField'][_0x0974('0x2f')]);_0x28f707[_0x0974('0x34')]=_[_0x0974('0x35')](_0x2fda43[_0x0974('0x34')]);_0x28f707[_0x0974('0x36')]=_[_0x0974('0x37')](_0x28f707[_0x0974('0x33')],_0x28f707[_0x0974('0x34')]);_0x450e60[_0x0974('0x38')]=_['intersection'](_0x28f707['model'],qs[_0x0974('0x39')](_0x2fda43[_0x0974('0x34')][_0x0974('0x39')]));_0x450e60[_0x0974('0x38')]=_0x450e60[_0x0974('0x38')][_0x0974('0x3a')]?_0x450e60[_0x0974('0x38')]:_0x28f707[_0x0974('0x33')];_0x450e60[_0x0974('0x3d')]=qs['sort'](_0x2fda43[_0x0974('0x34')][_0x0974('0x3e')]);_0x450e60[_0x0974('0x3f')]=qs[_0x0974('0x36')](_[_0x0974('0x40')](_0x2fda43[_0x0974('0x34')],_0x28f707[_0x0974('0x36')]));if(_0x2fda43[_0x0974('0x34')][_0x0974('0x41')]){_0x450e60['where']=_[_0x0974('0x42')](_0x450e60[_0x0974('0x3f')],{'$or':_['map'](_0x450e60[_0x0974('0x38')],function(_0x3b983c){var _0x4fb9ec={};_0x4fb9ec[_0x3b983c]={'$like':'%'+_0x2fda43[_0x0974('0x34')][_0x0974('0x41')]+'%'};return _0x4fb9ec;})});}_0x450e60=_[_0x0974('0x42')]({},_0x450e60,_0x2fda43[_0x0974('0x44')]);return _0x51243e['getDescriptions'](_0x450e60);}})[_0x0974('0x27')](function(_0x1ab469){if(_0x1ab469){_0x1c096a=_0x1ab469[_0x0974('0x3a')];if(!_0x2fda43[_0x0974('0x34')][_0x0974('0x3b')](_0x0974('0x3c'))){_0x450e60[_0x0974('0x1f')]=qs[_0x0974('0x1f')](_0x2fda43[_0x0974('0x34')][_0x0974('0x1f')]);_0x450e60[_0x0974('0x1d')]=qs[_0x0974('0x1d')](_0x2fda43[_0x0974('0x34')][_0x0974('0x1d')]);}return _0x51243e[_0x0974('0x52')](_0x450e60);}})[_0x0974('0x27')](function(_0x218e7c){if(_0x218e7c){return _0x218e7c?{'count':_0x1c096a,'rows':_0x218e7c}:null;}})['then'](respondWithResult(_0x3dd86e,null))['catch'](handleError(_0x3dd86e,null));};