Built motion from commit e0fa946e.|2.6.5
[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 _0x2feb=['fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','fs-extra','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/environment','../../mysqldb','sendStatus','status','json','undefined','count','offset','limit','set','apply','reject','update','then','name','send','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','filter','options','AnalyticTreeReport','includeAll','include','findAll','rows','catch','params','rawAttributes','create','body','find','eml-format','rimraf','zip-dir'];(function(_0xdca4a6,_0x4965f6){var _0x5c5b95=function(_0x2c8fe7){while(--_0x2c8fe7){_0xdca4a6['push'](_0xdca4a6['shift']());}};_0x5c5b95(++_0x4965f6);}(_0x2feb,0x13d));var _0xb2fe=function(_0x2a4cc6,_0x3ed438){_0x2a4cc6=_0x2a4cc6-0x0;var _0x381547=_0x2feb[_0x2a4cc6];return _0x381547;};'use strict';var emlformat=require(_0xb2fe('0x0'));var rimraf=require(_0xb2fe('0x1'));var zipdir=require(_0xb2fe('0x2'));var jsonpatch=require(_0xb2fe('0x3'));var rp=require('request-promise');var moment=require(_0xb2fe('0x4'));var BPromise=require(_0xb2fe('0x5'));var Mustache=require(_0xb2fe('0x6'));var util=require('util');var path=require(_0xb2fe('0x7'));var sox=require(_0xb2fe('0x8'));var csv=require(_0xb2fe('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb2fe('0xa'));var _=require('lodash');var squel=require(_0xb2fe('0xb'));var crypto=require(_0xb2fe('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xb2fe('0xd'));var toCsv=require(_0xb2fe('0x9'));var querystring=require('querystring');var Papa=require(_0xb2fe('0xe'));var Redis=require(_0xb2fe('0xf'));var authService=require(_0xb2fe('0x10'));var qs=require(_0xb2fe('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xb2fe('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xb2fe('0x13'))['db'];function respondWithStatusCode(_0x3eb4d3,_0x7269f1){_0x7269f1=_0x7269f1||0xcc;return function(_0x2bb14e){if(_0x2bb14e){return _0x3eb4d3[_0xb2fe('0x14')](_0x7269f1);}return _0x3eb4d3[_0xb2fe('0x15')](_0x7269f1)['end']();};}function respondWithResult(_0x4b9ee8,_0x2072d8){_0x2072d8=_0x2072d8||0xc8;return function(_0x389d13){if(_0x389d13){return _0x4b9ee8[_0xb2fe('0x15')](_0x2072d8)[_0xb2fe('0x16')](_0x389d13);}};}function respondWithFilteredResult(_0x2b7c0a,_0x5ad192){return function(_0x1bda9b){if(_0x1bda9b){var _0x27d642=typeof _0x5ad192['offset']===_0xb2fe('0x17')&&typeof _0x5ad192['limit']==='undefined';var _0x8ea392=_0x1bda9b['count'];var _0x41fa92=_0x27d642?0x0:_0x5ad192['offset'];var _0x4418a9=_0x27d642?_0x1bda9b[_0xb2fe('0x18')]:_0x5ad192[_0xb2fe('0x19')]+_0x5ad192[_0xb2fe('0x1a')];var _0x142092;if(_0x4418a9>=_0x8ea392){_0x4418a9=_0x8ea392;_0x142092=0xc8;}else{_0x142092=0xce;}_0x2b7c0a[_0xb2fe('0x15')](_0x142092);return _0x2b7c0a[_0xb2fe('0x1b')]('Content-Range',_0x41fa92+'-'+_0x4418a9+'/'+_0x8ea392)[_0xb2fe('0x16')](_0x1bda9b);}return null;};}function patchUpdates(_0x5f59a7){return function(_0x1d2e99){try{jsonpatch[_0xb2fe('0x1c')](_0x1d2e99,_0x5f59a7,!![]);}catch(_0x58fdaf){return BPromise[_0xb2fe('0x1d')](_0x58fdaf);}return _0x1d2e99['save']();};}function saveUpdates(_0x48bf8e,_0x4e8bba){return function(_0x220d65){if(_0x220d65){return _0x220d65[_0xb2fe('0x1e')](_0x48bf8e)[_0xb2fe('0x1f')](function(_0x2a4c97){return _0x2a4c97;});}return null;};}function removeEntity(_0x22b5f7,_0x1e6185){return function(_0x270bbe){if(_0x270bbe){return _0x270bbe['destroy']()[_0xb2fe('0x1f')](function(){_0x22b5f7[_0xb2fe('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5906fd,_0x15391c){return function(_0x32a940){if(!_0x32a940){_0x5906fd[_0xb2fe('0x14')](0x194);}return _0x32a940;};}function handleError(_0x28d122,_0x49f30e){_0x49f30e=_0x49f30e||0x1f4;return function(_0x229e9b){logger['error'](_0x229e9b['stack']);if(_0x229e9b[_0xb2fe('0x20')]){delete _0x229e9b['name'];}_0x28d122[_0xb2fe('0x15')](_0x49f30e)[_0xb2fe('0x21')](_0x229e9b);};}exports['index']=function(_0x23cdc7,_0x35c8ea){var _0x2d2757={},_0x5f21b1={},_0x102a7e={'count':0x0,'rows':[]};var _0x3a39ea=_['map'](db['AnalyticTreeReport']['rawAttributes'],function(_0x48fb7d){return{'name':_0x48fb7d['fieldName'],'type':_0x48fb7d['type'][_0xb2fe('0x22')]};});_0x5f21b1[_0xb2fe('0x23')]=_[_0xb2fe('0x24')](_0x3a39ea,_0xb2fe('0x20'));_0x5f21b1[_0xb2fe('0x25')]=_[_0xb2fe('0x26')](_0x23cdc7[_0xb2fe('0x25')]);_0x5f21b1[_0xb2fe('0x27')]=_['intersection'](_0x5f21b1[_0xb2fe('0x23')],_0x5f21b1[_0xb2fe('0x25')]);_0x2d2757[_0xb2fe('0x28')]=_[_0xb2fe('0x29')](_0x5f21b1[_0xb2fe('0x23')],qs['fields'](_0x23cdc7[_0xb2fe('0x25')][_0xb2fe('0x2a')]));_0x2d2757[_0xb2fe('0x28')]=_0x2d2757[_0xb2fe('0x28')][_0xb2fe('0x2b')]?_0x2d2757['attributes']:_0x5f21b1[_0xb2fe('0x23')];if(!_0x23cdc7['query'][_0xb2fe('0x2c')](_0xb2fe('0x2d'))){_0x2d2757['limit']=qs[_0xb2fe('0x1a')](_0x23cdc7[_0xb2fe('0x25')][_0xb2fe('0x1a')]);_0x2d2757[_0xb2fe('0x19')]=qs['offset'](_0x23cdc7[_0xb2fe('0x25')][_0xb2fe('0x19')]);}_0x2d2757[_0xb2fe('0x2e')]=qs['sort'](_0x23cdc7[_0xb2fe('0x25')][_0xb2fe('0x2f')]);_0x2d2757['where']=qs[_0xb2fe('0x27')](_[_0xb2fe('0x30')](_0x23cdc7['query'],_0x5f21b1[_0xb2fe('0x27')]),_0x3a39ea);if(_0x23cdc7[_0xb2fe('0x25')]['filter']){_0x2d2757[_0xb2fe('0x31')]=_[_0xb2fe('0x32')](_0x2d2757['where'],{'$or':_[_0xb2fe('0x24')](_0x3a39ea,function(_0x8f19d5){if(_0x8f19d5['type']!=='VIRTUAL'){var _0xbb7584={};_0xbb7584[_0x8f19d5[_0xb2fe('0x20')]]={'$like':'%'+_0x23cdc7[_0xb2fe('0x25')][_0xb2fe('0x33')]+'%'};return _0xbb7584;}})});}_0x2d2757=_['merge']({},_0x2d2757,_0x23cdc7[_0xb2fe('0x34')]);var _0x2976f1={'where':_0x2d2757['where']};return db[_0xb2fe('0x35')][_0xb2fe('0x18')](_0x2976f1)[_0xb2fe('0x1f')](function(_0x471045){_0x102a7e[_0xb2fe('0x18')]=_0x471045;if(_0x23cdc7[_0xb2fe('0x25')][_0xb2fe('0x36')]){_0x2d2757[_0xb2fe('0x37')]=[{'all':!![]}];}return db[_0xb2fe('0x35')][_0xb2fe('0x38')](_0x2d2757);})[_0xb2fe('0x1f')](function(_0x55796f){_0x102a7e[_0xb2fe('0x39')]=_0x55796f;return _0x102a7e;})[_0xb2fe('0x1f')](respondWithFilteredResult(_0x35c8ea,_0x2d2757))[_0xb2fe('0x3a')](handleError(_0x35c8ea,null));};exports['show']=function(_0x199686,_0x32f4fc){var _0xa2c6={'raw':!![],'where':{'id':_0x199686[_0xb2fe('0x3b')]['id']}},_0x163175={};_0x163175[_0xb2fe('0x23')]=_[_0xb2fe('0x26')](db[_0xb2fe('0x35')][_0xb2fe('0x3c')]);_0x163175[_0xb2fe('0x25')]=_['keys'](_0x199686[_0xb2fe('0x25')]);_0x163175[_0xb2fe('0x27')]=_[_0xb2fe('0x29')](_0x163175['model'],_0x163175[_0xb2fe('0x25')]);_0xa2c6[_0xb2fe('0x28')]=_[_0xb2fe('0x29')](_0x163175[_0xb2fe('0x23')],qs[_0xb2fe('0x2a')](_0x199686['query']['fields']));_0xa2c6[_0xb2fe('0x28')]=_0xa2c6[_0xb2fe('0x28')]['length']?_0xa2c6[_0xb2fe('0x28')]:_0x163175[_0xb2fe('0x23')];if(_0x199686['query']['includeAll']){_0xa2c6[_0xb2fe('0x37')]=[{'all':!![]}];}_0xa2c6=_['merge']({},_0xa2c6,_0x199686['options']);return db[_0xb2fe('0x35')]['find'](_0xa2c6)['then'](handleEntityNotFound(_0x32f4fc,null))[_0xb2fe('0x1f')](respondWithResult(_0x32f4fc,null))[_0xb2fe('0x3a')](handleError(_0x32f4fc,null));};exports[_0xb2fe('0x3d')]=function(_0x55d345,_0x335971){return db[_0xb2fe('0x35')][_0xb2fe('0x3d')](_0x55d345[_0xb2fe('0x3e')],{})['then'](respondWithResult(_0x335971,0xc9))[_0xb2fe('0x3a')](handleError(_0x335971,null));};exports[_0xb2fe('0x1e')]=function(_0x264e61,_0x262d07){if(_0x264e61[_0xb2fe('0x3e')]['id']){delete _0x264e61[_0xb2fe('0x3e')]['id'];}return db['AnalyticTreeReport'][_0xb2fe('0x3f')]({'where':{'id':_0x264e61[_0xb2fe('0x3b')]['id']}})['then'](handleEntityNotFound(_0x262d07,null))[_0xb2fe('0x1f')](saveUpdates(_0x264e61[_0xb2fe('0x3e')],null))[_0xb2fe('0x1f')](respondWithResult(_0x262d07,null))[_0xb2fe('0x3a')](handleError(_0x262d07,null));};exports['destroy']=function(_0x31e166,_0x2f333d){return db[_0xb2fe('0x35')][_0xb2fe('0x3f')]({'where':{'id':_0x31e166['params']['id']}})[_0xb2fe('0x1f')](handleEntityNotFound(_0x2f333d,null))[_0xb2fe('0x1f')](removeEntity(_0x2f333d,null))['catch'](handleError(_0x2f333d,null));};