b0d45ad8fa47ae11ca9ffd8fc00d544228d8eb67
[motion2.git] / server / api / analyticTreeReport / analyticTreeReport.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 _0x2774=['sort','where','filter','merge','options','includeAll','include','findAll','rows','show','params','length','find','catch','create','body','update','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','end','undefined','count','offset','limit','status','json','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','hasOwnProperty','order'];(function(_0x4c3ceb,_0x110795){var _0x5f4843=function(_0x2588c3){while(--_0x2588c3){_0x4c3ceb['push'](_0x4c3ceb['shift']());}};_0x5f4843(++_0x110795);}(_0x2774,0xe6));var _0x4277=function(_0x240c0b,_0x82cd2e){_0x240c0b=_0x240c0b-0x0;var _0x5ad1fb=_0x2774[_0x240c0b];return _0x5ad1fb;};'use strict';var emlformat=require(_0x4277('0x0'));var rimraf=require(_0x4277('0x1'));var zipdir=require(_0x4277('0x2'));var jsonpatch=require(_0x4277('0x3'));var rp=require('request-promise');var moment=require(_0x4277('0x4'));var BPromise=require(_0x4277('0x5'));var Mustache=require(_0x4277('0x6'));var util=require(_0x4277('0x7'));var path=require(_0x4277('0x8'));var sox=require('sox');var csv=require(_0x4277('0x9'));var ejs=require(_0x4277('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4277('0xb'));var squel=require(_0x4277('0xc'));var crypto=require(_0x4277('0xd'));var jsforce=require(_0x4277('0xe'));var deskjs=require(_0x4277('0xf'));var toCsv=require(_0x4277('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x4277('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4277('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4277('0x12'))(_0x4277('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x4277('0x14'))['db'];function respondWithStatusCode(_0x5acc22,_0x294cbf){_0x294cbf=_0x294cbf||0xcc;return function(_0x349ca4){if(_0x349ca4){return _0x5acc22['sendStatus'](_0x294cbf);}return _0x5acc22['status'](_0x294cbf)[_0x4277('0x15')]();};}function respondWithResult(_0x4fe1d4,_0x58e751){_0x58e751=_0x58e751||0xc8;return function(_0x125b57){if(_0x125b57){return _0x4fe1d4['status'](_0x58e751)['json'](_0x125b57);}};}function respondWithFilteredResult(_0x4023ed,_0x2d9885){return function(_0x4fe90e){if(_0x4fe90e){var _0x253815=typeof _0x2d9885['offset']===_0x4277('0x16')&&typeof _0x2d9885['limit']===_0x4277('0x16');var _0x3a7dc9=_0x4fe90e[_0x4277('0x17')];var _0x4cf5cf=_0x253815?0x0:_0x2d9885[_0x4277('0x18')];var _0x4240f2=_0x253815?_0x4fe90e[_0x4277('0x17')]:_0x2d9885['offset']+_0x2d9885[_0x4277('0x19')];var _0x510fbc;if(_0x4240f2>=_0x3a7dc9){_0x4240f2=_0x3a7dc9;_0x510fbc=0xc8;}else{_0x510fbc=0xce;}_0x4023ed[_0x4277('0x1a')](_0x510fbc);return _0x4023ed['set']('Content-Range',_0x4cf5cf+'-'+_0x4240f2+'/'+_0x3a7dc9)[_0x4277('0x1b')](_0x4fe90e);}return null;};}function patchUpdates(_0x4dd4f5){return function(_0x30420f){try{jsonpatch[_0x4277('0x1c')](_0x30420f,_0x4dd4f5,!![]);}catch(_0x4516ef){return BPromise[_0x4277('0x1d')](_0x4516ef);}return _0x30420f[_0x4277('0x1e')]();};}function saveUpdates(_0x10109b,_0x2514d0){return function(_0x374b7f){if(_0x374b7f){return _0x374b7f['update'](_0x10109b)[_0x4277('0x1f')](function(_0x5d358b){return _0x5d358b;});}return null;};}function removeEntity(_0x4bf1c3,_0x1fe932){return function(_0x29e445){if(_0x29e445){return _0x29e445[_0x4277('0x20')]()[_0x4277('0x1f')](function(){_0x4bf1c3[_0x4277('0x1a')](0xcc)[_0x4277('0x15')]();});}};}function handleEntityNotFound(_0x4ac94a,_0xba3226){return function(_0x3affc5){if(!_0x3affc5){_0x4ac94a[_0x4277('0x21')](0x194);}return _0x3affc5;};}function handleError(_0x2a6062,_0x1411d6){_0x1411d6=_0x1411d6||0x1f4;return function(_0x4b7466){logger[_0x4277('0x22')](_0x4b7466[_0x4277('0x23')]);if(_0x4b7466[_0x4277('0x24')]){delete _0x4b7466[_0x4277('0x24')];}_0x2a6062[_0x4277('0x1a')](_0x1411d6)[_0x4277('0x25')](_0x4b7466);};}exports[_0x4277('0x26')]=function(_0x5e8884,_0x47502c){var _0x47e16f={},_0x32b99f={},_0x4a9ea6={'count':0x0,'rows':[]};var _0x57a54a=_[_0x4277('0x27')](db[_0x4277('0x28')][_0x4277('0x29')],function(_0x517bed){return{'name':_0x517bed[_0x4277('0x2a')],'type':_0x517bed[_0x4277('0x2b')][_0x4277('0x2c')]};});_0x32b99f['model']=_[_0x4277('0x27')](_0x57a54a,'name');_0x32b99f['query']=_[_0x4277('0x2d')](_0x5e8884[_0x4277('0x2e')]);_0x32b99f[_0x4277('0x2f')]=_[_0x4277('0x30')](_0x32b99f[_0x4277('0x31')],_0x32b99f[_0x4277('0x2e')]);_0x47e16f[_0x4277('0x32')]=_['intersection'](_0x32b99f['model'],qs[_0x4277('0x33')](_0x5e8884[_0x4277('0x2e')][_0x4277('0x33')]));_0x47e16f[_0x4277('0x32')]=_0x47e16f[_0x4277('0x32')]['length']?_0x47e16f[_0x4277('0x32')]:_0x32b99f[_0x4277('0x31')];if(!_0x5e8884[_0x4277('0x2e')][_0x4277('0x34')]('nolimit')){_0x47e16f['limit']=qs[_0x4277('0x19')](_0x5e8884[_0x4277('0x2e')][_0x4277('0x19')]);_0x47e16f['offset']=qs[_0x4277('0x18')](_0x5e8884[_0x4277('0x2e')]['offset']);}_0x47e16f[_0x4277('0x35')]=qs[_0x4277('0x36')](_0x5e8884[_0x4277('0x2e')][_0x4277('0x36')]);_0x47e16f[_0x4277('0x37')]=qs[_0x4277('0x2f')](_['pick'](_0x5e8884['query'],_0x32b99f[_0x4277('0x2f')]),_0x57a54a);if(_0x5e8884[_0x4277('0x2e')][_0x4277('0x38')]){_0x47e16f[_0x4277('0x37')]=_[_0x4277('0x39')](_0x47e16f[_0x4277('0x37')],{'$or':_[_0x4277('0x27')](_0x57a54a,function(_0xc55740){if(_0xc55740[_0x4277('0x2b')]!=='VIRTUAL'){var _0x394f04={};_0x394f04[_0xc55740['name']]={'$like':'%'+_0x5e8884[_0x4277('0x2e')][_0x4277('0x38')]+'%'};return _0x394f04;}})});}_0x47e16f=_[_0x4277('0x39')]({},_0x47e16f,_0x5e8884[_0x4277('0x3a')]);var _0x3a5f9c={'where':_0x47e16f[_0x4277('0x37')]};return db[_0x4277('0x28')][_0x4277('0x17')](_0x3a5f9c)[_0x4277('0x1f')](function(_0x4102e3){_0x4a9ea6[_0x4277('0x17')]=_0x4102e3;if(_0x5e8884[_0x4277('0x2e')][_0x4277('0x3b')]){_0x47e16f[_0x4277('0x3c')]=[{'all':!![]}];}return db['AnalyticTreeReport'][_0x4277('0x3d')](_0x47e16f);})['then'](function(_0x597576){_0x4a9ea6[_0x4277('0x3e')]=_0x597576;return _0x4a9ea6;})[_0x4277('0x1f')](respondWithFilteredResult(_0x47502c,_0x47e16f))['catch'](handleError(_0x47502c,null));};exports[_0x4277('0x3f')]=function(_0x217b06,_0x3b1e6b){var _0x102b6c={'raw':!![],'where':{'id':_0x217b06[_0x4277('0x40')]['id']}},_0x27ae4d={};_0x27ae4d[_0x4277('0x31')]=_[_0x4277('0x2d')](db[_0x4277('0x28')][_0x4277('0x29')]);_0x27ae4d[_0x4277('0x2e')]=_[_0x4277('0x2d')](_0x217b06['query']);_0x27ae4d['filters']=_['intersection'](_0x27ae4d[_0x4277('0x31')],_0x27ae4d[_0x4277('0x2e')]);_0x102b6c['attributes']=_[_0x4277('0x30')](_0x27ae4d[_0x4277('0x31')],qs[_0x4277('0x33')](_0x217b06[_0x4277('0x2e')][_0x4277('0x33')]));_0x102b6c[_0x4277('0x32')]=_0x102b6c[_0x4277('0x32')][_0x4277('0x41')]?_0x102b6c[_0x4277('0x32')]:_0x27ae4d[_0x4277('0x31')];if(_0x217b06['query'][_0x4277('0x3b')]){_0x102b6c[_0x4277('0x3c')]=[{'all':!![]}];}_0x102b6c=_[_0x4277('0x39')]({},_0x102b6c,_0x217b06['options']);return db[_0x4277('0x28')][_0x4277('0x42')](_0x102b6c)[_0x4277('0x1f')](handleEntityNotFound(_0x3b1e6b,null))['then'](respondWithResult(_0x3b1e6b,null))[_0x4277('0x43')](handleError(_0x3b1e6b,null));};exports[_0x4277('0x44')]=function(_0x235595,_0x11d8ea){return db['AnalyticTreeReport'][_0x4277('0x44')](_0x235595[_0x4277('0x45')],{})[_0x4277('0x1f')](respondWithResult(_0x11d8ea,0xc9))[_0x4277('0x43')](handleError(_0x11d8ea,null));};exports[_0x4277('0x46')]=function(_0x383070,_0x6e03e8){if(_0x383070[_0x4277('0x45')]['id']){delete _0x383070[_0x4277('0x45')]['id'];}return db[_0x4277('0x28')][_0x4277('0x42')]({'where':{'id':_0x383070[_0x4277('0x40')]['id']}})[_0x4277('0x1f')](handleEntityNotFound(_0x6e03e8,null))[_0x4277('0x1f')](saveUpdates(_0x383070[_0x4277('0x45')],null))[_0x4277('0x1f')](respondWithResult(_0x6e03e8,null))['catch'](handleError(_0x6e03e8,null));};exports[_0x4277('0x20')]=function(_0x146057,_0x200a1b){return db[_0x4277('0x28')][_0x4277('0x42')]({'where':{'id':_0x146057[_0x4277('0x40')]['id']}})[_0x4277('0x1f')](handleEntityNotFound(_0x200a1b,null))['then'](removeEntity(_0x200a1b,null))['catch'](handleError(_0x200a1b,null));};