d30bf2c78dfbe5751cec0770f0aac76c62f6ad09
[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 _0x64d2=['limit','set','json','apply','reject','then','destroy','error','name','index','map','SugarcrmConfiguration','rawAttributes','fieldName','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','create','body','update','find','params','findOne','SugarcrmField','order','getFields','getSubjects','getDescriptions','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','count'];(function(_0x4243a3,_0x447337){var _0x1b2a33=function(_0x6a8200){while(--_0x6a8200){_0x4243a3['push'](_0x4243a3['shift']());}};_0x1b2a33(++_0x447337);}(_0x64d2,0x1bc));var _0x264d=function(_0x347c14,_0xf2472f){_0x347c14=_0x347c14-0x0;var _0x46deb8=_0x64d2[_0x347c14];return _0x46deb8;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x264d('0x0'));var rp=require(_0x264d('0x1'));var moment=require(_0x264d('0x2'));var BPromise=require(_0x264d('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0x264d('0x4'));var sox=require(_0x264d('0x5'));var csv=require(_0x264d('0x6'));var ejs=require(_0x264d('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x264d('0x8'));var squel=require(_0x264d('0x9'));var crypto=require(_0x264d('0xa'));var jsforce=require(_0x264d('0xb'));var deskjs=require(_0x264d('0xc'));var toCsv=require(_0x264d('0x6'));var querystring=require(_0x264d('0xd'));var Papa=require(_0x264d('0xe'));var Redis=require(_0x264d('0xf'));var authService=require(_0x264d('0x10'));var qs=require(_0x264d('0x11'));var as=require(_0x264d('0x12'));var hardwareService=require(_0x264d('0x13'));var logger=require(_0x264d('0x14'))(_0x264d('0x15'));var utils=require('../../config/utils');var config=require(_0x264d('0x16'));var licenseUtil=require(_0x264d('0x17'));var db=require(_0x264d('0x18'))['db'];function respondWithStatusCode(_0x3b6080,_0x32e293){_0x32e293=_0x32e293||0xcc;return function(_0x10d695){if(_0x10d695){return _0x3b6080[_0x264d('0x19')](_0x32e293);}return _0x3b6080['status'](_0x32e293)[_0x264d('0x1a')]();};}function respondWithResult(_0x5ef433,_0x4745c9){_0x4745c9=_0x4745c9||0xc8;return function(_0x4e6cad){if(_0x4e6cad){return _0x5ef433[_0x264d('0x1b')](_0x4745c9)['json'](_0x4e6cad);}};}function respondWithFilteredResult(_0x481749,_0x3f4aed){return function(_0x3d80bf){if(_0x3d80bf){var _0x53a7c5=typeof _0x3f4aed[_0x264d('0x1c')]==='undefined'&&typeof _0x3f4aed['limit']==='undefined';var _0xce1330=_0x3d80bf['count'];var _0x3aa5e1=_0x53a7c5?0x0:_0x3f4aed[_0x264d('0x1c')];var _0x3d8784=_0x53a7c5?_0x3d80bf[_0x264d('0x1d')]:_0x3f4aed[_0x264d('0x1c')]+_0x3f4aed[_0x264d('0x1e')];var _0x5f0185;if(_0x3d8784>=_0xce1330){_0x3d8784=_0xce1330;_0x5f0185=0xc8;}else{_0x5f0185=0xce;}_0x481749[_0x264d('0x1b')](_0x5f0185);return _0x481749[_0x264d('0x1f')]('Content-Range',_0x3aa5e1+'-'+_0x3d8784+'/'+_0xce1330)[_0x264d('0x20')](_0x3d80bf);}return null;};}function patchUpdates(_0x3f1177){return function(_0x541e80){try{jsonpatch[_0x264d('0x21')](_0x541e80,_0x3f1177,!![]);}catch(_0x5b5f17){return BPromise[_0x264d('0x22')](_0x5b5f17);}return _0x541e80['save']();};}function saveUpdates(_0x217425,_0x4853a4){return function(_0x519350){if(_0x519350){return _0x519350['update'](_0x217425)[_0x264d('0x23')](function(_0x3409ed){return _0x3409ed;});}return null;};}function removeEntity(_0x33ab11,_0x3af2e7){return function(_0xb5fffa){if(_0xb5fffa){return _0xb5fffa[_0x264d('0x24')]()[_0x264d('0x23')](function(){_0x33ab11['status'](0xcc)[_0x264d('0x1a')]();});}};}function handleEntityNotFound(_0x4bcb37,_0x2357d1){return function(_0x372ba0){if(!_0x372ba0){_0x4bcb37[_0x264d('0x19')](0x194);}return _0x372ba0;};}function handleError(_0x2e4025,_0x47eadf){_0x47eadf=_0x47eadf||0x1f4;return function(_0x40db47){logger[_0x264d('0x25')](_0x40db47['stack']);if(_0x40db47[_0x264d('0x26')]){delete _0x40db47[_0x264d('0x26')];}_0x2e4025[_0x264d('0x1b')](_0x47eadf)['send'](_0x40db47);};}exports[_0x264d('0x27')]=function(_0x29030d,_0x59014f){var _0x34f111={},_0x948ac2={},_0x13c740={'count':0x0,'rows':[]};var _0x4e717f=_[_0x264d('0x28')](db[_0x264d('0x29')][_0x264d('0x2a')],function(_0x3bb9a0){return{'name':_0x3bb9a0[_0x264d('0x2b')],'type':_0x3bb9a0['type']['key']};});_0x948ac2[_0x264d('0x2c')]=_[_0x264d('0x28')](_0x4e717f,_0x264d('0x26'));_0x948ac2[_0x264d('0x2d')]=_[_0x264d('0x2e')](_0x29030d['query']);_0x948ac2['filters']=_[_0x264d('0x2f')](_0x948ac2[_0x264d('0x2c')],_0x948ac2[_0x264d('0x2d')]);_0x34f111['attributes']=_[_0x264d('0x2f')](_0x948ac2[_0x264d('0x2c')],qs[_0x264d('0x30')](_0x29030d[_0x264d('0x2d')][_0x264d('0x30')]));_0x34f111[_0x264d('0x31')]=_0x34f111[_0x264d('0x31')][_0x264d('0x32')]?_0x34f111[_0x264d('0x31')]:_0x948ac2[_0x264d('0x2c')];if(!_0x29030d[_0x264d('0x2d')][_0x264d('0x33')](_0x264d('0x34'))){_0x34f111[_0x264d('0x1e')]=qs['limit'](_0x29030d[_0x264d('0x2d')]['limit']);_0x34f111[_0x264d('0x1c')]=qs[_0x264d('0x1c')](_0x29030d[_0x264d('0x2d')][_0x264d('0x1c')]);}_0x34f111['order']=qs[_0x264d('0x35')](_0x29030d['query'][_0x264d('0x35')]);_0x34f111[_0x264d('0x36')]=qs[_0x264d('0x37')](_[_0x264d('0x38')](_0x29030d[_0x264d('0x2d')],_0x948ac2['filters']),_0x4e717f);if(_0x29030d['query'][_0x264d('0x39')]){_0x34f111[_0x264d('0x36')]=_[_0x264d('0x3a')](_0x34f111[_0x264d('0x36')],{'$or':_[_0x264d('0x28')](_0x4e717f,function(_0x2470e8){if(_0x2470e8[_0x264d('0x3b')]!==_0x264d('0x3c')){var _0x3e0aa4={};_0x3e0aa4[_0x2470e8[_0x264d('0x26')]]={'$like':'%'+_0x29030d[_0x264d('0x2d')][_0x264d('0x39')]+'%'};return _0x3e0aa4;}})});}_0x34f111=_[_0x264d('0x3a')]({},_0x34f111,_0x29030d[_0x264d('0x3d')]);var _0x53ab84={'where':_0x34f111[_0x264d('0x36')]};return db[_0x264d('0x29')]['count'](_0x53ab84)[_0x264d('0x23')](function(_0x27deb0){_0x13c740[_0x264d('0x1d')]=_0x27deb0;if(_0x29030d['query'][_0x264d('0x3e')]){_0x34f111[_0x264d('0x3f')]=[{'all':!![]}];}return db[_0x264d('0x29')][_0x264d('0x40')](_0x34f111);})[_0x264d('0x23')](function(_0x5ca716){_0x13c740[_0x264d('0x41')]=_0x5ca716;return _0x13c740;})[_0x264d('0x23')](respondWithFilteredResult(_0x59014f,_0x34f111))[_0x264d('0x42')](handleError(_0x59014f,null));};exports[_0x264d('0x43')]=function(_0x473dff,_0x43ca70){var _0x578ed5={'raw':![],'where':{'id':_0x473dff['params']['id']}},_0x4f0bc8={};_0x4f0bc8[_0x264d('0x2c')]=_['keys'](db[_0x264d('0x29')][_0x264d('0x2a')]);_0x4f0bc8[_0x264d('0x2d')]=_[_0x264d('0x2e')](_0x473dff['query']);_0x4f0bc8[_0x264d('0x37')]=_['intersection'](_0x4f0bc8[_0x264d('0x2c')],_0x4f0bc8[_0x264d('0x2d')]);_0x578ed5[_0x264d('0x31')]=_['intersection'](_0x4f0bc8[_0x264d('0x2c')],qs[_0x264d('0x30')](_0x473dff['query'][_0x264d('0x30')]));_0x578ed5['attributes']=_0x578ed5[_0x264d('0x31')]['length']?_0x578ed5[_0x264d('0x31')]:_0x4f0bc8[_0x264d('0x2c')];if(_0x473dff[_0x264d('0x2d')][_0x264d('0x3e')]){_0x578ed5[_0x264d('0x3f')]=[{'all':!![]}];}_0x578ed5=_[_0x264d('0x3a')]({},_0x578ed5,_0x473dff[_0x264d('0x3d')]);return db[_0x264d('0x29')]['find'](_0x578ed5)['then'](handleEntityNotFound(_0x43ca70,null))[_0x264d('0x23')](respondWithResult(_0x43ca70,null))[_0x264d('0x42')](handleError(_0x43ca70,null));};exports[_0x264d('0x44')]=function(_0x128ab7,_0x200097){return db[_0x264d('0x29')][_0x264d('0x44')](_0x128ab7[_0x264d('0x45')],{})[_0x264d('0x23')](respondWithResult(_0x200097,0xc9))[_0x264d('0x42')](handleError(_0x200097,null));};exports[_0x264d('0x46')]=function(_0x2d6f18,_0x2289e7){if(_0x2d6f18[_0x264d('0x45')]['id']){delete _0x2d6f18[_0x264d('0x45')]['id'];}return db[_0x264d('0x29')][_0x264d('0x47')]({'where':{'id':_0x2d6f18[_0x264d('0x48')]['id']}})[_0x264d('0x23')](handleEntityNotFound(_0x2289e7,null))[_0x264d('0x23')](saveUpdates(_0x2d6f18[_0x264d('0x45')],null))[_0x264d('0x23')](respondWithResult(_0x2289e7,null))['catch'](handleError(_0x2289e7,null));};exports['destroy']=function(_0x3fb766,_0x30c450){return db[_0x264d('0x29')][_0x264d('0x47')]({'where':{'id':_0x3fb766['params']['id']}})[_0x264d('0x23')](handleEntityNotFound(_0x30c450,null))[_0x264d('0x23')](removeEntity(_0x30c450,null))[_0x264d('0x42')](handleError(_0x30c450,null));};exports['getFields']=function(_0x163062,_0x17c6b0,_0x3e81fe){var _0x59c21c={};var _0x3c66e4={};var _0x4465fe;var _0x5cb6ec;return db[_0x264d('0x29')][_0x264d('0x49')]({'where':{'id':_0x163062[_0x264d('0x48')]['id']}})['then'](handleEntityNotFound(_0x17c6b0,null))[_0x264d('0x23')](function(_0x879268){if(_0x879268){_0x4465fe=_0x879268;_0x3c66e4[_0x264d('0x2c')]=_[_0x264d('0x2e')](db[_0x264d('0x4a')]['rawAttributes']);_0x3c66e4[_0x264d('0x2d')]=_[_0x264d('0x2e')](_0x163062[_0x264d('0x2d')]);_0x3c66e4['filters']=_[_0x264d('0x2f')](_0x3c66e4[_0x264d('0x2c')],_0x3c66e4[_0x264d('0x2d')]);_0x59c21c[_0x264d('0x31')]=_[_0x264d('0x2f')](_0x3c66e4[_0x264d('0x2c')],qs[_0x264d('0x30')](_0x163062[_0x264d('0x2d')]['fields']));_0x59c21c[_0x264d('0x31')]=_0x59c21c[_0x264d('0x31')][_0x264d('0x32')]?_0x59c21c[_0x264d('0x31')]:_0x3c66e4[_0x264d('0x2c')];_0x59c21c[_0x264d('0x4b')]=qs['sort'](_0x163062[_0x264d('0x2d')][_0x264d('0x35')]);_0x59c21c['where']=qs[_0x264d('0x37')](_['pick'](_0x163062['query'],_0x3c66e4['filters']));if(_0x163062['query'][_0x264d('0x39')]){_0x59c21c[_0x264d('0x36')]=_[_0x264d('0x3a')](_0x59c21c[_0x264d('0x36')],{'$or':_[_0x264d('0x28')](_0x59c21c[_0x264d('0x31')],function(_0x1b7893){var _0x31584e={};_0x31584e[_0x1b7893]={'$like':'%'+_0x163062[_0x264d('0x2d')][_0x264d('0x39')]+'%'};return _0x31584e;})});}_0x59c21c=_[_0x264d('0x3a')]({},_0x59c21c,_0x163062[_0x264d('0x3d')]);return _0x4465fe[_0x264d('0x4c')](_0x59c21c);}})[_0x264d('0x23')](function(_0xd3f39){if(_0xd3f39){_0x5cb6ec=_0xd3f39[_0x264d('0x32')];if(!_0x163062[_0x264d('0x2d')][_0x264d('0x33')](_0x264d('0x34'))){_0x59c21c[_0x264d('0x1e')]=qs[_0x264d('0x1e')](_0x163062[_0x264d('0x2d')][_0x264d('0x1e')]);_0x59c21c['offset']=qs[_0x264d('0x1c')](_0x163062[_0x264d('0x2d')]['offset']);}return _0x4465fe[_0x264d('0x4c')](_0x59c21c);}})[_0x264d('0x23')](function(_0x54b743){if(_0x54b743){return _0x54b743?{'count':_0x5cb6ec,'rows':_0x54b743}:null;}})[_0x264d('0x23')](respondWithResult(_0x17c6b0,null))[_0x264d('0x42')](handleError(_0x17c6b0,null));};exports[_0x264d('0x4d')]=function(_0x35ed77,_0x1189e9,_0x1a8376){var _0x942111={};var _0x126dc6={};var _0x349abd;var _0x3f91e9;return db[_0x264d('0x29')][_0x264d('0x49')]({'where':{'id':_0x35ed77[_0x264d('0x48')]['id']}})[_0x264d('0x23')](handleEntityNotFound(_0x1189e9,null))['then'](function(_0x4c1b94){if(_0x4c1b94){_0x349abd=_0x4c1b94;_0x126dc6[_0x264d('0x2c')]=_[_0x264d('0x2e')](db[_0x264d('0x4a')]['rawAttributes']);_0x126dc6[_0x264d('0x2d')]=_[_0x264d('0x2e')](_0x35ed77[_0x264d('0x2d')]);_0x126dc6[_0x264d('0x37')]=_[_0x264d('0x2f')](_0x126dc6[_0x264d('0x2c')],_0x126dc6[_0x264d('0x2d')]);_0x942111[_0x264d('0x31')]=_[_0x264d('0x2f')](_0x126dc6[_0x264d('0x2c')],qs[_0x264d('0x30')](_0x35ed77[_0x264d('0x2d')]['fields']));_0x942111[_0x264d('0x31')]=_0x942111[_0x264d('0x31')][_0x264d('0x32')]?_0x942111[_0x264d('0x31')]:_0x126dc6[_0x264d('0x2c')];_0x942111[_0x264d('0x4b')]=qs[_0x264d('0x35')](_0x35ed77[_0x264d('0x2d')][_0x264d('0x35')]);_0x942111['where']=qs[_0x264d('0x37')](_[_0x264d('0x38')](_0x35ed77[_0x264d('0x2d')],_0x126dc6[_0x264d('0x37')]));if(_0x35ed77[_0x264d('0x2d')][_0x264d('0x39')]){_0x942111[_0x264d('0x36')]=_[_0x264d('0x3a')](_0x942111['where'],{'$or':_[_0x264d('0x28')](_0x942111[_0x264d('0x31')],function(_0x1e0f08){var _0x1dcc9c={};_0x1dcc9c[_0x1e0f08]={'$like':'%'+_0x35ed77[_0x264d('0x2d')]['filter']+'%'};return _0x1dcc9c;})});}_0x942111=_[_0x264d('0x3a')]({},_0x942111,_0x35ed77['options']);return _0x349abd['getSubjects'](_0x942111);}})[_0x264d('0x23')](function(_0x45e255){if(_0x45e255){_0x3f91e9=_0x45e255[_0x264d('0x32')];if(!_0x35ed77['query']['hasOwnProperty'](_0x264d('0x34'))){_0x942111['limit']=qs['limit'](_0x35ed77[_0x264d('0x2d')]['limit']);_0x942111[_0x264d('0x1c')]=qs[_0x264d('0x1c')](_0x35ed77['query']['offset']);}return _0x349abd[_0x264d('0x4d')](_0x942111);}})[_0x264d('0x23')](function(_0xd76aa2){if(_0xd76aa2){return _0xd76aa2?{'count':_0x3f91e9,'rows':_0xd76aa2}:null;}})['then'](respondWithResult(_0x1189e9,null))[_0x264d('0x42')](handleError(_0x1189e9,null));};exports['getDescriptions']=function(_0x1e5a1b,_0x5293ce,_0x59e1d7){var _0x299f46={};var _0x175127={};var _0x5eddbd;var _0x4fd88a;return db[_0x264d('0x29')][_0x264d('0x49')]({'where':{'id':_0x1e5a1b[_0x264d('0x48')]['id']}})['then'](handleEntityNotFound(_0x5293ce,null))[_0x264d('0x23')](function(_0x5e9856){if(_0x5e9856){_0x5eddbd=_0x5e9856;_0x175127[_0x264d('0x2c')]=_[_0x264d('0x2e')](db[_0x264d('0x4a')][_0x264d('0x2a')]);_0x175127[_0x264d('0x2d')]=_[_0x264d('0x2e')](_0x1e5a1b['query']);_0x175127[_0x264d('0x37')]=_[_0x264d('0x2f')](_0x175127[_0x264d('0x2c')],_0x175127['query']);_0x299f46[_0x264d('0x31')]=_[_0x264d('0x2f')](_0x175127[_0x264d('0x2c')],qs[_0x264d('0x30')](_0x1e5a1b[_0x264d('0x2d')][_0x264d('0x30')]));_0x299f46['attributes']=_0x299f46[_0x264d('0x31')][_0x264d('0x32')]?_0x299f46[_0x264d('0x31')]:_0x175127[_0x264d('0x2c')];_0x299f46['order']=qs['sort'](_0x1e5a1b[_0x264d('0x2d')][_0x264d('0x35')]);_0x299f46[_0x264d('0x36')]=qs['filters'](_[_0x264d('0x38')](_0x1e5a1b[_0x264d('0x2d')],_0x175127['filters']));if(_0x1e5a1b[_0x264d('0x2d')][_0x264d('0x39')]){_0x299f46[_0x264d('0x36')]=_[_0x264d('0x3a')](_0x299f46[_0x264d('0x36')],{'$or':_['map'](_0x299f46[_0x264d('0x31')],function(_0x2f9c6e){var _0x34ad09={};_0x34ad09[_0x2f9c6e]={'$like':'%'+_0x1e5a1b[_0x264d('0x2d')][_0x264d('0x39')]+'%'};return _0x34ad09;})});}_0x299f46=_['merge']({},_0x299f46,_0x1e5a1b[_0x264d('0x3d')]);return _0x5eddbd[_0x264d('0x4e')](_0x299f46);}})[_0x264d('0x23')](function(_0x3bd3c6){if(_0x3bd3c6){_0x4fd88a=_0x3bd3c6[_0x264d('0x32')];if(!_0x1e5a1b['query']['hasOwnProperty'](_0x264d('0x34'))){_0x299f46['limit']=qs[_0x264d('0x1e')](_0x1e5a1b[_0x264d('0x2d')]['limit']);_0x299f46[_0x264d('0x1c')]=qs[_0x264d('0x1c')](_0x1e5a1b[_0x264d('0x2d')]['offset']);}return _0x5eddbd[_0x264d('0x4e')](_0x299f46);}})[_0x264d('0x23')](function(_0x561d8c){if(_0x561d8c){return _0x561d8c?{'count':_0x4fd88a,'rows':_0x561d8c}:null;}})['then'](respondWithResult(_0x5293ce,null))['catch'](handleError(_0x5293ce,null));};