Built motion from commit ae138b72.|2.6.28
[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 _0x6542=['params','keys','length','find','create','body','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','json','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','options','includeAll','include','rows','catch','show'];(function(_0x585e0c,_0xc8dfbf){var _0x657bf9=function(_0x2e8159){while(--_0x2e8159){_0x585e0c['push'](_0x585e0c['shift']());}};_0x657bf9(++_0xc8dfbf);}(_0x6542,0x16e));var _0x2654=function(_0x5b7651,_0x119a5c){_0x5b7651=_0x5b7651-0x0;var _0x2d53ce=_0x6542[_0x5b7651];return _0x2d53ce;};'use strict';var emlformat=require(_0x2654('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2654('0x1'));var jsonpatch=require(_0x2654('0x2'));var rp=require('request-promise');var moment=require(_0x2654('0x3'));var BPromise=require(_0x2654('0x4'));var Mustache=require(_0x2654('0x5'));var util=require(_0x2654('0x6'));var path=require('path');var sox=require(_0x2654('0x7'));var csv=require(_0x2654('0x8'));var ejs=require(_0x2654('0x9'));var fs=require('fs');var fs_extra=require(_0x2654('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x2654('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x2654('0xc'));var toCsv=require(_0x2654('0x8'));var querystring=require('querystring');var Papa=require(_0x2654('0xd'));var Redis=require('ioredis');var authService=require(_0x2654('0xe'));var qs=require(_0x2654('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2654('0x10'));var logger=require('../../config/logger')(_0x2654('0x11'));var utils=require(_0x2654('0x12'));var config=require(_0x2654('0x13'));var licenseUtil=require(_0x2654('0x14'));var db=require(_0x2654('0x15'))['db'];function respondWithStatusCode(_0x312554,_0x40abb7){_0x40abb7=_0x40abb7||0xcc;return function(_0x237929){if(_0x237929){return _0x312554['sendStatus'](_0x40abb7);}return _0x312554[_0x2654('0x16')](_0x40abb7)[_0x2654('0x17')]();};}function respondWithResult(_0x2ebc61,_0x6b6222){_0x6b6222=_0x6b6222||0xc8;return function(_0x4bc696){if(_0x4bc696){return _0x2ebc61[_0x2654('0x16')](_0x6b6222)['json'](_0x4bc696);}};}function respondWithFilteredResult(_0x5919d2,_0xa16f2c){return function(_0x59b1c7){if(_0x59b1c7){var _0x48470f=typeof _0xa16f2c[_0x2654('0x18')]===_0x2654('0x19')&&typeof _0xa16f2c[_0x2654('0x1a')]==='undefined';var _0x3823a5=_0x59b1c7['count'];var _0x4919ed=_0x48470f?0x0:_0xa16f2c[_0x2654('0x18')];var _0x65cddb=_0x48470f?_0x59b1c7[_0x2654('0x1b')]:_0xa16f2c[_0x2654('0x18')]+_0xa16f2c[_0x2654('0x1a')];var _0x4437dc;if(_0x65cddb>=_0x3823a5){_0x65cddb=_0x3823a5;_0x4437dc=0xc8;}else{_0x4437dc=0xce;}_0x5919d2[_0x2654('0x16')](_0x4437dc);return _0x5919d2['set']('Content-Range',_0x4919ed+'-'+_0x65cddb+'/'+_0x3823a5)[_0x2654('0x1c')](_0x59b1c7);}return null;};}function patchUpdates(_0x4d67dd){return function(_0x41406f){try{jsonpatch['apply'](_0x41406f,_0x4d67dd,!![]);}catch(_0x4acdb0){return BPromise[_0x2654('0x1d')](_0x4acdb0);}return _0x41406f[_0x2654('0x1e')]();};}function saveUpdates(_0x18389a,_0x236678){return function(_0x987a99){if(_0x987a99){return _0x987a99[_0x2654('0x1f')](_0x18389a)[_0x2654('0x20')](function(_0x165010){return _0x165010;});}return null;};}function removeEntity(_0x512c15,_0x3e9123){return function(_0x480c6d){if(_0x480c6d){return _0x480c6d[_0x2654('0x21')]()[_0x2654('0x20')](function(){_0x512c15[_0x2654('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a61f6,_0x18855d){return function(_0x568ff0){if(!_0x568ff0){_0x4a61f6[_0x2654('0x22')](0x194);}return _0x568ff0;};}function handleError(_0x53d498,_0x58b533){_0x58b533=_0x58b533||0x1f4;return function(_0x194ae4){logger[_0x2654('0x23')](_0x194ae4[_0x2654('0x24')]);if(_0x194ae4[_0x2654('0x25')]){delete _0x194ae4[_0x2654('0x25')];}_0x53d498[_0x2654('0x16')](_0x58b533)[_0x2654('0x26')](_0x194ae4);};}exports[_0x2654('0x27')]=function(_0x2ac118,_0x5e10b0){var _0x3c710e={},_0x2808ab={},_0x43d341={'count':0x0,'rows':[]};var _0x5a9caa=_[_0x2654('0x28')](db[_0x2654('0x29')][_0x2654('0x2a')],function(_0x2ff7c7){return{'name':_0x2ff7c7[_0x2654('0x2b')],'type':_0x2ff7c7[_0x2654('0x2c')][_0x2654('0x2d')]};});_0x2808ab[_0x2654('0x2e')]=_[_0x2654('0x28')](_0x5a9caa,_0x2654('0x25'));_0x2808ab[_0x2654('0x2f')]=_['keys'](_0x2ac118[_0x2654('0x2f')]);_0x2808ab[_0x2654('0x30')]=_[_0x2654('0x31')](_0x2808ab['model'],_0x2808ab[_0x2654('0x2f')]);_0x3c710e[_0x2654('0x32')]=_[_0x2654('0x31')](_0x2808ab[_0x2654('0x2e')],qs['fields'](_0x2ac118[_0x2654('0x2f')][_0x2654('0x33')]));_0x3c710e[_0x2654('0x32')]=_0x3c710e[_0x2654('0x32')]['length']?_0x3c710e['attributes']:_0x2808ab[_0x2654('0x2e')];if(!_0x2ac118['query'][_0x2654('0x34')](_0x2654('0x35'))){_0x3c710e[_0x2654('0x1a')]=qs[_0x2654('0x1a')](_0x2ac118[_0x2654('0x2f')]['limit']);_0x3c710e[_0x2654('0x18')]=qs[_0x2654('0x18')](_0x2ac118['query']['offset']);}_0x3c710e[_0x2654('0x36')]=qs[_0x2654('0x37')](_0x2ac118['query'][_0x2654('0x37')]);_0x3c710e[_0x2654('0x38')]=qs[_0x2654('0x30')](_[_0x2654('0x39')](_0x2ac118['query'],_0x2808ab[_0x2654('0x30')]),_0x5a9caa);if(_0x2ac118[_0x2654('0x2f')][_0x2654('0x3a')]){_0x3c710e[_0x2654('0x38')]=_['merge'](_0x3c710e[_0x2654('0x38')],{'$or':_[_0x2654('0x28')](_0x5a9caa,function(_0xbb8947){if(_0xbb8947[_0x2654('0x2c')]!==_0x2654('0x3b')){var _0x1d9c9b={};_0x1d9c9b[_0xbb8947[_0x2654('0x25')]]={'$like':'%'+_0x2ac118[_0x2654('0x2f')]['filter']+'%'};return _0x1d9c9b;}})});}_0x3c710e=_['merge']({},_0x3c710e,_0x2ac118[_0x2654('0x3c')]);var _0x41dce3={'where':_0x3c710e['where']};return db[_0x2654('0x29')][_0x2654('0x1b')](_0x41dce3)[_0x2654('0x20')](function(_0x465534){_0x43d341[_0x2654('0x1b')]=_0x465534;if(_0x2ac118[_0x2654('0x2f')][_0x2654('0x3d')]){_0x3c710e[_0x2654('0x3e')]=[{'all':!![]}];}return db[_0x2654('0x29')]['findAll'](_0x3c710e);})['then'](function(_0x1e71f5){_0x43d341[_0x2654('0x3f')]=_0x1e71f5;return _0x43d341;})[_0x2654('0x20')](respondWithFilteredResult(_0x5e10b0,_0x3c710e))[_0x2654('0x40')](handleError(_0x5e10b0,null));};exports[_0x2654('0x41')]=function(_0x267533,_0x33f0d8){var _0x1e7088={'raw':!![],'where':{'id':_0x267533[_0x2654('0x42')]['id']}},_0x5d23da={};_0x5d23da['model']=_[_0x2654('0x43')](db[_0x2654('0x29')][_0x2654('0x2a')]);_0x5d23da[_0x2654('0x2f')]=_[_0x2654('0x43')](_0x267533[_0x2654('0x2f')]);_0x5d23da['filters']=_['intersection'](_0x5d23da[_0x2654('0x2e')],_0x5d23da['query']);_0x1e7088[_0x2654('0x32')]=_['intersection'](_0x5d23da[_0x2654('0x2e')],qs[_0x2654('0x33')](_0x267533[_0x2654('0x2f')][_0x2654('0x33')]));_0x1e7088[_0x2654('0x32')]=_0x1e7088[_0x2654('0x32')][_0x2654('0x44')]?_0x1e7088[_0x2654('0x32')]:_0x5d23da['model'];if(_0x267533[_0x2654('0x2f')][_0x2654('0x3d')]){_0x1e7088[_0x2654('0x3e')]=[{'all':!![]}];}_0x1e7088=_['merge']({},_0x1e7088,_0x267533[_0x2654('0x3c')]);return db[_0x2654('0x29')][_0x2654('0x45')](_0x1e7088)[_0x2654('0x20')](handleEntityNotFound(_0x33f0d8,null))[_0x2654('0x20')](respondWithResult(_0x33f0d8,null))['catch'](handleError(_0x33f0d8,null));};exports[_0x2654('0x46')]=function(_0x149e12,_0x2f0369){return db[_0x2654('0x29')][_0x2654('0x46')](_0x149e12[_0x2654('0x47')],{})['then'](respondWithResult(_0x2f0369,0xc9))[_0x2654('0x40')](handleError(_0x2f0369,null));};exports[_0x2654('0x1f')]=function(_0x2208cb,_0x4ea6cf){if(_0x2208cb[_0x2654('0x47')]['id']){delete _0x2208cb[_0x2654('0x47')]['id'];}return db['AnalyticTreeReport'][_0x2654('0x45')]({'where':{'id':_0x2208cb[_0x2654('0x42')]['id']}})[_0x2654('0x20')](handleEntityNotFound(_0x4ea6cf,null))[_0x2654('0x20')](saveUpdates(_0x2208cb[_0x2654('0x47')],null))[_0x2654('0x20')](respondWithResult(_0x4ea6cf,null))[_0x2654('0x40')](handleError(_0x4ea6cf,null));};exports[_0x2654('0x21')]=function(_0x3ff57b,_0x531e16){return db['AnalyticTreeReport'][_0x2654('0x45')]({'where':{'id':_0x3ff57b['params']['id']}})[_0x2654('0x20')](handleEntityNotFound(_0x531e16,null))['then'](removeEntity(_0x531e16,null))['catch'](handleError(_0x531e16,null));};