Built motion from commit 7ab0e143.|2.5.49
[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 _0xa531=['squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','limit','count','offset','set','reject','save','then','destroy','stack','name','send','index','AnalyticTreeReport','rawAttributes','fieldName','key','model','map','keys','query','intersection','attributes','fields','length','order','sort','where','filters','filter','merge','type','VIRTUAL','options','findAll','rows','catch','show','params','includeAll','find','create','body','update','eml-format','rimraf','zip-dir','request-promise','bluebird','util','sox','to-csv'];(function(_0x54cdf4,_0x2a7ed4){var _0x26c52d=function(_0x5ca6d8){while(--_0x5ca6d8){_0x54cdf4['push'](_0x54cdf4['shift']());}};_0x26c52d(++_0x2a7ed4);}(_0xa531,0x1d4));var _0x1a53=function(_0x4a2662,_0xb76822){_0x4a2662=_0x4a2662-0x0;var _0x555ff3=_0xa531[_0x4a2662];return _0x555ff3;};'use strict';var emlformat=require(_0x1a53('0x0'));var rimraf=require(_0x1a53('0x1'));var zipdir=require(_0x1a53('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1a53('0x3'));var moment=require('moment');var BPromise=require(_0x1a53('0x4'));var Mustache=require('mustache');var util=require(_0x1a53('0x5'));var path=require('path');var sox=require(_0x1a53('0x6'));var csv=require(_0x1a53('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x1a53('0x8'));var crypto=require(_0x1a53('0x9'));var jsforce=require(_0x1a53('0xa'));var deskjs=require(_0x1a53('0xb'));var toCsv=require(_0x1a53('0x7'));var querystring=require(_0x1a53('0xc'));var Papa=require(_0x1a53('0xd'));var Redis=require(_0x1a53('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x1a53('0xf'));var as=require(_0x1a53('0x10'));var hardwareService=require(_0x1a53('0x11'));var logger=require('../../config/logger')(_0x1a53('0x12'));var utils=require('../../config/utils');var config=require(_0x1a53('0x13'));var licenseUtil=require(_0x1a53('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x315cbc,_0x32f938){_0x32f938=_0x32f938||0xcc;return function(_0x115198){if(_0x115198){return _0x315cbc[_0x1a53('0x15')](_0x32f938);}return _0x315cbc[_0x1a53('0x16')](_0x32f938)[_0x1a53('0x17')]();};}function respondWithResult(_0x84e09c,_0x29b2d4){_0x29b2d4=_0x29b2d4||0xc8;return function(_0x20ca19){if(_0x20ca19){return _0x84e09c[_0x1a53('0x16')](_0x29b2d4)[_0x1a53('0x18')](_0x20ca19);}};}function respondWithFilteredResult(_0x3fdde0,_0x407eee){return function(_0x4527a3){if(_0x4527a3){var _0x5c0748=typeof _0x407eee['offset']==='undefined'&&typeof _0x407eee[_0x1a53('0x19')]==='undefined';var _0x18b02e=_0x4527a3[_0x1a53('0x1a')];var _0x942b7e=_0x5c0748?0x0:_0x407eee['offset'];var _0x412cde=_0x5c0748?_0x4527a3['count']:_0x407eee[_0x1a53('0x1b')]+_0x407eee[_0x1a53('0x19')];var _0x8190d;if(_0x412cde>=_0x18b02e){_0x412cde=_0x18b02e;_0x8190d=0xc8;}else{_0x8190d=0xce;}_0x3fdde0[_0x1a53('0x16')](_0x8190d);return _0x3fdde0[_0x1a53('0x1c')]('Content-Range',_0x942b7e+'-'+_0x412cde+'/'+_0x18b02e)[_0x1a53('0x18')](_0x4527a3);}return null;};}function patchUpdates(_0x3b54d2){return function(_0x32acbf){try{jsonpatch['apply'](_0x32acbf,_0x3b54d2,!![]);}catch(_0x229cfa){return BPromise[_0x1a53('0x1d')](_0x229cfa);}return _0x32acbf[_0x1a53('0x1e')]();};}function saveUpdates(_0x3cc4de,_0x1df9cb){return function(_0xcc1901){if(_0xcc1901){return _0xcc1901['update'](_0x3cc4de)[_0x1a53('0x1f')](function(_0xaddb11){return _0xaddb11;});}return null;};}function removeEntity(_0x12f604,_0x51bb15){return function(_0x271254){if(_0x271254){return _0x271254[_0x1a53('0x20')]()[_0x1a53('0x1f')](function(){_0x12f604[_0x1a53('0x16')](0xcc)[_0x1a53('0x17')]();});}};}function handleEntityNotFound(_0x45d300,_0x3c4993){return function(_0x427c4c){if(!_0x427c4c){_0x45d300['sendStatus'](0x194);}return _0x427c4c;};}function handleError(_0x2e21d0,_0x222752){_0x222752=_0x222752||0x1f4;return function(_0x3bf9ab){logger['error'](_0x3bf9ab[_0x1a53('0x21')]);if(_0x3bf9ab['name']){delete _0x3bf9ab[_0x1a53('0x22')];}_0x2e21d0['status'](_0x222752)[_0x1a53('0x23')](_0x3bf9ab);};}exports[_0x1a53('0x24')]=function(_0x1bb12a,_0x4b582f){var _0xbaba44={},_0x3dff25={},_0x11aef3={'count':0x0,'rows':[]};var _0xd122ed=_['map'](db[_0x1a53('0x25')][_0x1a53('0x26')],function(_0x5025f4){return{'name':_0x5025f4[_0x1a53('0x27')],'type':_0x5025f4['type'][_0x1a53('0x28')]};});_0x3dff25[_0x1a53('0x29')]=_[_0x1a53('0x2a')](_0xd122ed,_0x1a53('0x22'));_0x3dff25['query']=_[_0x1a53('0x2b')](_0x1bb12a[_0x1a53('0x2c')]);_0x3dff25['filters']=_[_0x1a53('0x2d')](_0x3dff25[_0x1a53('0x29')],_0x3dff25['query']);_0xbaba44[_0x1a53('0x2e')]=_['intersection'](_0x3dff25[_0x1a53('0x29')],qs[_0x1a53('0x2f')](_0x1bb12a[_0x1a53('0x2c')][_0x1a53('0x2f')]));_0xbaba44['attributes']=_0xbaba44['attributes'][_0x1a53('0x30')]?_0xbaba44[_0x1a53('0x2e')]:_0x3dff25[_0x1a53('0x29')];if(!_0x1bb12a[_0x1a53('0x2c')]['hasOwnProperty']('nolimit')){_0xbaba44['limit']=qs['limit'](_0x1bb12a['query'][_0x1a53('0x19')]);_0xbaba44['offset']=qs['offset'](_0x1bb12a[_0x1a53('0x2c')][_0x1a53('0x1b')]);}_0xbaba44[_0x1a53('0x31')]=qs[_0x1a53('0x32')](_0x1bb12a[_0x1a53('0x2c')][_0x1a53('0x32')]);_0xbaba44[_0x1a53('0x33')]=qs['filters'](_['pick'](_0x1bb12a[_0x1a53('0x2c')],_0x3dff25[_0x1a53('0x34')]),_0xd122ed);if(_0x1bb12a[_0x1a53('0x2c')][_0x1a53('0x35')]){_0xbaba44[_0x1a53('0x33')]=_[_0x1a53('0x36')](_0xbaba44[_0x1a53('0x33')],{'$or':_[_0x1a53('0x2a')](_0xd122ed,function(_0xb14f26){if(_0xb14f26[_0x1a53('0x37')]!==_0x1a53('0x38')){var _0x569bc4={};_0x569bc4[_0xb14f26['name']]={'$like':'%'+_0x1bb12a['query']['filter']+'%'};return _0x569bc4;}})});}_0xbaba44=_['merge']({},_0xbaba44,_0x1bb12a[_0x1a53('0x39')]);var _0x13512d={'where':_0xbaba44[_0x1a53('0x33')]};return db[_0x1a53('0x25')]['count'](_0x13512d)['then'](function(_0xb7776){_0x11aef3[_0x1a53('0x1a')]=_0xb7776;if(_0x1bb12a['query']['includeAll']){_0xbaba44['include']=[{'all':!![]}];}return db['AnalyticTreeReport'][_0x1a53('0x3a')](_0xbaba44);})[_0x1a53('0x1f')](function(_0x520d9d){_0x11aef3[_0x1a53('0x3b')]=_0x520d9d;return _0x11aef3;})[_0x1a53('0x1f')](respondWithFilteredResult(_0x4b582f,_0xbaba44))[_0x1a53('0x3c')](handleError(_0x4b582f,null));};exports[_0x1a53('0x3d')]=function(_0x45182e,_0x1f1768){var _0x3465a8={'raw':!![],'where':{'id':_0x45182e[_0x1a53('0x3e')]['id']}},_0x5c9100={};_0x5c9100['model']=_[_0x1a53('0x2b')](db['AnalyticTreeReport'][_0x1a53('0x26')]);_0x5c9100[_0x1a53('0x2c')]=_[_0x1a53('0x2b')](_0x45182e[_0x1a53('0x2c')]);_0x5c9100[_0x1a53('0x34')]=_[_0x1a53('0x2d')](_0x5c9100['model'],_0x5c9100[_0x1a53('0x2c')]);_0x3465a8[_0x1a53('0x2e')]=_[_0x1a53('0x2d')](_0x5c9100[_0x1a53('0x29')],qs[_0x1a53('0x2f')](_0x45182e[_0x1a53('0x2c')]['fields']));_0x3465a8[_0x1a53('0x2e')]=_0x3465a8[_0x1a53('0x2e')][_0x1a53('0x30')]?_0x3465a8[_0x1a53('0x2e')]:_0x5c9100[_0x1a53('0x29')];if(_0x45182e[_0x1a53('0x2c')][_0x1a53('0x3f')]){_0x3465a8['include']=[{'all':!![]}];}_0x3465a8=_['merge']({},_0x3465a8,_0x45182e[_0x1a53('0x39')]);return db[_0x1a53('0x25')][_0x1a53('0x40')](_0x3465a8)[_0x1a53('0x1f')](handleEntityNotFound(_0x1f1768,null))[_0x1a53('0x1f')](respondWithResult(_0x1f1768,null))['catch'](handleError(_0x1f1768,null));};exports['create']=function(_0x51ba05,_0x5af32a){return db[_0x1a53('0x25')][_0x1a53('0x41')](_0x51ba05[_0x1a53('0x42')],{})[_0x1a53('0x1f')](respondWithResult(_0x5af32a,0xc9))['catch'](handleError(_0x5af32a,null));};exports[_0x1a53('0x43')]=function(_0x3b674a,_0x2bbe4f){if(_0x3b674a['body']['id']){delete _0x3b674a[_0x1a53('0x42')]['id'];}return db['AnalyticTreeReport']['find']({'where':{'id':_0x3b674a['params']['id']}})[_0x1a53('0x1f')](handleEntityNotFound(_0x2bbe4f,null))[_0x1a53('0x1f')](saveUpdates(_0x3b674a[_0x1a53('0x42')],null))['then'](respondWithResult(_0x2bbe4f,null))[_0x1a53('0x3c')](handleError(_0x2bbe4f,null));};exports['destroy']=function(_0x4ae3e9,_0x42904d){return db[_0x1a53('0x25')][_0x1a53('0x40')]({'where':{'id':_0x4ae3e9[_0x1a53('0x3e')]['id']}})[_0x1a53('0x1f')](handleEntityNotFound(_0x42904d,null))[_0x1a53('0x1f')](removeEntity(_0x42904d,null))[_0x1a53('0x3c')](handleError(_0x42904d,null));};