777f933cd35b4f5ced0a3b109363c8727eb02703
[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 _0x20c8=['send','map','AnalyticTreeReport','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','keys','find','create','body','rimraf','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','then','end','error','stack','name'];(function(_0x5cc8b9,_0x20e3c3){var _0x58892e=function(_0x87457a){while(--_0x87457a){_0x5cc8b9['push'](_0x5cc8b9['shift']());}};_0x58892e(++_0x20e3c3);}(_0x20c8,0x144));var _0x820c=function(_0x3c6bed,_0x3078f2){_0x3c6bed=_0x3c6bed-0x0;var _0x6e5565=_0x20c8[_0x3c6bed];return _0x6e5565;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x820c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x820c('0x1'));var rp=require('request-promise');var moment=require(_0x820c('0x2'));var BPromise=require(_0x820c('0x3'));var Mustache=require(_0x820c('0x4'));var util=require(_0x820c('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x820c('0x6'));var ejs=require(_0x820c('0x7'));var fs=require('fs');var _=require(_0x820c('0x8'));var squel=require(_0x820c('0x9'));var crypto=require(_0x820c('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x820c('0xb'));var toCsv=require('to-csv');var querystring=require(_0x820c('0xc'));var Papa=require(_0x820c('0xd'));var Redis=require(_0x820c('0xe'));var authService=require(_0x820c('0xf'));var qs=require(_0x820c('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x820c('0x11'));var logger=require(_0x820c('0x12'))('api');var utils=require(_0x820c('0x13'));var config=require(_0x820c('0x14'));var licenseUtil=require(_0x820c('0x15'));var db=require(_0x820c('0x16'))['db'];function respondWithStatusCode(_0x55d509,_0x1b1e29){_0x1b1e29=_0x1b1e29||0xcc;return function(_0x3eb2a5){if(_0x3eb2a5){return _0x55d509[_0x820c('0x17')](_0x1b1e29);}return _0x55d509[_0x820c('0x18')](_0x1b1e29)['end']();};}function respondWithResult(_0x4c99b8,_0x11326d){_0x11326d=_0x11326d||0xc8;return function(_0x219b24){if(_0x219b24){return _0x4c99b8['status'](_0x11326d)['json'](_0x219b24);}};}function respondWithFilteredResult(_0x10cb9d,_0x2627f8){return function(_0x56c49b){if(_0x56c49b){var _0x12801b=_0x56c49b[_0x820c('0x19')],_0x24399e=_0x2627f8[_0x820c('0x1a')],_0x5d34a3=_0x2627f8[_0x820c('0x1a')]+_0x2627f8[_0x820c('0x1b')],_0x47cca5;if(_0x5d34a3>=_0x12801b){_0x5d34a3=_0x12801b;_0x47cca5=0xc8;}else{_0x47cca5=0xce;}_0x10cb9d[_0x820c('0x18')](_0x47cca5);return _0x10cb9d[_0x820c('0x1c')](_0x820c('0x1d'),_0x24399e+'-'+_0x5d34a3+'/'+_0x12801b)[_0x820c('0x1e')](_0x56c49b);}return null;};}function patchUpdates(_0x19de71){return function(_0x272f21){try{jsonpatch[_0x820c('0x1f')](_0x272f21,_0x19de71,!![]);}catch(_0x1c6a44){return BPromise[_0x820c('0x20')](_0x1c6a44);}return _0x272f21[_0x820c('0x21')]();};}function saveUpdates(_0x57744d,_0x3e22cb){return function(_0x28d904){if(_0x28d904){return _0x28d904[_0x820c('0x22')](_0x57744d)['then'](function(_0x47c12c){return _0x47c12c;});}return null;};}function removeEntity(_0x1144ac,_0x4ae634){return function(_0x55ae22){if(_0x55ae22){return _0x55ae22[_0x820c('0x23')]()[_0x820c('0x24')](function(){_0x1144ac[_0x820c('0x18')](0xcc)[_0x820c('0x25')]();});}};}function handleEntityNotFound(_0x2c6e55,_0x5601c1){return function(_0x449b45){if(!_0x449b45){_0x2c6e55[_0x820c('0x17')](0x194);}return _0x449b45;};}function handleError(_0x4e3056,_0x1fa45d){_0x1fa45d=_0x1fa45d||0x1f4;return function(_0x2f3320){logger[_0x820c('0x26')](_0x2f3320[_0x820c('0x27')]);if(_0x2f3320[_0x820c('0x28')]){delete _0x2f3320[_0x820c('0x28')];}_0x4e3056[_0x820c('0x18')](_0x1fa45d)[_0x820c('0x29')](_0x2f3320);};}exports['index']=function(_0x2d5f62,_0x302ca4){var _0x296c86={},_0x13ae34={},_0x38add3={'count':0x0,'rows':[]};var _0x420497=_[_0x820c('0x2a')](db[_0x820c('0x2b')][_0x820c('0x2c')],function(_0x10ba84){return{'name':_0x10ba84[_0x820c('0x2d')],'type':_0x10ba84[_0x820c('0x2e')]['key']};});_0x13ae34[_0x820c('0x2f')]=_[_0x820c('0x2a')](_0x420497,_0x820c('0x28'));_0x13ae34[_0x820c('0x30')]=_['keys'](_0x2d5f62[_0x820c('0x30')]);_0x13ae34[_0x820c('0x31')]=_[_0x820c('0x32')](_0x13ae34[_0x820c('0x2f')],_0x13ae34[_0x820c('0x30')]);_0x296c86[_0x820c('0x33')]=_[_0x820c('0x32')](_0x13ae34[_0x820c('0x2f')],qs[_0x820c('0x34')](_0x2d5f62[_0x820c('0x30')][_0x820c('0x34')]));_0x296c86['attributes']=_0x296c86[_0x820c('0x33')][_0x820c('0x35')]?_0x296c86[_0x820c('0x33')]:_0x13ae34['model'];if(!_0x2d5f62[_0x820c('0x30')][_0x820c('0x36')](_0x820c('0x37'))){_0x296c86['limit']=qs['limit'](_0x2d5f62['query']['limit']);_0x296c86['offset']=qs[_0x820c('0x1a')](_0x2d5f62[_0x820c('0x30')][_0x820c('0x1a')]);}_0x296c86[_0x820c('0x38')]=qs['sort'](_0x2d5f62[_0x820c('0x30')][_0x820c('0x39')]);_0x296c86['where']=qs[_0x820c('0x31')](_[_0x820c('0x3a')](_0x2d5f62[_0x820c('0x30')],_0x13ae34['filters']),_0x420497);if(_0x2d5f62[_0x820c('0x30')]['filter']){_0x296c86[_0x820c('0x3b')]=_[_0x820c('0x3c')](_0x296c86[_0x820c('0x3b')],{'$or':_['map'](_0x420497,function(_0x5385e2){if(_0x5385e2[_0x820c('0x2e')]!==_0x820c('0x3d')){var _0x5523fb={};_0x5523fb[_0x5385e2['name']]={'$like':'%'+_0x2d5f62[_0x820c('0x30')]['filter']+'%'};return _0x5523fb;}})});}_0x296c86=_[_0x820c('0x3c')]({},_0x296c86,_0x2d5f62[_0x820c('0x3e')]);var _0x4b1bea={'where':_0x296c86[_0x820c('0x3b')]};return db['AnalyticTreeReport'][_0x820c('0x19')](_0x4b1bea)[_0x820c('0x24')](function(_0x258ded){_0x38add3[_0x820c('0x19')]=_0x258ded;if(_0x2d5f62[_0x820c('0x30')][_0x820c('0x3f')]){_0x296c86[_0x820c('0x40')]=[{'all':!![]}];}return db[_0x820c('0x2b')][_0x820c('0x41')](_0x296c86);})[_0x820c('0x24')](function(_0x14d18e){_0x38add3[_0x820c('0x42')]=_0x14d18e;return _0x38add3;})['then'](respondWithFilteredResult(_0x302ca4,_0x296c86))[_0x820c('0x43')](handleError(_0x302ca4,null));};exports['show']=function(_0xfda112,_0x280dba){var _0x3f9704={'raw':!![],'where':{'id':_0xfda112[_0x820c('0x44')]['id']}},_0x261b5e={};_0x261b5e['model']=_[_0x820c('0x45')](db[_0x820c('0x2b')][_0x820c('0x2c')]);_0x261b5e[_0x820c('0x30')]=_[_0x820c('0x45')](_0xfda112['query']);_0x261b5e[_0x820c('0x31')]=_['intersection'](_0x261b5e[_0x820c('0x2f')],_0x261b5e[_0x820c('0x30')]);_0x3f9704[_0x820c('0x33')]=_[_0x820c('0x32')](_0x261b5e['model'],qs[_0x820c('0x34')](_0xfda112[_0x820c('0x30')]['fields']));_0x3f9704[_0x820c('0x33')]=_0x3f9704[_0x820c('0x33')]['length']?_0x3f9704[_0x820c('0x33')]:_0x261b5e[_0x820c('0x2f')];if(_0xfda112['query'][_0x820c('0x3f')]){_0x3f9704[_0x820c('0x40')]=[{'all':!![]}];}_0x3f9704=_[_0x820c('0x3c')]({},_0x3f9704,_0xfda112[_0x820c('0x3e')]);return db[_0x820c('0x2b')][_0x820c('0x46')](_0x3f9704)[_0x820c('0x24')](handleEntityNotFound(_0x280dba,null))[_0x820c('0x24')](respondWithResult(_0x280dba,null))[_0x820c('0x43')](handleError(_0x280dba,null));};exports[_0x820c('0x47')]=function(_0x299979,_0x37f5da){return db[_0x820c('0x2b')][_0x820c('0x47')](_0x299979[_0x820c('0x48')],{})[_0x820c('0x24')](respondWithResult(_0x37f5da,0xc9))[_0x820c('0x43')](handleError(_0x37f5da,null));};exports[_0x820c('0x22')]=function(_0x121c1b,_0x503ee6){if(_0x121c1b[_0x820c('0x48')]['id']){delete _0x121c1b[_0x820c('0x48')]['id'];}return db['AnalyticTreeReport'][_0x820c('0x46')]({'where':{'id':_0x121c1b[_0x820c('0x44')]['id']}})[_0x820c('0x24')](handleEntityNotFound(_0x503ee6,null))['then'](saveUpdates(_0x121c1b[_0x820c('0x48')],null))[_0x820c('0x24')](respondWithResult(_0x503ee6,null))[_0x820c('0x43')](handleError(_0x503ee6,null));};exports['destroy']=function(_0x2fe23e,_0x2cd223){return db[_0x820c('0x2b')]['find']({'where':{'id':_0x2fe23e[_0x820c('0x44')]['id']}})['then'](handleEntityNotFound(_0x2cd223,null))['then'](removeEntity(_0x2cd223,null))['catch'](handleError(_0x2cd223,null));};