5e0c49f999e2766e4e1a0d7261de943adf472943
[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 _0xdd52=['params','keys','includeAll','merge','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','VIRTUAL','options','include','findAll','rows','catch','show'];(function(_0x1eccef,_0x1181d4){var _0x51c6f2=function(_0x151fba){while(--_0x151fba){_0x1eccef['push'](_0x1eccef['shift']());}};_0x51c6f2(++_0x1181d4);}(_0xdd52,0xa9));var _0x2dd5=function(_0x11a2e9,_0x3c112b){_0x11a2e9=_0x11a2e9-0x0;var _0x20388f=_0xdd52[_0x11a2e9];return _0x20388f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2dd5('0x0'));var zipdir=require(_0x2dd5('0x1'));var jsonpatch=require(_0x2dd5('0x2'));var rp=require(_0x2dd5('0x3'));var moment=require(_0x2dd5('0x4'));var BPromise=require(_0x2dd5('0x5'));var Mustache=require(_0x2dd5('0x6'));var util=require(_0x2dd5('0x7'));var path=require(_0x2dd5('0x8'));var sox=require(_0x2dd5('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2dd5('0xa'));var _=require(_0x2dd5('0xb'));var squel=require(_0x2dd5('0xc'));var crypto=require(_0x2dd5('0xd'));var jsforce=require(_0x2dd5('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x2dd5('0xf'));var querystring=require(_0x2dd5('0x10'));var Papa=require(_0x2dd5('0x11'));var Redis=require(_0x2dd5('0x12'));var authService=require(_0x2dd5('0x13'));var qs=require(_0x2dd5('0x14'));var as=require(_0x2dd5('0x15'));var hardwareService=require(_0x2dd5('0x16'));var logger=require(_0x2dd5('0x17'))(_0x2dd5('0x18'));var utils=require(_0x2dd5('0x19'));var config=require(_0x2dd5('0x1a'));var licenseUtil=require(_0x2dd5('0x1b'));var db=require(_0x2dd5('0x1c'))['db'];function respondWithStatusCode(_0x3b8371,_0xaf3738){_0xaf3738=_0xaf3738||0xcc;return function(_0x293e85){if(_0x293e85){return _0x3b8371[_0x2dd5('0x1d')](_0xaf3738);}return _0x3b8371[_0x2dd5('0x1e')](_0xaf3738)[_0x2dd5('0x1f')]();};}function respondWithResult(_0x5d19be,_0x93d250){_0x93d250=_0x93d250||0xc8;return function(_0x208266){if(_0x208266){return _0x5d19be[_0x2dd5('0x1e')](_0x93d250)[_0x2dd5('0x20')](_0x208266);}};}function respondWithFilteredResult(_0x153cc1,_0x72d724){return function(_0x162fe3){if(_0x162fe3){var _0x203544=typeof _0x72d724[_0x2dd5('0x21')]===_0x2dd5('0x22')&&typeof _0x72d724[_0x2dd5('0x23')]===_0x2dd5('0x22');var _0x2e95d6=_0x162fe3['count'];var _0x1f17e1=_0x203544?0x0:_0x72d724[_0x2dd5('0x21')];var _0x159e30=_0x203544?_0x162fe3[_0x2dd5('0x24')]:_0x72d724['offset']+_0x72d724['limit'];var _0xcc557d;if(_0x159e30>=_0x2e95d6){_0x159e30=_0x2e95d6;_0xcc557d=0xc8;}else{_0xcc557d=0xce;}_0x153cc1['status'](_0xcc557d);return _0x153cc1[_0x2dd5('0x25')]('Content-Range',_0x1f17e1+'-'+_0x159e30+'/'+_0x2e95d6)[_0x2dd5('0x20')](_0x162fe3);}return null;};}function patchUpdates(_0x169f9f){return function(_0x423f1d){try{jsonpatch[_0x2dd5('0x26')](_0x423f1d,_0x169f9f,!![]);}catch(_0x4d67bf){return BPromise[_0x2dd5('0x27')](_0x4d67bf);}return _0x423f1d[_0x2dd5('0x28')]();};}function saveUpdates(_0x3a75da,_0x512280){return function(_0x545e6a){if(_0x545e6a){return _0x545e6a[_0x2dd5('0x29')](_0x3a75da)[_0x2dd5('0x2a')](function(_0x4911cf){return _0x4911cf;});}return null;};}function removeEntity(_0x5bbde9,_0x4e65de){return function(_0x2d6d6b){if(_0x2d6d6b){return _0x2d6d6b[_0x2dd5('0x2b')]()['then'](function(){_0x5bbde9[_0x2dd5('0x1e')](0xcc)[_0x2dd5('0x1f')]();});}};}function handleEntityNotFound(_0x505708,_0x42a6af){return function(_0x4e556e){if(!_0x4e556e){_0x505708['sendStatus'](0x194);}return _0x4e556e;};}function handleError(_0x48f8d5,_0x4f299a){_0x4f299a=_0x4f299a||0x1f4;return function(_0x324075){logger[_0x2dd5('0x2c')](_0x324075[_0x2dd5('0x2d')]);if(_0x324075['name']){delete _0x324075[_0x2dd5('0x2e')];}_0x48f8d5[_0x2dd5('0x1e')](_0x4f299a)[_0x2dd5('0x2f')](_0x324075);};}exports[_0x2dd5('0x30')]=function(_0x4d7066,_0x4614fe){var _0x5bea29={},_0x56aa79={},_0x2cb076={'count':0x0,'rows':[]};var _0x435d18=_[_0x2dd5('0x31')](db[_0x2dd5('0x32')][_0x2dd5('0x33')],function(_0x36d875){return{'name':_0x36d875[_0x2dd5('0x34')],'type':_0x36d875[_0x2dd5('0x35')][_0x2dd5('0x36')]};});_0x56aa79[_0x2dd5('0x37')]=_['map'](_0x435d18,'name');_0x56aa79['query']=_['keys'](_0x4d7066['query']);_0x56aa79[_0x2dd5('0x38')]=_[_0x2dd5('0x39')](_0x56aa79[_0x2dd5('0x37')],_0x56aa79[_0x2dd5('0x3a')]);_0x5bea29[_0x2dd5('0x3b')]=_[_0x2dd5('0x39')](_0x56aa79['model'],qs[_0x2dd5('0x3c')](_0x4d7066['query'][_0x2dd5('0x3c')]));_0x5bea29[_0x2dd5('0x3b')]=_0x5bea29[_0x2dd5('0x3b')][_0x2dd5('0x3d')]?_0x5bea29[_0x2dd5('0x3b')]:_0x56aa79['model'];if(!_0x4d7066[_0x2dd5('0x3a')][_0x2dd5('0x3e')](_0x2dd5('0x3f'))){_0x5bea29['limit']=qs[_0x2dd5('0x23')](_0x4d7066[_0x2dd5('0x3a')][_0x2dd5('0x23')]);_0x5bea29[_0x2dd5('0x21')]=qs[_0x2dd5('0x21')](_0x4d7066[_0x2dd5('0x3a')]['offset']);}_0x5bea29['order']=qs[_0x2dd5('0x40')](_0x4d7066[_0x2dd5('0x3a')][_0x2dd5('0x40')]);_0x5bea29[_0x2dd5('0x41')]=qs['filters'](_['pick'](_0x4d7066[_0x2dd5('0x3a')],_0x56aa79[_0x2dd5('0x38')]),_0x435d18);if(_0x4d7066[_0x2dd5('0x3a')][_0x2dd5('0x42')]){_0x5bea29[_0x2dd5('0x41')]=_['merge'](_0x5bea29[_0x2dd5('0x41')],{'$or':_['map'](_0x435d18,function(_0x142071){if(_0x142071['type']!==_0x2dd5('0x43')){var _0x36565d={};_0x36565d[_0x142071[_0x2dd5('0x2e')]]={'$like':'%'+_0x4d7066[_0x2dd5('0x3a')][_0x2dd5('0x42')]+'%'};return _0x36565d;}})});}_0x5bea29=_['merge']({},_0x5bea29,_0x4d7066[_0x2dd5('0x44')]);var _0x1dd56e={'where':_0x5bea29['where']};return db['AnalyticTreeReport'][_0x2dd5('0x24')](_0x1dd56e)[_0x2dd5('0x2a')](function(_0x429e0e){_0x2cb076[_0x2dd5('0x24')]=_0x429e0e;if(_0x4d7066['query']['includeAll']){_0x5bea29[_0x2dd5('0x45')]=[{'all':!![]}];}return db[_0x2dd5('0x32')][_0x2dd5('0x46')](_0x5bea29);})[_0x2dd5('0x2a')](function(_0x4e45ac){_0x2cb076[_0x2dd5('0x47')]=_0x4e45ac;return _0x2cb076;})[_0x2dd5('0x2a')](respondWithFilteredResult(_0x4614fe,_0x5bea29))[_0x2dd5('0x48')](handleError(_0x4614fe,null));};exports[_0x2dd5('0x49')]=function(_0x456f24,_0x276f84){var _0x5fa1b1={'raw':!![],'where':{'id':_0x456f24[_0x2dd5('0x4a')]['id']}},_0xc75a25={};_0xc75a25['model']=_[_0x2dd5('0x4b')](db[_0x2dd5('0x32')][_0x2dd5('0x33')]);_0xc75a25['query']=_[_0x2dd5('0x4b')](_0x456f24[_0x2dd5('0x3a')]);_0xc75a25[_0x2dd5('0x38')]=_['intersection'](_0xc75a25[_0x2dd5('0x37')],_0xc75a25['query']);_0x5fa1b1[_0x2dd5('0x3b')]=_[_0x2dd5('0x39')](_0xc75a25[_0x2dd5('0x37')],qs['fields'](_0x456f24[_0x2dd5('0x3a')][_0x2dd5('0x3c')]));_0x5fa1b1[_0x2dd5('0x3b')]=_0x5fa1b1[_0x2dd5('0x3b')][_0x2dd5('0x3d')]?_0x5fa1b1[_0x2dd5('0x3b')]:_0xc75a25[_0x2dd5('0x37')];if(_0x456f24[_0x2dd5('0x3a')][_0x2dd5('0x4c')]){_0x5fa1b1['include']=[{'all':!![]}];}_0x5fa1b1=_[_0x2dd5('0x4d')]({},_0x5fa1b1,_0x456f24[_0x2dd5('0x44')]);return db[_0x2dd5('0x32')][_0x2dd5('0x4e')](_0x5fa1b1)[_0x2dd5('0x2a')](handleEntityNotFound(_0x276f84,null))[_0x2dd5('0x2a')](respondWithResult(_0x276f84,null))[_0x2dd5('0x48')](handleError(_0x276f84,null));};exports['create']=function(_0x2bca55,_0x320cb3){return db[_0x2dd5('0x32')][_0x2dd5('0x4f')](_0x2bca55[_0x2dd5('0x50')],{})[_0x2dd5('0x2a')](respondWithResult(_0x320cb3,0xc9))[_0x2dd5('0x48')](handleError(_0x320cb3,null));};exports[_0x2dd5('0x29')]=function(_0x57d0c2,_0x516909){if(_0x57d0c2[_0x2dd5('0x50')]['id']){delete _0x57d0c2[_0x2dd5('0x50')]['id'];}return db[_0x2dd5('0x32')]['find']({'where':{'id':_0x57d0c2['params']['id']}})[_0x2dd5('0x2a')](handleEntityNotFound(_0x516909,null))[_0x2dd5('0x2a')](saveUpdates(_0x57d0c2[_0x2dd5('0x50')],null))[_0x2dd5('0x2a')](respondWithResult(_0x516909,null))[_0x2dd5('0x48')](handleError(_0x516909,null));};exports[_0x2dd5('0x2b')]=function(_0x565e4d,_0x8a7cf6){return db[_0x2dd5('0x32')]['find']({'where':{'id':_0x565e4d[_0x2dd5('0x4a')]['id']}})[_0x2dd5('0x2a')](handleEntityNotFound(_0x8a7cf6,null))[_0x2dd5('0x2a')](removeEntity(_0x8a7cf6,null))[_0x2dd5('0x48')](handleError(_0x8a7cf6,null));};