49dd845df6c43f5f1b942d8587aec136177ab195
[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 _0x0b3c=['limit','count','set','Content-Range','apply','reject','update','destroy','then','end','name','index','map','SugarcrmConfiguration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined'];(function(_0x31445b,_0x4bd23e){var _0xa0eae4=function(_0x3d9baa){while(--_0x3d9baa){_0x31445b['push'](_0x31445b['shift']());}};_0xa0eae4(++_0x4bd23e);}(_0x0b3c,0x84));var _0xc0b3=function(_0x491091,_0x5220bd){_0x491091=_0x491091-0x0;var _0x37eb35=_0x0b3c[_0x491091];return _0x37eb35;};'use strict';var emlformat=require(_0xc0b3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc0b3('0x1'));var jsonpatch=require(_0xc0b3('0x2'));var rp=require('request-promise');var moment=require(_0xc0b3('0x3'));var BPromise=require(_0xc0b3('0x4'));var Mustache=require(_0xc0b3('0x5'));var util=require(_0xc0b3('0x6'));var path=require(_0xc0b3('0x7'));var sox=require(_0xc0b3('0x8'));var csv=require(_0xc0b3('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc0b3('0xa'));var _=require(_0xc0b3('0xb'));var squel=require(_0xc0b3('0xc'));var crypto=require(_0xc0b3('0xd'));var jsforce=require(_0xc0b3('0xe'));var deskjs=require(_0xc0b3('0xf'));var toCsv=require(_0xc0b3('0x9'));var querystring=require(_0xc0b3('0x10'));var Papa=require(_0xc0b3('0x11'));var Redis=require('ioredis');var authService=require(_0xc0b3('0x12'));var qs=require(_0xc0b3('0x13'));var as=require(_0xc0b3('0x14'));var hardwareService=require(_0xc0b3('0x15'));var logger=require(_0xc0b3('0x16'))(_0xc0b3('0x17'));var utils=require(_0xc0b3('0x18'));var config=require(_0xc0b3('0x19'));var licenseUtil=require(_0xc0b3('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2f5dd7,_0x2cce53){_0x2cce53=_0x2cce53||0xcc;return function(_0x21e846){if(_0x21e846){return _0x2f5dd7[_0xc0b3('0x1b')](_0x2cce53);}return _0x2f5dd7[_0xc0b3('0x1c')](_0x2cce53)['end']();};}function respondWithResult(_0x55b607,_0x48bd54){_0x48bd54=_0x48bd54||0xc8;return function(_0x2431d2){if(_0x2431d2){return _0x55b607[_0xc0b3('0x1c')](_0x48bd54)[_0xc0b3('0x1d')](_0x2431d2);}};}function respondWithFilteredResult(_0x509400,_0x1e82a6){return function(_0x3ccb0d){if(_0x3ccb0d){var _0x564626=typeof _0x1e82a6[_0xc0b3('0x1e')]===_0xc0b3('0x1f')&&typeof _0x1e82a6[_0xc0b3('0x20')]===_0xc0b3('0x1f');var _0x34078d=_0x3ccb0d[_0xc0b3('0x21')];var _0x4c7dcc=_0x564626?0x0:_0x1e82a6[_0xc0b3('0x1e')];var _0x4b2937=_0x564626?_0x3ccb0d[_0xc0b3('0x21')]:_0x1e82a6[_0xc0b3('0x1e')]+_0x1e82a6['limit'];var _0x18bc0b;if(_0x4b2937>=_0x34078d){_0x4b2937=_0x34078d;_0x18bc0b=0xc8;}else{_0x18bc0b=0xce;}_0x509400[_0xc0b3('0x1c')](_0x18bc0b);return _0x509400[_0xc0b3('0x22')](_0xc0b3('0x23'),_0x4c7dcc+'-'+_0x4b2937+'/'+_0x34078d)[_0xc0b3('0x1d')](_0x3ccb0d);}return null;};}function patchUpdates(_0x2b2b1f){return function(_0x26103e){try{jsonpatch[_0xc0b3('0x24')](_0x26103e,_0x2b2b1f,!![]);}catch(_0x3a346a){return BPromise[_0xc0b3('0x25')](_0x3a346a);}return _0x26103e['save']();};}function saveUpdates(_0x4f22e9,_0x4a5b64){return function(_0x48c182){if(_0x48c182){return _0x48c182[_0xc0b3('0x26')](_0x4f22e9)['then'](function(_0x41d129){return _0x41d129;});}return null;};}function removeEntity(_0x2a0793,_0x5d54b2){return function(_0x5c21b4){if(_0x5c21b4){return _0x5c21b4[_0xc0b3('0x27')]()[_0xc0b3('0x28')](function(){_0x2a0793[_0xc0b3('0x1c')](0xcc)[_0xc0b3('0x29')]();});}};}function handleEntityNotFound(_0x468cbc,_0x33733d){return function(_0x21a752){if(!_0x21a752){_0x468cbc['sendStatus'](0x194);}return _0x21a752;};}function handleError(_0x3e0a0b,_0x4bf68a){_0x4bf68a=_0x4bf68a||0x1f4;return function(_0x453f84){logger['error'](_0x453f84['stack']);if(_0x453f84[_0xc0b3('0x2a')]){delete _0x453f84[_0xc0b3('0x2a')];}_0x3e0a0b['status'](_0x4bf68a)['send'](_0x453f84);};}exports[_0xc0b3('0x2b')]=function(_0x1d30a6,_0x339e93){var _0x50a1a8={},_0x139332={},_0x35ab17={'count':0x0,'rows':[]};var _0x2d40f7=_[_0xc0b3('0x2c')](db[_0xc0b3('0x2d')][_0xc0b3('0x2e')],function(_0x117499){return{'name':_0x117499[_0xc0b3('0x2f')],'type':_0x117499['type'][_0xc0b3('0x30')]};});_0x139332[_0xc0b3('0x31')]=_['map'](_0x2d40f7,_0xc0b3('0x2a'));_0x139332[_0xc0b3('0x32')]=_[_0xc0b3('0x33')](_0x1d30a6[_0xc0b3('0x32')]);_0x139332[_0xc0b3('0x34')]=_[_0xc0b3('0x35')](_0x139332[_0xc0b3('0x31')],_0x139332['query']);_0x50a1a8['attributes']=_[_0xc0b3('0x35')](_0x139332[_0xc0b3('0x31')],qs[_0xc0b3('0x36')](_0x1d30a6['query'][_0xc0b3('0x36')]));_0x50a1a8[_0xc0b3('0x37')]=_0x50a1a8[_0xc0b3('0x37')][_0xc0b3('0x38')]?_0x50a1a8[_0xc0b3('0x37')]:_0x139332[_0xc0b3('0x31')];if(!_0x1d30a6['query'][_0xc0b3('0x39')](_0xc0b3('0x3a'))){_0x50a1a8[_0xc0b3('0x20')]=qs[_0xc0b3('0x20')](_0x1d30a6[_0xc0b3('0x32')][_0xc0b3('0x20')]);_0x50a1a8[_0xc0b3('0x1e')]=qs['offset'](_0x1d30a6[_0xc0b3('0x32')][_0xc0b3('0x1e')]);}_0x50a1a8['order']=qs['sort'](_0x1d30a6[_0xc0b3('0x32')][_0xc0b3('0x3b')]);_0x50a1a8[_0xc0b3('0x3c')]=qs[_0xc0b3('0x34')](_[_0xc0b3('0x3d')](_0x1d30a6[_0xc0b3('0x32')],_0x139332[_0xc0b3('0x34')]),_0x2d40f7);if(_0x1d30a6[_0xc0b3('0x32')][_0xc0b3('0x3e')]){_0x50a1a8[_0xc0b3('0x3c')]=_[_0xc0b3('0x3f')](_0x50a1a8[_0xc0b3('0x3c')],{'$or':_['map'](_0x2d40f7,function(_0x58f5eb){if(_0x58f5eb[_0xc0b3('0x40')]!==_0xc0b3('0x41')){var _0x3cd318={};_0x3cd318[_0x58f5eb['name']]={'$like':'%'+_0x1d30a6[_0xc0b3('0x32')]['filter']+'%'};return _0x3cd318;}})});}_0x50a1a8=_[_0xc0b3('0x3f')]({},_0x50a1a8,_0x1d30a6[_0xc0b3('0x42')]);var _0x20af6a={'where':_0x50a1a8[_0xc0b3('0x3c')]};return db['SugarcrmConfiguration']['count'](_0x20af6a)[_0xc0b3('0x28')](function(_0x574732){_0x35ab17['count']=_0x574732;if(_0x1d30a6['query'][_0xc0b3('0x43')]){_0x50a1a8[_0xc0b3('0x44')]=[{'all':!![]}];}return db[_0xc0b3('0x2d')][_0xc0b3('0x45')](_0x50a1a8);})[_0xc0b3('0x28')](function(_0x126fe5){_0x35ab17[_0xc0b3('0x46')]=_0x126fe5;return _0x35ab17;})['then'](respondWithFilteredResult(_0x339e93,_0x50a1a8))[_0xc0b3('0x47')](handleError(_0x339e93,null));};exports[_0xc0b3('0x48')]=function(_0x4af0ce,_0x3380b0){var _0x4c2bce={'raw':![],'where':{'id':_0x4af0ce[_0xc0b3('0x49')]['id']}},_0x3c5ab3={};_0x3c5ab3[_0xc0b3('0x31')]=_[_0xc0b3('0x33')](db[_0xc0b3('0x2d')]['rawAttributes']);_0x3c5ab3['query']=_[_0xc0b3('0x33')](_0x4af0ce[_0xc0b3('0x32')]);_0x3c5ab3['filters']=_[_0xc0b3('0x35')](_0x3c5ab3[_0xc0b3('0x31')],_0x3c5ab3[_0xc0b3('0x32')]);_0x4c2bce[_0xc0b3('0x37')]=_[_0xc0b3('0x35')](_0x3c5ab3[_0xc0b3('0x31')],qs[_0xc0b3('0x36')](_0x4af0ce[_0xc0b3('0x32')][_0xc0b3('0x36')]));_0x4c2bce[_0xc0b3('0x37')]=_0x4c2bce['attributes'][_0xc0b3('0x38')]?_0x4c2bce[_0xc0b3('0x37')]:_0x3c5ab3['model'];if(_0x4af0ce['query'][_0xc0b3('0x43')]){_0x4c2bce['include']=[{'all':!![]}];}_0x4c2bce=_[_0xc0b3('0x3f')]({},_0x4c2bce,_0x4af0ce[_0xc0b3('0x42')]);return db['SugarcrmConfiguration'][_0xc0b3('0x4a')](_0x4c2bce)[_0xc0b3('0x28')](handleEntityNotFound(_0x3380b0,null))[_0xc0b3('0x28')](respondWithResult(_0x3380b0,null))[_0xc0b3('0x47')](handleError(_0x3380b0,null));};exports[_0xc0b3('0x4b')]=function(_0x37f82d,_0x5ec01c){return db['SugarcrmConfiguration'][_0xc0b3('0x4b')](_0x37f82d[_0xc0b3('0x4c')],{})[_0xc0b3('0x28')](respondWithResult(_0x5ec01c,0xc9))['catch'](handleError(_0x5ec01c,null));};exports['update']=function(_0x3171e8,_0x26021c){if(_0x3171e8[_0xc0b3('0x4c')]['id']){delete _0x3171e8[_0xc0b3('0x4c')]['id'];}return db[_0xc0b3('0x2d')]['find']({'where':{'id':_0x3171e8[_0xc0b3('0x49')]['id']}})[_0xc0b3('0x28')](handleEntityNotFound(_0x26021c,null))['then'](saveUpdates(_0x3171e8['body'],null))[_0xc0b3('0x28')](respondWithResult(_0x26021c,null))[_0xc0b3('0x47')](handleError(_0x26021c,null));};exports[_0xc0b3('0x27')]=function(_0x3181af,_0x2fe1de){return db[_0xc0b3('0x2d')][_0xc0b3('0x4a')]({'where':{'id':_0x3181af[_0xc0b3('0x49')]['id']}})[_0xc0b3('0x28')](handleEntityNotFound(_0x2fe1de,null))[_0xc0b3('0x28')](removeEntity(_0x2fe1de,null))[_0xc0b3('0x47')](handleError(_0x2fe1de,null));};exports[_0xc0b3('0x4d')]=function(_0x13ede7,_0x2e37d8,_0x163dd5){var _0x1cb0a1={};var _0x311cb2={};var _0x35ed42;var _0x2ad5ea;return db[_0xc0b3('0x2d')][_0xc0b3('0x4e')]({'where':{'id':_0x13ede7[_0xc0b3('0x49')]['id']}})[_0xc0b3('0x28')](handleEntityNotFound(_0x2e37d8,null))[_0xc0b3('0x28')](function(_0x16fec7){if(_0x16fec7){_0x35ed42=_0x16fec7;_0x311cb2['model']=_['keys'](db[_0xc0b3('0x4f')][_0xc0b3('0x2e')]);_0x311cb2['query']=_[_0xc0b3('0x33')](_0x13ede7['query']);_0x311cb2[_0xc0b3('0x34')]=_[_0xc0b3('0x35')](_0x311cb2[_0xc0b3('0x31')],_0x311cb2[_0xc0b3('0x32')]);_0x1cb0a1[_0xc0b3('0x37')]=_[_0xc0b3('0x35')](_0x311cb2[_0xc0b3('0x31')],qs['fields'](_0x13ede7['query'][_0xc0b3('0x36')]));_0x1cb0a1[_0xc0b3('0x37')]=_0x1cb0a1[_0xc0b3('0x37')][_0xc0b3('0x38')]?_0x1cb0a1[_0xc0b3('0x37')]:_0x311cb2[_0xc0b3('0x31')];_0x1cb0a1['order']=qs[_0xc0b3('0x3b')](_0x13ede7[_0xc0b3('0x32')]['sort']);_0x1cb0a1['where']=qs['filters'](_[_0xc0b3('0x3d')](_0x13ede7[_0xc0b3('0x32')],_0x311cb2[_0xc0b3('0x34')]));if(_0x13ede7['query'][_0xc0b3('0x3e')]){_0x1cb0a1[_0xc0b3('0x3c')]=_[_0xc0b3('0x3f')](_0x1cb0a1[_0xc0b3('0x3c')],{'$or':_[_0xc0b3('0x2c')](_0x1cb0a1[_0xc0b3('0x37')],function(_0x47ae86){var _0x455560={};_0x455560[_0x47ae86]={'$like':'%'+_0x13ede7[_0xc0b3('0x32')][_0xc0b3('0x3e')]+'%'};return _0x455560;})});}_0x1cb0a1=_['merge']({},_0x1cb0a1,_0x13ede7[_0xc0b3('0x42')]);return _0x35ed42['getFields'](_0x1cb0a1);}})[_0xc0b3('0x28')](function(_0x107b9f){if(_0x107b9f){_0x2ad5ea=_0x107b9f[_0xc0b3('0x38')];if(!_0x13ede7[_0xc0b3('0x32')][_0xc0b3('0x39')]('nolimit')){_0x1cb0a1[_0xc0b3('0x20')]=qs[_0xc0b3('0x20')](_0x13ede7[_0xc0b3('0x32')]['limit']);_0x1cb0a1['offset']=qs[_0xc0b3('0x1e')](_0x13ede7['query'][_0xc0b3('0x1e')]);}return _0x35ed42[_0xc0b3('0x4d')](_0x1cb0a1);}})[_0xc0b3('0x28')](function(_0x3aa727){if(_0x3aa727){return _0x3aa727?{'count':_0x2ad5ea,'rows':_0x3aa727}:null;}})['then'](respondWithResult(_0x2e37d8,null))[_0xc0b3('0x47')](handleError(_0x2e37d8,null));};exports[_0xc0b3('0x50')]=function(_0x526cc5,_0x3e12e1,_0x4bbd86){var _0x3270e8={};var _0x477ff9={};var _0x17e525;var _0x526b23;return db[_0xc0b3('0x2d')][_0xc0b3('0x4e')]({'where':{'id':_0x526cc5[_0xc0b3('0x49')]['id']}})['then'](handleEntityNotFound(_0x3e12e1,null))['then'](function(_0x570c4e){if(_0x570c4e){_0x17e525=_0x570c4e;_0x477ff9['model']=_['keys'](db['SugarcrmField'][_0xc0b3('0x2e')]);_0x477ff9[_0xc0b3('0x32')]=_[_0xc0b3('0x33')](_0x526cc5[_0xc0b3('0x32')]);_0x477ff9[_0xc0b3('0x34')]=_[_0xc0b3('0x35')](_0x477ff9[_0xc0b3('0x31')],_0x477ff9[_0xc0b3('0x32')]);_0x3270e8[_0xc0b3('0x37')]=_[_0xc0b3('0x35')](_0x477ff9[_0xc0b3('0x31')],qs[_0xc0b3('0x36')](_0x526cc5['query'][_0xc0b3('0x36')]));_0x3270e8[_0xc0b3('0x37')]=_0x3270e8[_0xc0b3('0x37')][_0xc0b3('0x38')]?_0x3270e8[_0xc0b3('0x37')]:_0x477ff9['model'];_0x3270e8['order']=qs['sort'](_0x526cc5[_0xc0b3('0x32')][_0xc0b3('0x3b')]);_0x3270e8[_0xc0b3('0x3c')]=qs[_0xc0b3('0x34')](_[_0xc0b3('0x3d')](_0x526cc5[_0xc0b3('0x32')],_0x477ff9['filters']));if(_0x526cc5[_0xc0b3('0x32')][_0xc0b3('0x3e')]){_0x3270e8['where']=_[_0xc0b3('0x3f')](_0x3270e8[_0xc0b3('0x3c')],{'$or':_[_0xc0b3('0x2c')](_0x3270e8[_0xc0b3('0x37')],function(_0x2020fd){var _0x55a82d={};_0x55a82d[_0x2020fd]={'$like':'%'+_0x526cc5[_0xc0b3('0x32')][_0xc0b3('0x3e')]+'%'};return _0x55a82d;})});}_0x3270e8=_[_0xc0b3('0x3f')]({},_0x3270e8,_0x526cc5[_0xc0b3('0x42')]);return _0x17e525[_0xc0b3('0x50')](_0x3270e8);}})['then'](function(_0x2af9a6){if(_0x2af9a6){_0x526b23=_0x2af9a6['length'];if(!_0x526cc5['query']['hasOwnProperty'](_0xc0b3('0x3a'))){_0x3270e8[_0xc0b3('0x20')]=qs['limit'](_0x526cc5[_0xc0b3('0x32')]['limit']);_0x3270e8['offset']=qs[_0xc0b3('0x1e')](_0x526cc5[_0xc0b3('0x32')][_0xc0b3('0x1e')]);}return _0x17e525['getSubjects'](_0x3270e8);}})['then'](function(_0xe583f7){if(_0xe583f7){return _0xe583f7?{'count':_0x526b23,'rows':_0xe583f7}:null;}})['then'](respondWithResult(_0x3e12e1,null))[_0xc0b3('0x47')](handleError(_0x3e12e1,null));};exports[_0xc0b3('0x51')]=function(_0x521167,_0x5c6734,_0x50d5de){var _0x24bc70={};var _0x4a62ff={};var _0x38d580;var _0x1a9df8;return db[_0xc0b3('0x2d')][_0xc0b3('0x4e')]({'where':{'id':_0x521167[_0xc0b3('0x49')]['id']}})[_0xc0b3('0x28')](handleEntityNotFound(_0x5c6734,null))['then'](function(_0x82ee62){if(_0x82ee62){_0x38d580=_0x82ee62;_0x4a62ff[_0xc0b3('0x31')]=_['keys'](db[_0xc0b3('0x4f')][_0xc0b3('0x2e')]);_0x4a62ff['query']=_[_0xc0b3('0x33')](_0x521167[_0xc0b3('0x32')]);_0x4a62ff[_0xc0b3('0x34')]=_[_0xc0b3('0x35')](_0x4a62ff[_0xc0b3('0x31')],_0x4a62ff['query']);_0x24bc70[_0xc0b3('0x37')]=_['intersection'](_0x4a62ff[_0xc0b3('0x31')],qs[_0xc0b3('0x36')](_0x521167[_0xc0b3('0x32')][_0xc0b3('0x36')]));_0x24bc70['attributes']=_0x24bc70[_0xc0b3('0x37')]['length']?_0x24bc70[_0xc0b3('0x37')]:_0x4a62ff[_0xc0b3('0x31')];_0x24bc70['order']=qs[_0xc0b3('0x3b')](_0x521167[_0xc0b3('0x32')]['sort']);_0x24bc70['where']=qs[_0xc0b3('0x34')](_['pick'](_0x521167['query'],_0x4a62ff[_0xc0b3('0x34')]));if(_0x521167['query'][_0xc0b3('0x3e')]){_0x24bc70['where']=_[_0xc0b3('0x3f')](_0x24bc70['where'],{'$or':_[_0xc0b3('0x2c')](_0x24bc70[_0xc0b3('0x37')],function(_0x17f095){var _0x1d3b9c={};_0x1d3b9c[_0x17f095]={'$like':'%'+_0x521167[_0xc0b3('0x32')][_0xc0b3('0x3e')]+'%'};return _0x1d3b9c;})});}_0x24bc70=_['merge']({},_0x24bc70,_0x521167['options']);return _0x38d580[_0xc0b3('0x51')](_0x24bc70);}})[_0xc0b3('0x28')](function(_0xa7fb97){if(_0xa7fb97){_0x1a9df8=_0xa7fb97[_0xc0b3('0x38')];if(!_0x521167[_0xc0b3('0x32')][_0xc0b3('0x39')](_0xc0b3('0x3a'))){_0x24bc70[_0xc0b3('0x20')]=qs[_0xc0b3('0x20')](_0x521167[_0xc0b3('0x32')][_0xc0b3('0x20')]);_0x24bc70[_0xc0b3('0x1e')]=qs[_0xc0b3('0x1e')](_0x521167[_0xc0b3('0x32')][_0xc0b3('0x1e')]);}return _0x38d580[_0xc0b3('0x51')](_0x24bc70);}})[_0xc0b3('0x28')](function(_0x3f7149){if(_0x3f7149){return _0x3f7149?{'count':_0x1a9df8,'rows':_0x3f7149}:null;}})[_0xc0b3('0x28')](respondWithResult(_0x5c6734,null))['catch'](handleError(_0x5c6734,null));};