Built motion from commit ddca4d0d.|2.5.47
[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 _0x7ac0=['intersection','model','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','filter','merge','where','VIRTUAL','options','includeAll','include','rows','show','keys','find','catch','create','body','params','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','stack','name','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','query'];(function(_0x98dee8,_0xa356bf){var _0x4c357d=function(_0x39abf7){while(--_0x39abf7){_0x98dee8['push'](_0x98dee8['shift']());}};_0x4c357d(++_0xa356bf);}(_0x7ac0,0xab));var _0x07ac=function(_0x33889d,_0x3b2943){_0x33889d=_0x33889d-0x0;var _0x4cf068=_0x7ac0[_0x33889d];return _0x4cf068;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x07ac('0x0'));var zipdir=require(_0x07ac('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x07ac('0x2'));var moment=require(_0x07ac('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x07ac('0x4'));var util=require(_0x07ac('0x5'));var path=require(_0x07ac('0x6'));var sox=require(_0x07ac('0x7'));var csv=require(_0x07ac('0x8'));var ejs=require(_0x07ac('0x9'));var fs=require('fs');var fs_extra=require(_0x07ac('0xa'));var _=require(_0x07ac('0xb'));var squel=require('squel');var crypto=require(_0x07ac('0xc'));var jsforce=require(_0x07ac('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x07ac('0x8'));var querystring=require(_0x07ac('0xe'));var Papa=require(_0x07ac('0xf'));var Redis=require(_0x07ac('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x07ac('0x11'));var as=require(_0x07ac('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x07ac('0x13'))('api');var utils=require(_0x07ac('0x14'));var config=require(_0x07ac('0x15'));var licenseUtil=require(_0x07ac('0x16'));var db=require(_0x07ac('0x17'))['db'];function respondWithStatusCode(_0x11c076,_0x383c51){_0x383c51=_0x383c51||0xcc;return function(_0x5afb0c){if(_0x5afb0c){return _0x11c076[_0x07ac('0x18')](_0x383c51);}return _0x11c076[_0x07ac('0x19')](_0x383c51)[_0x07ac('0x1a')]();};}function respondWithResult(_0x31fe78,_0x42f2df){_0x42f2df=_0x42f2df||0xc8;return function(_0x564ecc){if(_0x564ecc){return _0x31fe78['status'](_0x42f2df)[_0x07ac('0x1b')](_0x564ecc);}};}function respondWithFilteredResult(_0x53802b,_0x224b9f){return function(_0x961c56){if(_0x961c56){var _0x48f0ea=typeof _0x224b9f[_0x07ac('0x1c')]==='undefined'&&typeof _0x224b9f[_0x07ac('0x1d')]===_0x07ac('0x1e');var _0xed285=_0x961c56[_0x07ac('0x1f')];var _0x31a93f=_0x48f0ea?0x0:_0x224b9f[_0x07ac('0x1c')];var _0x11064c=_0x48f0ea?_0x961c56['count']:_0x224b9f[_0x07ac('0x1c')]+_0x224b9f[_0x07ac('0x1d')];var _0x2a1589;if(_0x11064c>=_0xed285){_0x11064c=_0xed285;_0x2a1589=0xc8;}else{_0x2a1589=0xce;}_0x53802b[_0x07ac('0x19')](_0x2a1589);return _0x53802b['set'](_0x07ac('0x20'),_0x31a93f+'-'+_0x11064c+'/'+_0xed285)[_0x07ac('0x1b')](_0x961c56);}return null;};}function patchUpdates(_0x980fed){return function(_0x4d2016){try{jsonpatch[_0x07ac('0x21')](_0x4d2016,_0x980fed,!![]);}catch(_0x29024b){return BPromise[_0x07ac('0x22')](_0x29024b);}return _0x4d2016[_0x07ac('0x23')]();};}function saveUpdates(_0x127d36,_0x480945){return function(_0x42c1a4){if(_0x42c1a4){return _0x42c1a4[_0x07ac('0x24')](_0x127d36)[_0x07ac('0x25')](function(_0x1a0b3f){return _0x1a0b3f;});}return null;};}function removeEntity(_0x369a45,_0x57e0c8){return function(_0x2c85a5){if(_0x2c85a5){return _0x2c85a5[_0x07ac('0x26')]()[_0x07ac('0x25')](function(){_0x369a45['status'](0xcc)[_0x07ac('0x1a')]();});}};}function handleEntityNotFound(_0x14bad3,_0x11449e){return function(_0x6405a9){if(!_0x6405a9){_0x14bad3[_0x07ac('0x18')](0x194);}return _0x6405a9;};}function handleError(_0x39f521,_0x49025e){_0x49025e=_0x49025e||0x1f4;return function(_0x1e7978){logger['error'](_0x1e7978[_0x07ac('0x27')]);if(_0x1e7978[_0x07ac('0x28')]){delete _0x1e7978[_0x07ac('0x28')];}_0x39f521[_0x07ac('0x19')](_0x49025e)['send'](_0x1e7978);};}exports[_0x07ac('0x29')]=function(_0x5c54c,_0x25a9a7){var _0x3cc373={},_0x440927={},_0x479fd1={'count':0x0,'rows':[]};var _0x1252cb=_[_0x07ac('0x2a')](db[_0x07ac('0x2b')][_0x07ac('0x2c')],function(_0x5ea56f){return{'name':_0x5ea56f[_0x07ac('0x2d')],'type':_0x5ea56f[_0x07ac('0x2e')]['key']};});_0x440927['model']=_[_0x07ac('0x2a')](_0x1252cb,_0x07ac('0x28'));_0x440927[_0x07ac('0x2f')]=_['keys'](_0x5c54c[_0x07ac('0x2f')]);_0x440927['filters']=_[_0x07ac('0x30')](_0x440927[_0x07ac('0x31')],_0x440927['query']);_0x3cc373[_0x07ac('0x32')]=_[_0x07ac('0x30')](_0x440927[_0x07ac('0x31')],qs[_0x07ac('0x33')](_0x5c54c['query'][_0x07ac('0x33')]));_0x3cc373[_0x07ac('0x32')]=_0x3cc373[_0x07ac('0x32')][_0x07ac('0x34')]?_0x3cc373[_0x07ac('0x32')]:_0x440927['model'];if(!_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x35')]('nolimit')){_0x3cc373[_0x07ac('0x1d')]=qs[_0x07ac('0x1d')](_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x1d')]);_0x3cc373[_0x07ac('0x1c')]=qs[_0x07ac('0x1c')](_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x1c')]);}_0x3cc373[_0x07ac('0x36')]=qs[_0x07ac('0x37')](_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x37')]);_0x3cc373['where']=qs[_0x07ac('0x38')](_[_0x07ac('0x39')](_0x5c54c[_0x07ac('0x2f')],_0x440927[_0x07ac('0x38')]),_0x1252cb);if(_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x3a')]){_0x3cc373['where']=_[_0x07ac('0x3b')](_0x3cc373[_0x07ac('0x3c')],{'$or':_[_0x07ac('0x2a')](_0x1252cb,function(_0x2bb69d){if(_0x2bb69d['type']!==_0x07ac('0x3d')){var _0x1c3935={};_0x1c3935[_0x2bb69d[_0x07ac('0x28')]]={'$like':'%'+_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x3a')]+'%'};return _0x1c3935;}})});}_0x3cc373=_[_0x07ac('0x3b')]({},_0x3cc373,_0x5c54c[_0x07ac('0x3e')]);var _0x801e3b={'where':_0x3cc373['where']};return db[_0x07ac('0x2b')][_0x07ac('0x1f')](_0x801e3b)[_0x07ac('0x25')](function(_0x487973){_0x479fd1[_0x07ac('0x1f')]=_0x487973;if(_0x5c54c[_0x07ac('0x2f')][_0x07ac('0x3f')]){_0x3cc373[_0x07ac('0x40')]=[{'all':!![]}];}return db[_0x07ac('0x2b')]['findAll'](_0x3cc373);})['then'](function(_0x4ddfde){_0x479fd1[_0x07ac('0x41')]=_0x4ddfde;return _0x479fd1;})[_0x07ac('0x25')](respondWithFilteredResult(_0x25a9a7,_0x3cc373))['catch'](handleError(_0x25a9a7,null));};exports[_0x07ac('0x42')]=function(_0x3a370b,_0x4831b6){var _0x3ac4d2={'raw':!![],'where':{'id':_0x3a370b['params']['id']}},_0x45fda5={};_0x45fda5[_0x07ac('0x31')]=_[_0x07ac('0x43')](db[_0x07ac('0x2b')][_0x07ac('0x2c')]);_0x45fda5[_0x07ac('0x2f')]=_[_0x07ac('0x43')](_0x3a370b[_0x07ac('0x2f')]);_0x45fda5[_0x07ac('0x38')]=_[_0x07ac('0x30')](_0x45fda5['model'],_0x45fda5[_0x07ac('0x2f')]);_0x3ac4d2[_0x07ac('0x32')]=_['intersection'](_0x45fda5['model'],qs[_0x07ac('0x33')](_0x3a370b[_0x07ac('0x2f')][_0x07ac('0x33')]));_0x3ac4d2[_0x07ac('0x32')]=_0x3ac4d2['attributes'][_0x07ac('0x34')]?_0x3ac4d2['attributes']:_0x45fda5[_0x07ac('0x31')];if(_0x3a370b['query'][_0x07ac('0x3f')]){_0x3ac4d2[_0x07ac('0x40')]=[{'all':!![]}];}_0x3ac4d2=_['merge']({},_0x3ac4d2,_0x3a370b[_0x07ac('0x3e')]);return db[_0x07ac('0x2b')][_0x07ac('0x44')](_0x3ac4d2)[_0x07ac('0x25')](handleEntityNotFound(_0x4831b6,null))[_0x07ac('0x25')](respondWithResult(_0x4831b6,null))[_0x07ac('0x45')](handleError(_0x4831b6,null));};exports[_0x07ac('0x46')]=function(_0x4f3892,_0x44211a){return db['AnalyticTreeReport'][_0x07ac('0x46')](_0x4f3892[_0x07ac('0x47')],{})[_0x07ac('0x25')](respondWithResult(_0x44211a,0xc9))['catch'](handleError(_0x44211a,null));};exports[_0x07ac('0x24')]=function(_0x1f5abd,_0x3ca62b){if(_0x1f5abd[_0x07ac('0x47')]['id']){delete _0x1f5abd['body']['id'];}return db['AnalyticTreeReport'][_0x07ac('0x44')]({'where':{'id':_0x1f5abd[_0x07ac('0x48')]['id']}})['then'](handleEntityNotFound(_0x3ca62b,null))[_0x07ac('0x25')](saveUpdates(_0x1f5abd[_0x07ac('0x47')],null))[_0x07ac('0x25')](respondWithResult(_0x3ca62b,null))[_0x07ac('0x45')](handleError(_0x3ca62b,null));};exports[_0x07ac('0x26')]=function(_0x9cbb2,_0x5c5675){return db['AnalyticTreeReport'][_0x07ac('0x44')]({'where':{'id':_0x9cbb2[_0x07ac('0x48')]['id']}})[_0x07ac('0x25')](handleEntityNotFound(_0x5c5675,null))[_0x07ac('0x25')](removeEntity(_0x5c5675,null))['catch'](handleError(_0x5c5675,null));};