Built motion from commit ddca4d0d.|2.5.47
[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 _0xfdc5=['squel','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','status','json','offset','undefined','limit','count','set','reject','save','update','destroy','then','sendStatus','error','stack','name','index','SugarcrmConfiguration','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','map','VIRTUAL','options','includeAll','include','findAll','catch','show','params','keys','find','create','body','getFields','findOne','SugarcrmField','pick','getSubjects','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash'];(function(_0xcc633c,_0x32c8f2){var _0x82f75=function(_0x5acbfa){while(--_0x5acbfa){_0xcc633c['push'](_0xcc633c['shift']());}};_0x82f75(++_0x32c8f2);}(_0xfdc5,0x98));var _0x5fdc=function(_0x5e6cb8,_0x16cf56){_0x5e6cb8=_0x5e6cb8-0x0;var _0x3faeb3=_0xfdc5[_0x5e6cb8];return _0x3faeb3;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5fdc('0x0'));var zipdir=require(_0x5fdc('0x1'));var jsonpatch=require(_0x5fdc('0x2'));var rp=require(_0x5fdc('0x3'));var moment=require(_0x5fdc('0x4'));var BPromise=require(_0x5fdc('0x5'));var Mustache=require(_0x5fdc('0x6'));var util=require(_0x5fdc('0x7'));var path=require(_0x5fdc('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5fdc('0x9'));var fs=require('fs');var fs_extra=require(_0x5fdc('0xa'));var _=require(_0x5fdc('0xb'));var squel=require(_0x5fdc('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5fdc('0xd'));var toCsv=require(_0x5fdc('0xe'));var querystring=require(_0x5fdc('0xf'));var Papa=require(_0x5fdc('0x10'));var Redis=require(_0x5fdc('0x11'));var authService=require(_0x5fdc('0x12'));var qs=require(_0x5fdc('0x13'));var as=require(_0x5fdc('0x14'));var hardwareService=require(_0x5fdc('0x15'));var logger=require(_0x5fdc('0x16'))(_0x5fdc('0x17'));var utils=require(_0x5fdc('0x18'));var config=require(_0x5fdc('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x5fdc('0x1a'))['db'];function respondWithStatusCode(_0x348c7a,_0x51f551){_0x51f551=_0x51f551||0xcc;return function(_0x4ce155){if(_0x4ce155){return _0x348c7a['sendStatus'](_0x51f551);}return _0x348c7a['status'](_0x51f551)[_0x5fdc('0x1b')]();};}function respondWithResult(_0x3789f6,_0x341b2c){_0x341b2c=_0x341b2c||0xc8;return function(_0x55e59c){if(_0x55e59c){return _0x3789f6[_0x5fdc('0x1c')](_0x341b2c)[_0x5fdc('0x1d')](_0x55e59c);}};}function respondWithFilteredResult(_0x10767a,_0x2e533b){return function(_0x23b014){if(_0x23b014){var _0x4b6323=typeof _0x2e533b[_0x5fdc('0x1e')]===_0x5fdc('0x1f')&&typeof _0x2e533b[_0x5fdc('0x20')]===_0x5fdc('0x1f');var _0x540e0c=_0x23b014[_0x5fdc('0x21')];var _0x1ebd27=_0x4b6323?0x0:_0x2e533b[_0x5fdc('0x1e')];var _0x204ed3=_0x4b6323?_0x23b014['count']:_0x2e533b[_0x5fdc('0x1e')]+_0x2e533b[_0x5fdc('0x20')];var _0x55e22b;if(_0x204ed3>=_0x540e0c){_0x204ed3=_0x540e0c;_0x55e22b=0xc8;}else{_0x55e22b=0xce;}_0x10767a['status'](_0x55e22b);return _0x10767a[_0x5fdc('0x22')]('Content-Range',_0x1ebd27+'-'+_0x204ed3+'/'+_0x540e0c)[_0x5fdc('0x1d')](_0x23b014);}return null;};}function patchUpdates(_0x32b0d0){return function(_0x345037){try{jsonpatch['apply'](_0x345037,_0x32b0d0,!![]);}catch(_0x2bcd37){return BPromise[_0x5fdc('0x23')](_0x2bcd37);}return _0x345037[_0x5fdc('0x24')]();};}function saveUpdates(_0x360e5e,_0x204d21){return function(_0x85518a){if(_0x85518a){return _0x85518a[_0x5fdc('0x25')](_0x360e5e)['then'](function(_0x17a519){return _0x17a519;});}return null;};}function removeEntity(_0x5e0c40,_0x3b212b){return function(_0x399fdf){if(_0x399fdf){return _0x399fdf[_0x5fdc('0x26')]()[_0x5fdc('0x27')](function(){_0x5e0c40[_0x5fdc('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x41fe60,_0x2c7d25){return function(_0x376993){if(!_0x376993){_0x41fe60[_0x5fdc('0x28')](0x194);}return _0x376993;};}function handleError(_0x4d4457,_0x2d2fe9){_0x2d2fe9=_0x2d2fe9||0x1f4;return function(_0x1d61f3){logger[_0x5fdc('0x29')](_0x1d61f3[_0x5fdc('0x2a')]);if(_0x1d61f3[_0x5fdc('0x2b')]){delete _0x1d61f3[_0x5fdc('0x2b')];}_0x4d4457[_0x5fdc('0x1c')](_0x2d2fe9)['send'](_0x1d61f3);};}exports[_0x5fdc('0x2c')]=function(_0x454aad,_0x24250f){var _0x5d4523={},_0x5b59b5={},_0x229e51={'count':0x0,'rows':[]};var _0x4a474f=_['map'](db[_0x5fdc('0x2d')][_0x5fdc('0x2e')],function(_0x4183dd){return{'name':_0x4183dd[_0x5fdc('0x2f')],'type':_0x4183dd[_0x5fdc('0x30')]['key']};});_0x5b59b5[_0x5fdc('0x31')]=_['map'](_0x4a474f,_0x5fdc('0x2b'));_0x5b59b5[_0x5fdc('0x32')]=_['keys'](_0x454aad['query']);_0x5b59b5[_0x5fdc('0x33')]=_[_0x5fdc('0x34')](_0x5b59b5[_0x5fdc('0x31')],_0x5b59b5[_0x5fdc('0x32')]);_0x5d4523[_0x5fdc('0x35')]=_[_0x5fdc('0x34')](_0x5b59b5['model'],qs[_0x5fdc('0x36')](_0x454aad[_0x5fdc('0x32')][_0x5fdc('0x36')]));_0x5d4523[_0x5fdc('0x35')]=_0x5d4523[_0x5fdc('0x35')][_0x5fdc('0x37')]?_0x5d4523[_0x5fdc('0x35')]:_0x5b59b5['model'];if(!_0x454aad[_0x5fdc('0x32')][_0x5fdc('0x38')](_0x5fdc('0x39'))){_0x5d4523[_0x5fdc('0x20')]=qs[_0x5fdc('0x20')](_0x454aad[_0x5fdc('0x32')][_0x5fdc('0x20')]);_0x5d4523[_0x5fdc('0x1e')]=qs[_0x5fdc('0x1e')](_0x454aad['query'][_0x5fdc('0x1e')]);}_0x5d4523[_0x5fdc('0x3a')]=qs[_0x5fdc('0x3b')](_0x454aad[_0x5fdc('0x32')]['sort']);_0x5d4523[_0x5fdc('0x3c')]=qs[_0x5fdc('0x33')](_['pick'](_0x454aad[_0x5fdc('0x32')],_0x5b59b5['filters']),_0x4a474f);if(_0x454aad[_0x5fdc('0x32')][_0x5fdc('0x3d')]){_0x5d4523['where']=_[_0x5fdc('0x3e')](_0x5d4523['where'],{'$or':_[_0x5fdc('0x3f')](_0x4a474f,function(_0x596fb0){if(_0x596fb0[_0x5fdc('0x30')]!==_0x5fdc('0x40')){var _0xe8557b={};_0xe8557b[_0x596fb0[_0x5fdc('0x2b')]]={'$like':'%'+_0x454aad[_0x5fdc('0x32')][_0x5fdc('0x3d')]+'%'};return _0xe8557b;}})});}_0x5d4523=_[_0x5fdc('0x3e')]({},_0x5d4523,_0x454aad[_0x5fdc('0x41')]);var _0x1cd092={'where':_0x5d4523[_0x5fdc('0x3c')]};return db[_0x5fdc('0x2d')][_0x5fdc('0x21')](_0x1cd092)['then'](function(_0xe2e4ba){_0x229e51[_0x5fdc('0x21')]=_0xe2e4ba;if(_0x454aad[_0x5fdc('0x32')][_0x5fdc('0x42')]){_0x5d4523[_0x5fdc('0x43')]=[{'all':!![]}];}return db[_0x5fdc('0x2d')][_0x5fdc('0x44')](_0x5d4523);})['then'](function(_0x4bd0d4){_0x229e51['rows']=_0x4bd0d4;return _0x229e51;})[_0x5fdc('0x27')](respondWithFilteredResult(_0x24250f,_0x5d4523))[_0x5fdc('0x45')](handleError(_0x24250f,null));};exports[_0x5fdc('0x46')]=function(_0xc148de,_0x9a9a99){var _0x3199c3={'raw':![],'where':{'id':_0xc148de[_0x5fdc('0x47')]['id']}},_0x4f9f78={};_0x4f9f78['model']=_[_0x5fdc('0x48')](db[_0x5fdc('0x2d')]['rawAttributes']);_0x4f9f78[_0x5fdc('0x32')]=_[_0x5fdc('0x48')](_0xc148de['query']);_0x4f9f78[_0x5fdc('0x33')]=_[_0x5fdc('0x34')](_0x4f9f78['model'],_0x4f9f78[_0x5fdc('0x32')]);_0x3199c3[_0x5fdc('0x35')]=_[_0x5fdc('0x34')](_0x4f9f78[_0x5fdc('0x31')],qs[_0x5fdc('0x36')](_0xc148de[_0x5fdc('0x32')][_0x5fdc('0x36')]));_0x3199c3['attributes']=_0x3199c3[_0x5fdc('0x35')][_0x5fdc('0x37')]?_0x3199c3[_0x5fdc('0x35')]:_0x4f9f78['model'];if(_0xc148de[_0x5fdc('0x32')]['includeAll']){_0x3199c3[_0x5fdc('0x43')]=[{'all':!![]}];}_0x3199c3=_['merge']({},_0x3199c3,_0xc148de['options']);return db[_0x5fdc('0x2d')][_0x5fdc('0x49')](_0x3199c3)['then'](handleEntityNotFound(_0x9a9a99,null))[_0x5fdc('0x27')](respondWithResult(_0x9a9a99,null))[_0x5fdc('0x45')](handleError(_0x9a9a99,null));};exports[_0x5fdc('0x4a')]=function(_0xeca2e6,_0x22e391){return db['SugarcrmConfiguration'][_0x5fdc('0x4a')](_0xeca2e6[_0x5fdc('0x4b')],{})[_0x5fdc('0x27')](respondWithResult(_0x22e391,0xc9))['catch'](handleError(_0x22e391,null));};exports[_0x5fdc('0x25')]=function(_0x4e022c,_0x147d81){if(_0x4e022c[_0x5fdc('0x4b')]['id']){delete _0x4e022c[_0x5fdc('0x4b')]['id'];}return db[_0x5fdc('0x2d')][_0x5fdc('0x49')]({'where':{'id':_0x4e022c[_0x5fdc('0x47')]['id']}})['then'](handleEntityNotFound(_0x147d81,null))['then'](saveUpdates(_0x4e022c[_0x5fdc('0x4b')],null))[_0x5fdc('0x27')](respondWithResult(_0x147d81,null))[_0x5fdc('0x45')](handleError(_0x147d81,null));};exports['destroy']=function(_0x369fe9,_0x56cd10){return db['SugarcrmConfiguration'][_0x5fdc('0x49')]({'where':{'id':_0x369fe9[_0x5fdc('0x47')]['id']}})[_0x5fdc('0x27')](handleEntityNotFound(_0x56cd10,null))[_0x5fdc('0x27')](removeEntity(_0x56cd10,null))['catch'](handleError(_0x56cd10,null));};exports[_0x5fdc('0x4c')]=function(_0x1d3af0,_0x207968,_0x400f35){var _0x364474={};var _0x5890dd={};var _0x61fafd;var _0x39e040;return db[_0x5fdc('0x2d')][_0x5fdc('0x4d')]({'where':{'id':_0x1d3af0['params']['id']}})[_0x5fdc('0x27')](handleEntityNotFound(_0x207968,null))[_0x5fdc('0x27')](function(_0x2ed465){if(_0x2ed465){_0x61fafd=_0x2ed465;_0x5890dd[_0x5fdc('0x31')]=_[_0x5fdc('0x48')](db[_0x5fdc('0x4e')][_0x5fdc('0x2e')]);_0x5890dd['query']=_[_0x5fdc('0x48')](_0x1d3af0[_0x5fdc('0x32')]);_0x5890dd['filters']=_[_0x5fdc('0x34')](_0x5890dd[_0x5fdc('0x31')],_0x5890dd[_0x5fdc('0x32')]);_0x364474['attributes']=_[_0x5fdc('0x34')](_0x5890dd[_0x5fdc('0x31')],qs[_0x5fdc('0x36')](_0x1d3af0[_0x5fdc('0x32')][_0x5fdc('0x36')]));_0x364474[_0x5fdc('0x35')]=_0x364474[_0x5fdc('0x35')]['length']?_0x364474[_0x5fdc('0x35')]:_0x5890dd['model'];_0x364474['order']=qs[_0x5fdc('0x3b')](_0x1d3af0['query']['sort']);_0x364474[_0x5fdc('0x3c')]=qs[_0x5fdc('0x33')](_[_0x5fdc('0x4f')](_0x1d3af0[_0x5fdc('0x32')],_0x5890dd[_0x5fdc('0x33')]));if(_0x1d3af0[_0x5fdc('0x32')]['filter']){_0x364474[_0x5fdc('0x3c')]=_[_0x5fdc('0x3e')](_0x364474[_0x5fdc('0x3c')],{'$or':_[_0x5fdc('0x3f')](_0x364474[_0x5fdc('0x35')],function(_0x23f1d0){var _0x2e80e1={};_0x2e80e1[_0x23f1d0]={'$like':'%'+_0x1d3af0['query'][_0x5fdc('0x3d')]+'%'};return _0x2e80e1;})});}_0x364474=_[_0x5fdc('0x3e')]({},_0x364474,_0x1d3af0[_0x5fdc('0x41')]);return _0x61fafd[_0x5fdc('0x4c')](_0x364474);}})['then'](function(_0x74ec9c){if(_0x74ec9c){_0x39e040=_0x74ec9c[_0x5fdc('0x37')];if(!_0x1d3af0[_0x5fdc('0x32')][_0x5fdc('0x38')]('nolimit')){_0x364474['limit']=qs[_0x5fdc('0x20')](_0x1d3af0['query']['limit']);_0x364474[_0x5fdc('0x1e')]=qs[_0x5fdc('0x1e')](_0x1d3af0[_0x5fdc('0x32')][_0x5fdc('0x1e')]);}return _0x61fafd[_0x5fdc('0x4c')](_0x364474);}})['then'](function(_0x490388){if(_0x490388){return _0x490388?{'count':_0x39e040,'rows':_0x490388}:null;}})[_0x5fdc('0x27')](respondWithResult(_0x207968,null))[_0x5fdc('0x45')](handleError(_0x207968,null));};exports[_0x5fdc('0x50')]=function(_0xd7fd15,_0x415317,_0x27b433){var _0x40967f={};var _0x417b34={};var _0x39b350;var _0x406efa;return db[_0x5fdc('0x2d')][_0x5fdc('0x4d')]({'where':{'id':_0xd7fd15[_0x5fdc('0x47')]['id']}})['then'](handleEntityNotFound(_0x415317,null))[_0x5fdc('0x27')](function(_0x41954f){if(_0x41954f){_0x39b350=_0x41954f;_0x417b34[_0x5fdc('0x31')]=_['keys'](db['SugarcrmField'][_0x5fdc('0x2e')]);_0x417b34[_0x5fdc('0x32')]=_[_0x5fdc('0x48')](_0xd7fd15[_0x5fdc('0x32')]);_0x417b34[_0x5fdc('0x33')]=_[_0x5fdc('0x34')](_0x417b34[_0x5fdc('0x31')],_0x417b34['query']);_0x40967f[_0x5fdc('0x35')]=_[_0x5fdc('0x34')](_0x417b34[_0x5fdc('0x31')],qs[_0x5fdc('0x36')](_0xd7fd15[_0x5fdc('0x32')][_0x5fdc('0x36')]));_0x40967f['attributes']=_0x40967f[_0x5fdc('0x35')]['length']?_0x40967f['attributes']:_0x417b34[_0x5fdc('0x31')];_0x40967f[_0x5fdc('0x3a')]=qs[_0x5fdc('0x3b')](_0xd7fd15[_0x5fdc('0x32')][_0x5fdc('0x3b')]);_0x40967f[_0x5fdc('0x3c')]=qs[_0x5fdc('0x33')](_[_0x5fdc('0x4f')](_0xd7fd15[_0x5fdc('0x32')],_0x417b34[_0x5fdc('0x33')]));if(_0xd7fd15[_0x5fdc('0x32')][_0x5fdc('0x3d')]){_0x40967f[_0x5fdc('0x3c')]=_[_0x5fdc('0x3e')](_0x40967f[_0x5fdc('0x3c')],{'$or':_[_0x5fdc('0x3f')](_0x40967f[_0x5fdc('0x35')],function(_0x311be8){var _0x25ffbe={};_0x25ffbe[_0x311be8]={'$like':'%'+_0xd7fd15['query']['filter']+'%'};return _0x25ffbe;})});}_0x40967f=_[_0x5fdc('0x3e')]({},_0x40967f,_0xd7fd15[_0x5fdc('0x41')]);return _0x39b350[_0x5fdc('0x50')](_0x40967f);}})[_0x5fdc('0x27')](function(_0x359da2){if(_0x359da2){_0x406efa=_0x359da2[_0x5fdc('0x37')];if(!_0xd7fd15[_0x5fdc('0x32')][_0x5fdc('0x38')](_0x5fdc('0x39'))){_0x40967f[_0x5fdc('0x20')]=qs[_0x5fdc('0x20')](_0xd7fd15[_0x5fdc('0x32')]['limit']);_0x40967f[_0x5fdc('0x1e')]=qs[_0x5fdc('0x1e')](_0xd7fd15[_0x5fdc('0x32')][_0x5fdc('0x1e')]);}return _0x39b350[_0x5fdc('0x50')](_0x40967f);}})['then'](function(_0x3598be){if(_0x3598be){return _0x3598be?{'count':_0x406efa,'rows':_0x3598be}:null;}})['then'](respondWithResult(_0x415317,null))[_0x5fdc('0x45')](handleError(_0x415317,null));};exports[_0x5fdc('0x51')]=function(_0x2e57a9,_0x1766f3,_0xb266b6){var _0x9a6f54={};var _0x3fc99b={};var _0x37fed4;var _0xea0e68;return db[_0x5fdc('0x2d')][_0x5fdc('0x4d')]({'where':{'id':_0x2e57a9[_0x5fdc('0x47')]['id']}})[_0x5fdc('0x27')](handleEntityNotFound(_0x1766f3,null))[_0x5fdc('0x27')](function(_0xf2aa20){if(_0xf2aa20){_0x37fed4=_0xf2aa20;_0x3fc99b[_0x5fdc('0x31')]=_[_0x5fdc('0x48')](db[_0x5fdc('0x4e')][_0x5fdc('0x2e')]);_0x3fc99b['query']=_[_0x5fdc('0x48')](_0x2e57a9['query']);_0x3fc99b['filters']=_[_0x5fdc('0x34')](_0x3fc99b[_0x5fdc('0x31')],_0x3fc99b[_0x5fdc('0x32')]);_0x9a6f54[_0x5fdc('0x35')]=_['intersection'](_0x3fc99b['model'],qs['fields'](_0x2e57a9[_0x5fdc('0x32')][_0x5fdc('0x36')]));_0x9a6f54['attributes']=_0x9a6f54[_0x5fdc('0x35')][_0x5fdc('0x37')]?_0x9a6f54[_0x5fdc('0x35')]:_0x3fc99b[_0x5fdc('0x31')];_0x9a6f54[_0x5fdc('0x3a')]=qs[_0x5fdc('0x3b')](_0x2e57a9[_0x5fdc('0x32')][_0x5fdc('0x3b')]);_0x9a6f54[_0x5fdc('0x3c')]=qs['filters'](_['pick'](_0x2e57a9['query'],_0x3fc99b[_0x5fdc('0x33')]));if(_0x2e57a9[_0x5fdc('0x32')][_0x5fdc('0x3d')]){_0x9a6f54[_0x5fdc('0x3c')]=_[_0x5fdc('0x3e')](_0x9a6f54[_0x5fdc('0x3c')],{'$or':_['map'](_0x9a6f54[_0x5fdc('0x35')],function(_0x3fbdbc){var _0x255023={};_0x255023[_0x3fbdbc]={'$like':'%'+_0x2e57a9[_0x5fdc('0x32')][_0x5fdc('0x3d')]+'%'};return _0x255023;})});}_0x9a6f54=_[_0x5fdc('0x3e')]({},_0x9a6f54,_0x2e57a9[_0x5fdc('0x41')]);return _0x37fed4[_0x5fdc('0x51')](_0x9a6f54);}})['then'](function(_0x48426d){if(_0x48426d){_0xea0e68=_0x48426d[_0x5fdc('0x37')];if(!_0x2e57a9[_0x5fdc('0x32')][_0x5fdc('0x38')]('nolimit')){_0x9a6f54['limit']=qs[_0x5fdc('0x20')](_0x2e57a9[_0x5fdc('0x32')][_0x5fdc('0x20')]);_0x9a6f54[_0x5fdc('0x1e')]=qs[_0x5fdc('0x1e')](_0x2e57a9['query'][_0x5fdc('0x1e')]);}return _0x37fed4[_0x5fdc('0x51')](_0x9a6f54);}})[_0x5fdc('0x27')](function(_0x4988d0){if(_0x4988d0){return _0x4988d0?{'count':_0xea0e68,'rows':_0x4988d0}:null;}})[_0x5fdc('0x27')](respondWithResult(_0x1766f3,null))['catch'](handleError(_0x1766f3,null));};