14476c58a8dcc8630d2466d5f884ba4405000e35
[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 _0x610c=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','json','apply','reject','save','update','then','destroy','stack','name','send','index','rawAttributes','fieldName','key','model','map','query','keys','attributes','intersection','fields','length','nolimit','sort','where','filters','filter','merge','type','VIRTUAL','includeAll','include','AnalyticTreeReport','findAll','rows','show','params','options','find','catch','create','body','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0x610c,0x1b4));var _0xc610=function(_0x31281a,_0x10040e){_0x31281a=_0x31281a-0x0;var _0x23aa3f=_0x610c[_0x31281a];return _0x23aa3f;};'use strict';var emlformat=require(_0xc610('0x0'));var rimraf=require(_0xc610('0x1'));var zipdir=require(_0xc610('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc610('0x3'));var moment=require(_0xc610('0x4'));var BPromise=require(_0xc610('0x5'));var Mustache=require(_0xc610('0x6'));var util=require(_0xc610('0x7'));var path=require(_0xc610('0x8'));var sox=require(_0xc610('0x9'));var csv=require('to-csv');var ejs=require(_0xc610('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc610('0xb'));var squel=require(_0xc610('0xc'));var crypto=require(_0xc610('0xd'));var jsforce=require(_0xc610('0xe'));var deskjs=require(_0xc610('0xf'));var toCsv=require(_0xc610('0x10'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xc610('0x11'));var authService=require(_0xc610('0x12'));var qs=require(_0xc610('0x13'));var as=require(_0xc610('0x14'));var hardwareService=require(_0xc610('0x15'));var logger=require('../../config/logger')(_0xc610('0x16'));var utils=require(_0xc610('0x17'));var config=require(_0xc610('0x18'));var licenseUtil=require(_0xc610('0x19'));var db=require(_0xc610('0x1a'))['db'];function respondWithStatusCode(_0x88bac0,_0x26f697){_0x26f697=_0x26f697||0xcc;return function(_0x449b69){if(_0x449b69){return _0x88bac0[_0xc610('0x1b')](_0x26f697);}return _0x88bac0[_0xc610('0x1c')](_0x26f697)[_0xc610('0x1d')]();};}function respondWithResult(_0x2b4070,_0x28ef86){_0x28ef86=_0x28ef86||0xc8;return function(_0x494c1c){if(_0x494c1c){return _0x2b4070[_0xc610('0x1c')](_0x28ef86)['json'](_0x494c1c);}};}function respondWithFilteredResult(_0xa1eefc,_0x178373){return function(_0x3d9d17){if(_0x3d9d17){var _0x1432ef=typeof _0x178373['offset']===_0xc610('0x1e')&&typeof _0x178373[_0xc610('0x1f')]===_0xc610('0x1e');var _0x3441de=_0x3d9d17[_0xc610('0x20')];var _0x2caa07=_0x1432ef?0x0:_0x178373[_0xc610('0x21')];var _0x139e16=_0x1432ef?_0x3d9d17[_0xc610('0x20')]:_0x178373[_0xc610('0x21')]+_0x178373['limit'];var _0x114dab;if(_0x139e16>=_0x3441de){_0x139e16=_0x3441de;_0x114dab=0xc8;}else{_0x114dab=0xce;}_0xa1eefc[_0xc610('0x1c')](_0x114dab);return _0xa1eefc['set']('Content-Range',_0x2caa07+'-'+_0x139e16+'/'+_0x3441de)[_0xc610('0x22')](_0x3d9d17);}return null;};}function patchUpdates(_0x171e79){return function(_0x376d8f){try{jsonpatch[_0xc610('0x23')](_0x376d8f,_0x171e79,!![]);}catch(_0x2b2f4e){return BPromise[_0xc610('0x24')](_0x2b2f4e);}return _0x376d8f[_0xc610('0x25')]();};}function saveUpdates(_0x5986b8,_0x55a19f){return function(_0x436826){if(_0x436826){return _0x436826[_0xc610('0x26')](_0x5986b8)[_0xc610('0x27')](function(_0x59f3fb){return _0x59f3fb;});}return null;};}function removeEntity(_0x1a9aa4,_0x4e2180){return function(_0x4d2471){if(_0x4d2471){return _0x4d2471[_0xc610('0x28')]()[_0xc610('0x27')](function(){_0x1a9aa4[_0xc610('0x1c')](0xcc)[_0xc610('0x1d')]();});}};}function handleEntityNotFound(_0x4ef396,_0x55a7fd){return function(_0x3e202e){if(!_0x3e202e){_0x4ef396[_0xc610('0x1b')](0x194);}return _0x3e202e;};}function handleError(_0x3ad415,_0x472403){_0x472403=_0x472403||0x1f4;return function(_0x1dd4a9){logger['error'](_0x1dd4a9[_0xc610('0x29')]);if(_0x1dd4a9[_0xc610('0x2a')]){delete _0x1dd4a9[_0xc610('0x2a')];}_0x3ad415[_0xc610('0x1c')](_0x472403)[_0xc610('0x2b')](_0x1dd4a9);};}exports[_0xc610('0x2c')]=function(_0x285839,_0x225ffd){var _0x3353de={},_0x311cdb={},_0x1d70e3={'count':0x0,'rows':[]};var _0x3dde9f=_['map'](db['AnalyticTreeReport'][_0xc610('0x2d')],function(_0x23ad48){return{'name':_0x23ad48[_0xc610('0x2e')],'type':_0x23ad48['type'][_0xc610('0x2f')]};});_0x311cdb[_0xc610('0x30')]=_[_0xc610('0x31')](_0x3dde9f,_0xc610('0x2a'));_0x311cdb[_0xc610('0x32')]=_[_0xc610('0x33')](_0x285839[_0xc610('0x32')]);_0x311cdb['filters']=_['intersection'](_0x311cdb['model'],_0x311cdb[_0xc610('0x32')]);_0x3353de[_0xc610('0x34')]=_[_0xc610('0x35')](_0x311cdb[_0xc610('0x30')],qs[_0xc610('0x36')](_0x285839[_0xc610('0x32')][_0xc610('0x36')]));_0x3353de[_0xc610('0x34')]=_0x3353de[_0xc610('0x34')][_0xc610('0x37')]?_0x3353de[_0xc610('0x34')]:_0x311cdb[_0xc610('0x30')];if(!_0x285839['query']['hasOwnProperty'](_0xc610('0x38'))){_0x3353de[_0xc610('0x1f')]=qs[_0xc610('0x1f')](_0x285839['query'][_0xc610('0x1f')]);_0x3353de['offset']=qs[_0xc610('0x21')](_0x285839[_0xc610('0x32')]['offset']);}_0x3353de['order']=qs[_0xc610('0x39')](_0x285839[_0xc610('0x32')][_0xc610('0x39')]);_0x3353de[_0xc610('0x3a')]=qs[_0xc610('0x3b')](_['pick'](_0x285839['query'],_0x311cdb[_0xc610('0x3b')]),_0x3dde9f);if(_0x285839[_0xc610('0x32')][_0xc610('0x3c')]){_0x3353de[_0xc610('0x3a')]=_[_0xc610('0x3d')](_0x3353de['where'],{'$or':_[_0xc610('0x31')](_0x3dde9f,function(_0x35fa6c){if(_0x35fa6c[_0xc610('0x3e')]!==_0xc610('0x3f')){var _0x34e365={};_0x34e365[_0x35fa6c[_0xc610('0x2a')]]={'$like':'%'+_0x285839[_0xc610('0x32')]['filter']+'%'};return _0x34e365;}})});}_0x3353de=_[_0xc610('0x3d')]({},_0x3353de,_0x285839['options']);var _0x56e4ac={'where':_0x3353de[_0xc610('0x3a')]};return db['AnalyticTreeReport'][_0xc610('0x20')](_0x56e4ac)[_0xc610('0x27')](function(_0x1e1fd7){_0x1d70e3[_0xc610('0x20')]=_0x1e1fd7;if(_0x285839[_0xc610('0x32')][_0xc610('0x40')]){_0x3353de[_0xc610('0x41')]=[{'all':!![]}];}return db[_0xc610('0x42')][_0xc610('0x43')](_0x3353de);})['then'](function(_0x30f7f4){_0x1d70e3[_0xc610('0x44')]=_0x30f7f4;return _0x1d70e3;})['then'](respondWithFilteredResult(_0x225ffd,_0x3353de))['catch'](handleError(_0x225ffd,null));};exports[_0xc610('0x45')]=function(_0x4c1717,_0x5e476e){var _0x2aad46={'raw':!![],'where':{'id':_0x4c1717[_0xc610('0x46')]['id']}},_0x4bbe4f={};_0x4bbe4f[_0xc610('0x30')]=_[_0xc610('0x33')](db['AnalyticTreeReport']['rawAttributes']);_0x4bbe4f[_0xc610('0x32')]=_[_0xc610('0x33')](_0x4c1717[_0xc610('0x32')]);_0x4bbe4f[_0xc610('0x3b')]=_[_0xc610('0x35')](_0x4bbe4f['model'],_0x4bbe4f['query']);_0x2aad46[_0xc610('0x34')]=_[_0xc610('0x35')](_0x4bbe4f[_0xc610('0x30')],qs[_0xc610('0x36')](_0x4c1717[_0xc610('0x32')][_0xc610('0x36')]));_0x2aad46[_0xc610('0x34')]=_0x2aad46[_0xc610('0x34')][_0xc610('0x37')]?_0x2aad46[_0xc610('0x34')]:_0x4bbe4f[_0xc610('0x30')];if(_0x4c1717['query'][_0xc610('0x40')]){_0x2aad46[_0xc610('0x41')]=[{'all':!![]}];}_0x2aad46=_[_0xc610('0x3d')]({},_0x2aad46,_0x4c1717[_0xc610('0x47')]);return db[_0xc610('0x42')][_0xc610('0x48')](_0x2aad46)[_0xc610('0x27')](handleEntityNotFound(_0x5e476e,null))['then'](respondWithResult(_0x5e476e,null))[_0xc610('0x49')](handleError(_0x5e476e,null));};exports[_0xc610('0x4a')]=function(_0x4c1135,_0x455f70){return db[_0xc610('0x42')][_0xc610('0x4a')](_0x4c1135[_0xc610('0x4b')],{})[_0xc610('0x27')](respondWithResult(_0x455f70,0xc9))[_0xc610('0x49')](handleError(_0x455f70,null));};exports[_0xc610('0x26')]=function(_0x47b94a,_0x42b85a){if(_0x47b94a[_0xc610('0x4b')]['id']){delete _0x47b94a[_0xc610('0x4b')]['id'];}return db[_0xc610('0x42')]['find']({'where':{'id':_0x47b94a[_0xc610('0x46')]['id']}})['then'](handleEntityNotFound(_0x42b85a,null))[_0xc610('0x27')](saveUpdates(_0x47b94a[_0xc610('0x4b')],null))['then'](respondWithResult(_0x42b85a,null))[_0xc610('0x49')](handleError(_0x42b85a,null));};exports[_0xc610('0x28')]=function(_0x10c1bb,_0x48ff77){return db[_0xc610('0x42')][_0xc610('0x48')]({'where':{'id':_0x10c1bb[_0xc610('0x46')]['id']}})[_0xc610('0x27')](handleEntityNotFound(_0x48ff77,null))[_0xc610('0x27')](removeEntity(_0x48ff77,null))[_0xc610('0x49')](handleError(_0x48ff77,null));};