Built motion from commit d5e4af8c.|2.6.23
[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 _0x96c2=['find','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','set','Content-Range','json','apply','reject','save','update','destroy','name','index','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','then','count','includeAll','rows','catch','params','keys','include','body'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x96c2,0xdc));var _0x296c=function(_0x44ca6e,_0x5e2c91){_0x44ca6e=_0x44ca6e-0x0;var _0x2edab2=_0x96c2[_0x44ca6e];return _0x2edab2;};'use strict';var emlformat=require(_0x296c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x296c('0x1'));var jsonpatch=require(_0x296c('0x2'));var rp=require(_0x296c('0x3'));var moment=require(_0x296c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x296c('0x5'));var util=require('util');var path=require(_0x296c('0x6'));var sox=require(_0x296c('0x7'));var csv=require(_0x296c('0x8'));var ejs=require(_0x296c('0x9'));var fs=require('fs');var fs_extra=require(_0x296c('0xa'));var _=require(_0x296c('0xb'));var squel=require(_0x296c('0xc'));var crypto=require(_0x296c('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x296c('0xe'));var toCsv=require(_0x296c('0x8'));var querystring=require(_0x296c('0xf'));var Papa=require(_0x296c('0x10'));var Redis=require('ioredis');var authService=require(_0x296c('0x11'));var qs=require(_0x296c('0x12'));var as=require(_0x296c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x296c('0x14'))(_0x296c('0x15'));var utils=require(_0x296c('0x16'));var config=require(_0x296c('0x17'));var licenseUtil=require(_0x296c('0x18'));var db=require(_0x296c('0x19'))['db'];function respondWithStatusCode(_0x126b6f,_0x407735){_0x407735=_0x407735||0xcc;return function(_0x31a325){if(_0x31a325){return _0x126b6f[_0x296c('0x1a')](_0x407735);}return _0x126b6f[_0x296c('0x1b')](_0x407735)[_0x296c('0x1c')]();};}function respondWithResult(_0x434cf1,_0x361f94){_0x361f94=_0x361f94||0xc8;return function(_0x19cecf){if(_0x19cecf){return _0x434cf1[_0x296c('0x1b')](_0x361f94)['json'](_0x19cecf);}};}function respondWithFilteredResult(_0x5ea23e,_0x5c3f14){return function(_0x479e89){if(_0x479e89){var _0x9d7d0=typeof _0x5c3f14[_0x296c('0x1d')]===_0x296c('0x1e')&&typeof _0x5c3f14[_0x296c('0x1f')]===_0x296c('0x1e');var _0x28dc35=_0x479e89['count'];var _0x424903=_0x9d7d0?0x0:_0x5c3f14[_0x296c('0x1d')];var _0x1a6be8=_0x9d7d0?_0x479e89['count']:_0x5c3f14['offset']+_0x5c3f14[_0x296c('0x1f')];var _0x3ce023;if(_0x1a6be8>=_0x28dc35){_0x1a6be8=_0x28dc35;_0x3ce023=0xc8;}else{_0x3ce023=0xce;}_0x5ea23e[_0x296c('0x1b')](_0x3ce023);return _0x5ea23e[_0x296c('0x20')](_0x296c('0x21'),_0x424903+'-'+_0x1a6be8+'/'+_0x28dc35)[_0x296c('0x22')](_0x479e89);}return null;};}function patchUpdates(_0x481ec8){return function(_0x3af33f){try{jsonpatch[_0x296c('0x23')](_0x3af33f,_0x481ec8,!![]);}catch(_0x43d7fe){return BPromise[_0x296c('0x24')](_0x43d7fe);}return _0x3af33f[_0x296c('0x25')]();};}function saveUpdates(_0x3c61a5,_0x18e260){return function(_0x1b57ed){if(_0x1b57ed){return _0x1b57ed[_0x296c('0x26')](_0x3c61a5)['then'](function(_0x5f31c6){return _0x5f31c6;});}return null;};}function removeEntity(_0x279ec3,_0x5cec0a){return function(_0x3b4965){if(_0x3b4965){return _0x3b4965[_0x296c('0x27')]()['then'](function(){_0x279ec3[_0x296c('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e81c6,_0x28c2db){return function(_0x2d3a9c){if(!_0x2d3a9c){_0x2e81c6[_0x296c('0x1a')](0x194);}return _0x2d3a9c;};}function handleError(_0x2a9e48,_0x3d0d83){_0x3d0d83=_0x3d0d83||0x1f4;return function(_0x4858f5){logger['error'](_0x4858f5['stack']);if(_0x4858f5[_0x296c('0x28')]){delete _0x4858f5['name'];}_0x2a9e48[_0x296c('0x1b')](_0x3d0d83)['send'](_0x4858f5);};}exports[_0x296c('0x29')]=function(_0xe22b19,_0x37734d){var _0xa023b5={},_0x16af8f={},_0x2784a1={'count':0x0,'rows':[]};var _0x553abb=_['map'](db[_0x296c('0x2a')][_0x296c('0x2b')],function(_0x411a5a){return{'name':_0x411a5a[_0x296c('0x2c')],'type':_0x411a5a[_0x296c('0x2d')][_0x296c('0x2e')]};});_0x16af8f[_0x296c('0x2f')]=_[_0x296c('0x30')](_0x553abb,_0x296c('0x28'));_0x16af8f[_0x296c('0x31')]=_['keys'](_0xe22b19[_0x296c('0x31')]);_0x16af8f[_0x296c('0x32')]=_[_0x296c('0x33')](_0x16af8f[_0x296c('0x2f')],_0x16af8f[_0x296c('0x31')]);_0xa023b5[_0x296c('0x34')]=_[_0x296c('0x33')](_0x16af8f[_0x296c('0x2f')],qs[_0x296c('0x35')](_0xe22b19[_0x296c('0x31')][_0x296c('0x35')]));_0xa023b5['attributes']=_0xa023b5['attributes'][_0x296c('0x36')]?_0xa023b5[_0x296c('0x34')]:_0x16af8f[_0x296c('0x2f')];if(!_0xe22b19[_0x296c('0x31')][_0x296c('0x37')](_0x296c('0x38'))){_0xa023b5['limit']=qs[_0x296c('0x1f')](_0xe22b19[_0x296c('0x31')][_0x296c('0x1f')]);_0xa023b5[_0x296c('0x1d')]=qs[_0x296c('0x1d')](_0xe22b19[_0x296c('0x31')][_0x296c('0x1d')]);}_0xa023b5['order']=qs[_0x296c('0x39')](_0xe22b19['query'][_0x296c('0x39')]);_0xa023b5[_0x296c('0x3a')]=qs[_0x296c('0x32')](_['pick'](_0xe22b19[_0x296c('0x31')],_0x16af8f[_0x296c('0x32')]),_0x553abb);if(_0xe22b19[_0x296c('0x31')][_0x296c('0x3b')]){_0xa023b5[_0x296c('0x3a')]=_[_0x296c('0x3c')](_0xa023b5[_0x296c('0x3a')],{'$or':_[_0x296c('0x30')](_0x553abb,function(_0x4f228e){if(_0x4f228e['type']!==_0x296c('0x3d')){var _0x2f0e2e={};_0x2f0e2e[_0x4f228e[_0x296c('0x28')]]={'$like':'%'+_0xe22b19['query'][_0x296c('0x3b')]+'%'};return _0x2f0e2e;}})});}_0xa023b5=_['merge']({},_0xa023b5,_0xe22b19[_0x296c('0x3e')]);var _0x704c63={'where':_0xa023b5['where']};return db['AnalyticTreeReport']['count'](_0x704c63)[_0x296c('0x3f')](function(_0x262b9c){_0x2784a1[_0x296c('0x40')]=_0x262b9c;if(_0xe22b19[_0x296c('0x31')][_0x296c('0x41')]){_0xa023b5['include']=[{'all':!![]}];}return db[_0x296c('0x2a')]['findAll'](_0xa023b5);})['then'](function(_0x15b7a4){_0x2784a1[_0x296c('0x42')]=_0x15b7a4;return _0x2784a1;})[_0x296c('0x3f')](respondWithFilteredResult(_0x37734d,_0xa023b5))[_0x296c('0x43')](handleError(_0x37734d,null));};exports['show']=function(_0x3bfa37,_0x183324){var _0x32c4a6={'raw':!![],'where':{'id':_0x3bfa37[_0x296c('0x44')]['id']}},_0x4829a3={};_0x4829a3[_0x296c('0x2f')]=_[_0x296c('0x45')](db['AnalyticTreeReport'][_0x296c('0x2b')]);_0x4829a3[_0x296c('0x31')]=_[_0x296c('0x45')](_0x3bfa37[_0x296c('0x31')]);_0x4829a3[_0x296c('0x32')]=_[_0x296c('0x33')](_0x4829a3[_0x296c('0x2f')],_0x4829a3[_0x296c('0x31')]);_0x32c4a6['attributes']=_[_0x296c('0x33')](_0x4829a3[_0x296c('0x2f')],qs[_0x296c('0x35')](_0x3bfa37[_0x296c('0x31')]['fields']));_0x32c4a6[_0x296c('0x34')]=_0x32c4a6[_0x296c('0x34')][_0x296c('0x36')]?_0x32c4a6['attributes']:_0x4829a3[_0x296c('0x2f')];if(_0x3bfa37[_0x296c('0x31')][_0x296c('0x41')]){_0x32c4a6[_0x296c('0x46')]=[{'all':!![]}];}_0x32c4a6=_[_0x296c('0x3c')]({},_0x32c4a6,_0x3bfa37[_0x296c('0x3e')]);return db['AnalyticTreeReport']['find'](_0x32c4a6)['then'](handleEntityNotFound(_0x183324,null))[_0x296c('0x3f')](respondWithResult(_0x183324,null))[_0x296c('0x43')](handleError(_0x183324,null));};exports['create']=function(_0x2edb6f,_0x49bdf8){return db['AnalyticTreeReport']['create'](_0x2edb6f[_0x296c('0x47')],{})[_0x296c('0x3f')](respondWithResult(_0x49bdf8,0xc9))[_0x296c('0x43')](handleError(_0x49bdf8,null));};exports['update']=function(_0x5680b0,_0x4e0754){if(_0x5680b0[_0x296c('0x47')]['id']){delete _0x5680b0[_0x296c('0x47')]['id'];}return db[_0x296c('0x2a')][_0x296c('0x48')]({'where':{'id':_0x5680b0[_0x296c('0x44')]['id']}})[_0x296c('0x3f')](handleEntityNotFound(_0x4e0754,null))[_0x296c('0x3f')](saveUpdates(_0x5680b0['body'],null))[_0x296c('0x3f')](respondWithResult(_0x4e0754,null))[_0x296c('0x43')](handleError(_0x4e0754,null));};exports[_0x296c('0x27')]=function(_0x4d1761,_0x30124){return db['AnalyticTreeReport'][_0x296c('0x48')]({'where':{'id':_0x4d1761[_0x296c('0x44')]['id']}})[_0x296c('0x3f')](handleEntityNotFound(_0x30124,null))[_0x296c('0x3f')](removeEntity(_0x30124,null))[_0x296c('0x43')](handleError(_0x30124,null));};