Built motion from commit eddce310.|2.6.12
[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 _0x01c0=['merge','includeAll','include','findAll','rows','catch','keys','rawAttributes','options','find','create','body','params','SugarcrmField','getFields','nolimit','getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','Content-Range','json','apply','reject','save','update','destroy','then','error','stack','name','map','SugarcrmConfiguration','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter'];(function(_0x2ca090,_0x507fe9){var _0x3ae46b=function(_0x541cad){while(--_0x541cad){_0x2ca090['push'](_0x2ca090['shift']());}};_0x3ae46b(++_0x507fe9);}(_0x01c0,0x100));var _0x001c=function(_0x29d94e,_0xf386d6){_0x29d94e=_0x29d94e-0x0;var _0x106237=_0x01c0[_0x29d94e];return _0x106237;};'use strict';var emlformat=require(_0x001c('0x0'));var rimraf=require(_0x001c('0x1'));var zipdir=require(_0x001c('0x2'));var jsonpatch=require(_0x001c('0x3'));var rp=require(_0x001c('0x4'));var moment=require('moment');var BPromise=require(_0x001c('0x5'));var Mustache=require('mustache');var util=require(_0x001c('0x6'));var path=require('path');var sox=require(_0x001c('0x7'));var csv=require(_0x001c('0x8'));var ejs=require(_0x001c('0x9'));var fs=require('fs');var fs_extra=require(_0x001c('0xa'));var _=require(_0x001c('0xb'));var squel=require(_0x001c('0xc'));var crypto=require(_0x001c('0xd'));var jsforce=require(_0x001c('0xe'));var deskjs=require(_0x001c('0xf'));var toCsv=require(_0x001c('0x8'));var querystring=require(_0x001c('0x10'));var Papa=require(_0x001c('0x11'));var Redis=require('ioredis');var authService=require(_0x001c('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x001c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x001c('0x14'))(_0x001c('0x15'));var utils=require('../../config/utils');var config=require(_0x001c('0x16'));var licenseUtil=require(_0x001c('0x17'));var db=require(_0x001c('0x18'))['db'];function respondWithStatusCode(_0x33f02e,_0x2bc19a){_0x2bc19a=_0x2bc19a||0xcc;return function(_0x3b7525){if(_0x3b7525){return _0x33f02e[_0x001c('0x19')](_0x2bc19a);}return _0x33f02e[_0x001c('0x1a')](_0x2bc19a)['end']();};}function respondWithResult(_0x2d59ff,_0x23fb45){_0x23fb45=_0x23fb45||0xc8;return function(_0x29cd0d){if(_0x29cd0d){return _0x2d59ff[_0x001c('0x1a')](_0x23fb45)['json'](_0x29cd0d);}};}function respondWithFilteredResult(_0x48d381,_0x26f9c5){return function(_0x123480){if(_0x123480){var _0x50481f=typeof _0x26f9c5[_0x001c('0x1b')]===_0x001c('0x1c')&&typeof _0x26f9c5[_0x001c('0x1d')]===_0x001c('0x1c');var _0x58961e=_0x123480[_0x001c('0x1e')];var _0x1025f7=_0x50481f?0x0:_0x26f9c5['offset'];var _0x1c0dee=_0x50481f?_0x123480[_0x001c('0x1e')]:_0x26f9c5['offset']+_0x26f9c5[_0x001c('0x1d')];var _0xe32bd9;if(_0x1c0dee>=_0x58961e){_0x1c0dee=_0x58961e;_0xe32bd9=0xc8;}else{_0xe32bd9=0xce;}_0x48d381[_0x001c('0x1a')](_0xe32bd9);return _0x48d381['set'](_0x001c('0x1f'),_0x1025f7+'-'+_0x1c0dee+'/'+_0x58961e)[_0x001c('0x20')](_0x123480);}return null;};}function patchUpdates(_0x40870f){return function(_0x16cc38){try{jsonpatch[_0x001c('0x21')](_0x16cc38,_0x40870f,!![]);}catch(_0x361bfb){return BPromise[_0x001c('0x22')](_0x361bfb);}return _0x16cc38[_0x001c('0x23')]();};}function saveUpdates(_0x1e61ef,_0x1174bb){return function(_0x1125bc){if(_0x1125bc){return _0x1125bc[_0x001c('0x24')](_0x1e61ef)['then'](function(_0x7e6407){return _0x7e6407;});}return null;};}function removeEntity(_0x52391f,_0x2a38c9){return function(_0x298cd7){if(_0x298cd7){return _0x298cd7[_0x001c('0x25')]()[_0x001c('0x26')](function(){_0x52391f[_0x001c('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5bccd2,_0x1e5cf4){return function(_0x5ceb36){if(!_0x5ceb36){_0x5bccd2[_0x001c('0x19')](0x194);}return _0x5ceb36;};}function handleError(_0x120bac,_0x17bef7){_0x17bef7=_0x17bef7||0x1f4;return function(_0x5e15e2){logger[_0x001c('0x27')](_0x5e15e2[_0x001c('0x28')]);if(_0x5e15e2['name']){delete _0x5e15e2[_0x001c('0x29')];}_0x120bac[_0x001c('0x1a')](_0x17bef7)['send'](_0x5e15e2);};}exports['index']=function(_0x20e1ab,_0xc95f8e){var _0x3772ba={},_0x14ce03={},_0x118683={'count':0x0,'rows':[]};var _0x31c9cf=_[_0x001c('0x2a')](db[_0x001c('0x2b')]['rawAttributes'],function(_0x547de2){return{'name':_0x547de2[_0x001c('0x2c')],'type':_0x547de2[_0x001c('0x2d')][_0x001c('0x2e')]};});_0x14ce03[_0x001c('0x2f')]=_[_0x001c('0x2a')](_0x31c9cf,_0x001c('0x29'));_0x14ce03[_0x001c('0x30')]=_['keys'](_0x20e1ab['query']);_0x14ce03[_0x001c('0x31')]=_[_0x001c('0x32')](_0x14ce03['model'],_0x14ce03['query']);_0x3772ba[_0x001c('0x33')]=_['intersection'](_0x14ce03[_0x001c('0x2f')],qs[_0x001c('0x34')](_0x20e1ab[_0x001c('0x30')]['fields']));_0x3772ba['attributes']=_0x3772ba['attributes'][_0x001c('0x35')]?_0x3772ba['attributes']:_0x14ce03[_0x001c('0x2f')];if(!_0x20e1ab[_0x001c('0x30')][_0x001c('0x36')]('nolimit')){_0x3772ba[_0x001c('0x1d')]=qs[_0x001c('0x1d')](_0x20e1ab['query']['limit']);_0x3772ba[_0x001c('0x1b')]=qs['offset'](_0x20e1ab['query'][_0x001c('0x1b')]);}_0x3772ba[_0x001c('0x37')]=qs['sort'](_0x20e1ab[_0x001c('0x30')][_0x001c('0x38')]);_0x3772ba[_0x001c('0x39')]=qs[_0x001c('0x31')](_[_0x001c('0x3a')](_0x20e1ab[_0x001c('0x30')],_0x14ce03[_0x001c('0x31')]),_0x31c9cf);if(_0x20e1ab[_0x001c('0x30')][_0x001c('0x3b')]){_0x3772ba[_0x001c('0x39')]=_[_0x001c('0x3c')](_0x3772ba['where'],{'$or':_[_0x001c('0x2a')](_0x31c9cf,function(_0x242dd6){if(_0x242dd6[_0x001c('0x2d')]!=='VIRTUAL'){var _0x21cae3={};_0x21cae3[_0x242dd6['name']]={'$like':'%'+_0x20e1ab[_0x001c('0x30')]['filter']+'%'};return _0x21cae3;}})});}_0x3772ba=_[_0x001c('0x3c')]({},_0x3772ba,_0x20e1ab['options']);var _0x1b5866={'where':_0x3772ba[_0x001c('0x39')]};return db[_0x001c('0x2b')]['count'](_0x1b5866)[_0x001c('0x26')](function(_0x49317d){_0x118683[_0x001c('0x1e')]=_0x49317d;if(_0x20e1ab[_0x001c('0x30')][_0x001c('0x3d')]){_0x3772ba[_0x001c('0x3e')]=[{'all':!![]}];}return db[_0x001c('0x2b')][_0x001c('0x3f')](_0x3772ba);})[_0x001c('0x26')](function(_0x25bca6){_0x118683[_0x001c('0x40')]=_0x25bca6;return _0x118683;})[_0x001c('0x26')](respondWithFilteredResult(_0xc95f8e,_0x3772ba))[_0x001c('0x41')](handleError(_0xc95f8e,null));};exports['show']=function(_0x4cce45,_0x22ae4c){var _0xbef03c={'raw':![],'where':{'id':_0x4cce45['params']['id']}},_0x20d7a8={};_0x20d7a8[_0x001c('0x2f')]=_[_0x001c('0x42')](db[_0x001c('0x2b')][_0x001c('0x43')]);_0x20d7a8[_0x001c('0x30')]=_['keys'](_0x4cce45[_0x001c('0x30')]);_0x20d7a8[_0x001c('0x31')]=_[_0x001c('0x32')](_0x20d7a8['model'],_0x20d7a8[_0x001c('0x30')]);_0xbef03c[_0x001c('0x33')]=_[_0x001c('0x32')](_0x20d7a8[_0x001c('0x2f')],qs['fields'](_0x4cce45[_0x001c('0x30')][_0x001c('0x34')]));_0xbef03c[_0x001c('0x33')]=_0xbef03c[_0x001c('0x33')][_0x001c('0x35')]?_0xbef03c[_0x001c('0x33')]:_0x20d7a8['model'];if(_0x4cce45[_0x001c('0x30')][_0x001c('0x3d')]){_0xbef03c[_0x001c('0x3e')]=[{'all':!![]}];}_0xbef03c=_[_0x001c('0x3c')]({},_0xbef03c,_0x4cce45[_0x001c('0x44')]);return db[_0x001c('0x2b')][_0x001c('0x45')](_0xbef03c)[_0x001c('0x26')](handleEntityNotFound(_0x22ae4c,null))[_0x001c('0x26')](respondWithResult(_0x22ae4c,null))['catch'](handleError(_0x22ae4c,null));};exports['create']=function(_0x2e588a,_0x2d1c78){return db[_0x001c('0x2b')][_0x001c('0x46')](_0x2e588a[_0x001c('0x47')],{})[_0x001c('0x26')](respondWithResult(_0x2d1c78,0xc9))[_0x001c('0x41')](handleError(_0x2d1c78,null));};exports[_0x001c('0x24')]=function(_0x15bc63,_0xaa6f0a){if(_0x15bc63[_0x001c('0x47')]['id']){delete _0x15bc63[_0x001c('0x47')]['id'];}return db['SugarcrmConfiguration'][_0x001c('0x45')]({'where':{'id':_0x15bc63[_0x001c('0x48')]['id']}})[_0x001c('0x26')](handleEntityNotFound(_0xaa6f0a,null))[_0x001c('0x26')](saveUpdates(_0x15bc63['body'],null))[_0x001c('0x26')](respondWithResult(_0xaa6f0a,null))[_0x001c('0x41')](handleError(_0xaa6f0a,null));};exports[_0x001c('0x25')]=function(_0x3c8878,_0x49c78d){return db[_0x001c('0x2b')][_0x001c('0x45')]({'where':{'id':_0x3c8878['params']['id']}})[_0x001c('0x26')](handleEntityNotFound(_0x49c78d,null))[_0x001c('0x26')](removeEntity(_0x49c78d,null))[_0x001c('0x41')](handleError(_0x49c78d,null));};exports['getFields']=function(_0x11cbb6,_0x371f17,_0xfd318e){var _0xc64eb1={};var _0x1a09a8={};var _0x4d06ae;var _0x2e231d;return db[_0x001c('0x2b')]['findOne']({'where':{'id':_0x11cbb6[_0x001c('0x48')]['id']}})[_0x001c('0x26')](handleEntityNotFound(_0x371f17,null))[_0x001c('0x26')](function(_0x4e3db6){if(_0x4e3db6){_0x4d06ae=_0x4e3db6;_0x1a09a8[_0x001c('0x2f')]=_[_0x001c('0x42')](db[_0x001c('0x49')][_0x001c('0x43')]);_0x1a09a8[_0x001c('0x30')]=_[_0x001c('0x42')](_0x11cbb6[_0x001c('0x30')]);_0x1a09a8[_0x001c('0x31')]=_['intersection'](_0x1a09a8[_0x001c('0x2f')],_0x1a09a8[_0x001c('0x30')]);_0xc64eb1[_0x001c('0x33')]=_['intersection'](_0x1a09a8[_0x001c('0x2f')],qs[_0x001c('0x34')](_0x11cbb6[_0x001c('0x30')]['fields']));_0xc64eb1[_0x001c('0x33')]=_0xc64eb1[_0x001c('0x33')][_0x001c('0x35')]?_0xc64eb1['attributes']:_0x1a09a8[_0x001c('0x2f')];_0xc64eb1[_0x001c('0x37')]=qs[_0x001c('0x38')](_0x11cbb6[_0x001c('0x30')][_0x001c('0x38')]);_0xc64eb1[_0x001c('0x39')]=qs['filters'](_[_0x001c('0x3a')](_0x11cbb6[_0x001c('0x30')],_0x1a09a8[_0x001c('0x31')]));if(_0x11cbb6[_0x001c('0x30')][_0x001c('0x3b')]){_0xc64eb1[_0x001c('0x39')]=_[_0x001c('0x3c')](_0xc64eb1[_0x001c('0x39')],{'$or':_['map'](_0xc64eb1['attributes'],function(_0x25aae8){var _0x18e844={};_0x18e844[_0x25aae8]={'$like':'%'+_0x11cbb6[_0x001c('0x30')]['filter']+'%'};return _0x18e844;})});}_0xc64eb1=_[_0x001c('0x3c')]({},_0xc64eb1,_0x11cbb6[_0x001c('0x44')]);return _0x4d06ae[_0x001c('0x4a')](_0xc64eb1);}})[_0x001c('0x26')](function(_0x4b64e2){if(_0x4b64e2){_0x2e231d=_0x4b64e2[_0x001c('0x35')];if(!_0x11cbb6[_0x001c('0x30')][_0x001c('0x36')](_0x001c('0x4b'))){_0xc64eb1[_0x001c('0x1d')]=qs[_0x001c('0x1d')](_0x11cbb6['query'][_0x001c('0x1d')]);_0xc64eb1['offset']=qs['offset'](_0x11cbb6[_0x001c('0x30')][_0x001c('0x1b')]);}return _0x4d06ae[_0x001c('0x4a')](_0xc64eb1);}})[_0x001c('0x26')](function(_0x21e602){if(_0x21e602){return _0x21e602?{'count':_0x2e231d,'rows':_0x21e602}:null;}})[_0x001c('0x26')](respondWithResult(_0x371f17,null))['catch'](handleError(_0x371f17,null));};exports[_0x001c('0x4c')]=function(_0x29cb56,_0x13d3d9,_0x49aa46){var _0x220631={};var _0x5ba514={};var _0x177831;var _0xae8aa9;return db[_0x001c('0x2b')][_0x001c('0x4d')]({'where':{'id':_0x29cb56[_0x001c('0x48')]['id']}})[_0x001c('0x26')](handleEntityNotFound(_0x13d3d9,null))[_0x001c('0x26')](function(_0x24cadd){if(_0x24cadd){_0x177831=_0x24cadd;_0x5ba514[_0x001c('0x2f')]=_[_0x001c('0x42')](db['SugarcrmField'][_0x001c('0x43')]);_0x5ba514[_0x001c('0x30')]=_['keys'](_0x29cb56['query']);_0x5ba514['filters']=_[_0x001c('0x32')](_0x5ba514['model'],_0x5ba514[_0x001c('0x30')]);_0x220631[_0x001c('0x33')]=_[_0x001c('0x32')](_0x5ba514[_0x001c('0x2f')],qs['fields'](_0x29cb56[_0x001c('0x30')][_0x001c('0x34')]));_0x220631['attributes']=_0x220631[_0x001c('0x33')]['length']?_0x220631['attributes']:_0x5ba514[_0x001c('0x2f')];_0x220631[_0x001c('0x37')]=qs[_0x001c('0x38')](_0x29cb56[_0x001c('0x30')][_0x001c('0x38')]);_0x220631['where']=qs[_0x001c('0x31')](_['pick'](_0x29cb56['query'],_0x5ba514[_0x001c('0x31')]));if(_0x29cb56[_0x001c('0x30')]['filter']){_0x220631['where']=_['merge'](_0x220631[_0x001c('0x39')],{'$or':_[_0x001c('0x2a')](_0x220631['attributes'],function(_0x41b149){var _0x360785={};_0x360785[_0x41b149]={'$like':'%'+_0x29cb56[_0x001c('0x30')][_0x001c('0x3b')]+'%'};return _0x360785;})});}_0x220631=_[_0x001c('0x3c')]({},_0x220631,_0x29cb56[_0x001c('0x44')]);return _0x177831[_0x001c('0x4c')](_0x220631);}})[_0x001c('0x26')](function(_0x35662f){if(_0x35662f){_0xae8aa9=_0x35662f[_0x001c('0x35')];if(!_0x29cb56[_0x001c('0x30')][_0x001c('0x36')](_0x001c('0x4b'))){_0x220631['limit']=qs[_0x001c('0x1d')](_0x29cb56[_0x001c('0x30')]['limit']);_0x220631[_0x001c('0x1b')]=qs[_0x001c('0x1b')](_0x29cb56[_0x001c('0x30')][_0x001c('0x1b')]);}return _0x177831[_0x001c('0x4c')](_0x220631);}})[_0x001c('0x26')](function(_0x14a7ad){if(_0x14a7ad){return _0x14a7ad?{'count':_0xae8aa9,'rows':_0x14a7ad}:null;}})['then'](respondWithResult(_0x13d3d9,null))['catch'](handleError(_0x13d3d9,null));};exports[_0x001c('0x4e')]=function(_0x455551,_0x1552ac,_0x1aedbf){var _0x2c3a37={};var _0x2682ff={};var _0x19c2dc;var _0x5a5082;return db[_0x001c('0x2b')][_0x001c('0x4d')]({'where':{'id':_0x455551[_0x001c('0x48')]['id']}})[_0x001c('0x26')](handleEntityNotFound(_0x1552ac,null))['then'](function(_0x764973){if(_0x764973){_0x19c2dc=_0x764973;_0x2682ff[_0x001c('0x2f')]=_[_0x001c('0x42')](db['SugarcrmField'][_0x001c('0x43')]);_0x2682ff[_0x001c('0x30')]=_[_0x001c('0x42')](_0x455551['query']);_0x2682ff['filters']=_[_0x001c('0x32')](_0x2682ff[_0x001c('0x2f')],_0x2682ff[_0x001c('0x30')]);_0x2c3a37['attributes']=_['intersection'](_0x2682ff['model'],qs['fields'](_0x455551['query'][_0x001c('0x34')]));_0x2c3a37[_0x001c('0x33')]=_0x2c3a37[_0x001c('0x33')][_0x001c('0x35')]?_0x2c3a37['attributes']:_0x2682ff[_0x001c('0x2f')];_0x2c3a37['order']=qs[_0x001c('0x38')](_0x455551[_0x001c('0x30')]['sort']);_0x2c3a37[_0x001c('0x39')]=qs[_0x001c('0x31')](_['pick'](_0x455551[_0x001c('0x30')],_0x2682ff[_0x001c('0x31')]));if(_0x455551[_0x001c('0x30')][_0x001c('0x3b')]){_0x2c3a37['where']=_[_0x001c('0x3c')](_0x2c3a37[_0x001c('0x39')],{'$or':_['map'](_0x2c3a37[_0x001c('0x33')],function(_0x2faaf3){var _0x510f4e={};_0x510f4e[_0x2faaf3]={'$like':'%'+_0x455551['query'][_0x001c('0x3b')]+'%'};return _0x510f4e;})});}_0x2c3a37=_[_0x001c('0x3c')]({},_0x2c3a37,_0x455551[_0x001c('0x44')]);return _0x19c2dc[_0x001c('0x4e')](_0x2c3a37);}})[_0x001c('0x26')](function(_0x37df41){if(_0x37df41){_0x5a5082=_0x37df41[_0x001c('0x35')];if(!_0x455551['query'][_0x001c('0x36')](_0x001c('0x4b'))){_0x2c3a37['limit']=qs[_0x001c('0x1d')](_0x455551[_0x001c('0x30')]['limit']);_0x2c3a37[_0x001c('0x1b')]=qs[_0x001c('0x1b')](_0x455551['query'][_0x001c('0x1b')]);}return _0x19c2dc[_0x001c('0x4e')](_0x2c3a37);}})[_0x001c('0x26')](function(_0x99293d){if(_0x99293d){return _0x99293d?{'count':_0x5a5082,'rows':_0x99293d}:null;}})['then'](respondWithResult(_0x1552ac,null))[_0x001c('0x41')](handleError(_0x1552ac,null));};