Built motion from commit b0a9a629.|2.6.33
[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 _0x2674=['sort','filters','filter','where','type','merge','options','includeAll','include','rows','catch','params','rawAttributes','create','body','find','destroy','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','apply','reject','save','update','then','error','stack','send','index','map','AnalyticTreeReport','fieldName','model','name','query','keys','intersection','attributes','fields','nolimit','order'];(function(_0x1facfa,_0x1acf7d){var _0x9ec701=function(_0x115e37){while(--_0x115e37){_0x1facfa['push'](_0x1facfa['shift']());}};_0x9ec701(++_0x1acf7d);}(_0x2674,0x17e));var _0x4267=function(_0x411add,_0x1aed38){_0x411add=_0x411add-0x0;var _0x238242=_0x2674[_0x411add];return _0x238242;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4267('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4267('0x1'));var rp=require(_0x4267('0x2'));var moment=require(_0x4267('0x3'));var BPromise=require(_0x4267('0x4'));var Mustache=require(_0x4267('0x5'));var util=require(_0x4267('0x6'));var path=require(_0x4267('0x7'));var sox=require(_0x4267('0x8'));var csv=require(_0x4267('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4267('0xa'));var _=require('lodash');var squel=require(_0x4267('0xb'));var crypto=require(_0x4267('0xc'));var jsforce=require(_0x4267('0xd'));var deskjs=require(_0x4267('0xe'));var toCsv=require(_0x4267('0x9'));var querystring=require(_0x4267('0xf'));var Papa=require(_0x4267('0x10'));var Redis=require(_0x4267('0x11'));var authService=require(_0x4267('0x12'));var qs=require(_0x4267('0x13'));var as=require(_0x4267('0x14'));var hardwareService=require(_0x4267('0x15'));var logger=require('../../config/logger')(_0x4267('0x16'));var utils=require(_0x4267('0x17'));var config=require(_0x4267('0x18'));var licenseUtil=require(_0x4267('0x19'));var db=require(_0x4267('0x1a'))['db'];function respondWithStatusCode(_0x475e94,_0x2558eb){_0x2558eb=_0x2558eb||0xcc;return function(_0x3d0389){if(_0x3d0389){return _0x475e94[_0x4267('0x1b')](_0x2558eb);}return _0x475e94[_0x4267('0x1c')](_0x2558eb)[_0x4267('0x1d')]();};}function respondWithResult(_0xacae73,_0x283267){_0x283267=_0x283267||0xc8;return function(_0x46d7c8){if(_0x46d7c8){return _0xacae73['status'](_0x283267)['json'](_0x46d7c8);}};}function respondWithFilteredResult(_0x1307f0,_0x3017b7){return function(_0x3645b6){if(_0x3645b6){var _0x226126=typeof _0x3017b7[_0x4267('0x1e')]==='undefined'&&typeof _0x3017b7[_0x4267('0x1f')]===_0x4267('0x20');var _0x4b97bd=_0x3645b6['count'];var _0x474364=_0x226126?0x0:_0x3017b7[_0x4267('0x1e')];var _0x492673=_0x226126?_0x3645b6[_0x4267('0x21')]:_0x3017b7['offset']+_0x3017b7[_0x4267('0x1f')];var _0x139ccd;if(_0x492673>=_0x4b97bd){_0x492673=_0x4b97bd;_0x139ccd=0xc8;}else{_0x139ccd=0xce;}_0x1307f0[_0x4267('0x1c')](_0x139ccd);return _0x1307f0[_0x4267('0x22')]('Content-Range',_0x474364+'-'+_0x492673+'/'+_0x4b97bd)['json'](_0x3645b6);}return null;};}function patchUpdates(_0x3f2865){return function(_0x17e342){try{jsonpatch[_0x4267('0x23')](_0x17e342,_0x3f2865,!![]);}catch(_0x28a58b){return BPromise[_0x4267('0x24')](_0x28a58b);}return _0x17e342[_0x4267('0x25')]();};}function saveUpdates(_0x5a13ef,_0x277136){return function(_0x1ff2be){if(_0x1ff2be){return _0x1ff2be[_0x4267('0x26')](_0x5a13ef)[_0x4267('0x27')](function(_0x3c1da2){return _0x3c1da2;});}return null;};}function removeEntity(_0x5b1e51,_0x1a7a91){return function(_0x3f3fca){if(_0x3f3fca){return _0x3f3fca['destroy']()[_0x4267('0x27')](function(){_0x5b1e51[_0x4267('0x1c')](0xcc)[_0x4267('0x1d')]();});}};}function handleEntityNotFound(_0x397883,_0xdb440d){return function(_0x1b1684){if(!_0x1b1684){_0x397883[_0x4267('0x1b')](0x194);}return _0x1b1684;};}function handleError(_0x30cb92,_0x36ff5c){_0x36ff5c=_0x36ff5c||0x1f4;return function(_0x3605ff){logger[_0x4267('0x28')](_0x3605ff[_0x4267('0x29')]);if(_0x3605ff['name']){delete _0x3605ff['name'];}_0x30cb92['status'](_0x36ff5c)[_0x4267('0x2a')](_0x3605ff);};}exports[_0x4267('0x2b')]=function(_0xe4a22f,_0x1666d2){var _0x3164ff={},_0x4fac2d={},_0x278b96={'count':0x0,'rows':[]};var _0x44ba6d=_[_0x4267('0x2c')](db[_0x4267('0x2d')]['rawAttributes'],function(_0x37cff5){return{'name':_0x37cff5[_0x4267('0x2e')],'type':_0x37cff5['type']['key']};});_0x4fac2d[_0x4267('0x2f')]=_['map'](_0x44ba6d,_0x4267('0x30'));_0x4fac2d[_0x4267('0x31')]=_[_0x4267('0x32')](_0xe4a22f[_0x4267('0x31')]);_0x4fac2d['filters']=_[_0x4267('0x33')](_0x4fac2d[_0x4267('0x2f')],_0x4fac2d[_0x4267('0x31')]);_0x3164ff[_0x4267('0x34')]=_[_0x4267('0x33')](_0x4fac2d[_0x4267('0x2f')],qs[_0x4267('0x35')](_0xe4a22f[_0x4267('0x31')][_0x4267('0x35')]));_0x3164ff['attributes']=_0x3164ff[_0x4267('0x34')]['length']?_0x3164ff[_0x4267('0x34')]:_0x4fac2d[_0x4267('0x2f')];if(!_0xe4a22f[_0x4267('0x31')]['hasOwnProperty'](_0x4267('0x36'))){_0x3164ff[_0x4267('0x1f')]=qs['limit'](_0xe4a22f[_0x4267('0x31')][_0x4267('0x1f')]);_0x3164ff['offset']=qs[_0x4267('0x1e')](_0xe4a22f['query'][_0x4267('0x1e')]);}_0x3164ff[_0x4267('0x37')]=qs[_0x4267('0x38')](_0xe4a22f[_0x4267('0x31')][_0x4267('0x38')]);_0x3164ff['where']=qs[_0x4267('0x39')](_['pick'](_0xe4a22f[_0x4267('0x31')],_0x4fac2d[_0x4267('0x39')]),_0x44ba6d);if(_0xe4a22f['query'][_0x4267('0x3a')]){_0x3164ff['where']=_['merge'](_0x3164ff[_0x4267('0x3b')],{'$or':_[_0x4267('0x2c')](_0x44ba6d,function(_0x31c7e5){if(_0x31c7e5[_0x4267('0x3c')]!=='VIRTUAL'){var _0x5ea91e={};_0x5ea91e[_0x31c7e5[_0x4267('0x30')]]={'$like':'%'+_0xe4a22f['query'][_0x4267('0x3a')]+'%'};return _0x5ea91e;}})});}_0x3164ff=_[_0x4267('0x3d')]({},_0x3164ff,_0xe4a22f[_0x4267('0x3e')]);var _0x15375a={'where':_0x3164ff[_0x4267('0x3b')]};return db[_0x4267('0x2d')][_0x4267('0x21')](_0x15375a)[_0x4267('0x27')](function(_0x4f5d8f){_0x278b96[_0x4267('0x21')]=_0x4f5d8f;if(_0xe4a22f[_0x4267('0x31')][_0x4267('0x3f')]){_0x3164ff[_0x4267('0x40')]=[{'all':!![]}];}return db[_0x4267('0x2d')]['findAll'](_0x3164ff);})[_0x4267('0x27')](function(_0x43cfa3){_0x278b96[_0x4267('0x41')]=_0x43cfa3;return _0x278b96;})[_0x4267('0x27')](respondWithFilteredResult(_0x1666d2,_0x3164ff))[_0x4267('0x42')](handleError(_0x1666d2,null));};exports['show']=function(_0x41ff8e,_0x30eee7){var _0x459a14={'raw':!![],'where':{'id':_0x41ff8e[_0x4267('0x43')]['id']}},_0x411810={};_0x411810['model']=_[_0x4267('0x32')](db[_0x4267('0x2d')][_0x4267('0x44')]);_0x411810[_0x4267('0x31')]=_['keys'](_0x41ff8e['query']);_0x411810[_0x4267('0x39')]=_[_0x4267('0x33')](_0x411810[_0x4267('0x2f')],_0x411810[_0x4267('0x31')]);_0x459a14['attributes']=_[_0x4267('0x33')](_0x411810['model'],qs['fields'](_0x41ff8e[_0x4267('0x31')]['fields']));_0x459a14[_0x4267('0x34')]=_0x459a14[_0x4267('0x34')]['length']?_0x459a14[_0x4267('0x34')]:_0x411810[_0x4267('0x2f')];if(_0x41ff8e[_0x4267('0x31')]['includeAll']){_0x459a14['include']=[{'all':!![]}];}_0x459a14=_[_0x4267('0x3d')]({},_0x459a14,_0x41ff8e['options']);return db[_0x4267('0x2d')]['find'](_0x459a14)[_0x4267('0x27')](handleEntityNotFound(_0x30eee7,null))[_0x4267('0x27')](respondWithResult(_0x30eee7,null))[_0x4267('0x42')](handleError(_0x30eee7,null));};exports[_0x4267('0x45')]=function(_0x1b6ae6,_0x205071){return db['AnalyticTreeReport'][_0x4267('0x45')](_0x1b6ae6[_0x4267('0x46')],{})[_0x4267('0x27')](respondWithResult(_0x205071,0xc9))['catch'](handleError(_0x205071,null));};exports[_0x4267('0x26')]=function(_0x560c9e,_0x1ac524){if(_0x560c9e[_0x4267('0x46')]['id']){delete _0x560c9e[_0x4267('0x46')]['id'];}return db[_0x4267('0x2d')][_0x4267('0x47')]({'where':{'id':_0x560c9e[_0x4267('0x43')]['id']}})[_0x4267('0x27')](handleEntityNotFound(_0x1ac524,null))[_0x4267('0x27')](saveUpdates(_0x560c9e[_0x4267('0x46')],null))[_0x4267('0x27')](respondWithResult(_0x1ac524,null))[_0x4267('0x42')](handleError(_0x1ac524,null));};exports[_0x4267('0x48')]=function(_0x554066,_0x32afe5){return db[_0x4267('0x2d')][_0x4267('0x47')]({'where':{'id':_0x554066['params']['id']}})['then'](handleEntityNotFound(_0x32afe5,null))['then'](removeEntity(_0x32afe5,null))[_0x4267('0x42')](handleError(_0x32afe5,null));};