dc2e03908ae025a1dfdcb7d9ef5d83f04453abb3
[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 _0x9518=['key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','where','pick','filter','merge','VIRTUAL','AnalyticTreeReport','count','include','findAll','rows','show','params','find','create','catch','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','json','offset','undefined','set','Content-Range','apply','reject','save','update','then','sendStatus','error','stack','name','send','index','rawAttributes','fieldName','type'];(function(_0x3d40eb,_0x49b32e){var _0x87f08f=function(_0x49f562){while(--_0x49f562){_0x3d40eb['push'](_0x3d40eb['shift']());}};_0x87f08f(++_0x49b32e);}(_0x9518,0x6b));var _0x8951=function(_0x2d69e1,_0x43f881){_0x2d69e1=_0x2d69e1-0x0;var _0x9b5140=_0x9518[_0x2d69e1];return _0x9b5140;};'use strict';var emlformat=require(_0x8951('0x0'));var rimraf=require(_0x8951('0x1'));var zipdir=require(_0x8951('0x2'));var jsonpatch=require(_0x8951('0x3'));var rp=require(_0x8951('0x4'));var moment=require(_0x8951('0x5'));var BPromise=require(_0x8951('0x6'));var Mustache=require('mustache');var util=require(_0x8951('0x7'));var path=require('path');var sox=require(_0x8951('0x8'));var csv=require(_0x8951('0x9'));var ejs=require(_0x8951('0xa'));var fs=require('fs');var fs_extra=require(_0x8951('0xb'));var _=require(_0x8951('0xc'));var squel=require(_0x8951('0xd'));var crypto=require(_0x8951('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x8951('0x9'));var querystring=require('querystring');var Papa=require(_0x8951('0xf'));var Redis=require(_0x8951('0x10'));var authService=require(_0x8951('0x11'));var qs=require(_0x8951('0x12'));var as=require(_0x8951('0x13'));var hardwareService=require(_0x8951('0x14'));var logger=require(_0x8951('0x15'))('api');var utils=require(_0x8951('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x8951('0x17'));var db=require(_0x8951('0x18'))['db'];function respondWithStatusCode(_0x422f30,_0x5717fb){_0x5717fb=_0x5717fb||0xcc;return function(_0x53d7ab){if(_0x53d7ab){return _0x422f30['sendStatus'](_0x5717fb);}return _0x422f30[_0x8951('0x19')](_0x5717fb)['end']();};}function respondWithResult(_0x1ccac7,_0x569ffa){_0x569ffa=_0x569ffa||0xc8;return function(_0x17aa88){if(_0x17aa88){return _0x1ccac7[_0x8951('0x19')](_0x569ffa)[_0x8951('0x1a')](_0x17aa88);}};}function respondWithFilteredResult(_0x5080cc,_0x234049){return function(_0x1796c4){if(_0x1796c4){var _0x332aaa=typeof _0x234049[_0x8951('0x1b')]===_0x8951('0x1c')&&typeof _0x234049['limit']===_0x8951('0x1c');var _0x173f4d=_0x1796c4['count'];var _0xed8aa3=_0x332aaa?0x0:_0x234049['offset'];var _0x57a9b9=_0x332aaa?_0x1796c4['count']:_0x234049[_0x8951('0x1b')]+_0x234049['limit'];var _0x1578fe;if(_0x57a9b9>=_0x173f4d){_0x57a9b9=_0x173f4d;_0x1578fe=0xc8;}else{_0x1578fe=0xce;}_0x5080cc[_0x8951('0x19')](_0x1578fe);return _0x5080cc[_0x8951('0x1d')](_0x8951('0x1e'),_0xed8aa3+'-'+_0x57a9b9+'/'+_0x173f4d)['json'](_0x1796c4);}return null;};}function patchUpdates(_0x53f891){return function(_0x3bcbff){try{jsonpatch[_0x8951('0x1f')](_0x3bcbff,_0x53f891,!![]);}catch(_0x1b5ae5){return BPromise[_0x8951('0x20')](_0x1b5ae5);}return _0x3bcbff[_0x8951('0x21')]();};}function saveUpdates(_0x3781dd,_0x19231b){return function(_0x28dcee){if(_0x28dcee){return _0x28dcee[_0x8951('0x22')](_0x3781dd)[_0x8951('0x23')](function(_0x95bff0){return _0x95bff0;});}return null;};}function removeEntity(_0x364541,_0x35ad04){return function(_0x32a2cd){if(_0x32a2cd){return _0x32a2cd['destroy']()['then'](function(){_0x364541[_0x8951('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x13f444,_0x4c899d){return function(_0x1005e9){if(!_0x1005e9){_0x13f444[_0x8951('0x24')](0x194);}return _0x1005e9;};}function handleError(_0x3a7c72,_0x1898d8){_0x1898d8=_0x1898d8||0x1f4;return function(_0x122d99){logger[_0x8951('0x25')](_0x122d99[_0x8951('0x26')]);if(_0x122d99['name']){delete _0x122d99[_0x8951('0x27')];}_0x3a7c72[_0x8951('0x19')](_0x1898d8)[_0x8951('0x28')](_0x122d99);};}exports[_0x8951('0x29')]=function(_0x321861,_0x27c05e){var _0x3787d3={},_0x2453c3={},_0x3b3ebb={'count':0x0,'rows':[]};var _0x115862=_['map'](db['AnalyticTreeReport'][_0x8951('0x2a')],function(_0x2f4261){return{'name':_0x2f4261[_0x8951('0x2b')],'type':_0x2f4261[_0x8951('0x2c')][_0x8951('0x2d')]};});_0x2453c3[_0x8951('0x2e')]=_[_0x8951('0x2f')](_0x115862,_0x8951('0x27'));_0x2453c3[_0x8951('0x30')]=_[_0x8951('0x31')](_0x321861[_0x8951('0x30')]);_0x2453c3[_0x8951('0x32')]=_[_0x8951('0x33')](_0x2453c3[_0x8951('0x2e')],_0x2453c3[_0x8951('0x30')]);_0x3787d3[_0x8951('0x34')]=_[_0x8951('0x33')](_0x2453c3[_0x8951('0x2e')],qs['fields'](_0x321861[_0x8951('0x30')][_0x8951('0x35')]));_0x3787d3[_0x8951('0x34')]=_0x3787d3[_0x8951('0x34')][_0x8951('0x36')]?_0x3787d3[_0x8951('0x34')]:_0x2453c3[_0x8951('0x2e')];if(!_0x321861['query'][_0x8951('0x37')](_0x8951('0x38'))){_0x3787d3[_0x8951('0x39')]=qs['limit'](_0x321861['query'][_0x8951('0x39')]);_0x3787d3[_0x8951('0x1b')]=qs[_0x8951('0x1b')](_0x321861[_0x8951('0x30')][_0x8951('0x1b')]);}_0x3787d3[_0x8951('0x3a')]=qs['sort'](_0x321861['query']['sort']);_0x3787d3[_0x8951('0x3b')]=qs[_0x8951('0x32')](_[_0x8951('0x3c')](_0x321861[_0x8951('0x30')],_0x2453c3[_0x8951('0x32')]),_0x115862);if(_0x321861['query'][_0x8951('0x3d')]){_0x3787d3[_0x8951('0x3b')]=_[_0x8951('0x3e')](_0x3787d3[_0x8951('0x3b')],{'$or':_[_0x8951('0x2f')](_0x115862,function(_0x304d81){if(_0x304d81[_0x8951('0x2c')]!==_0x8951('0x3f')){var _0x53d489={};_0x53d489[_0x304d81['name']]={'$like':'%'+_0x321861[_0x8951('0x30')][_0x8951('0x3d')]+'%'};return _0x53d489;}})});}_0x3787d3=_['merge']({},_0x3787d3,_0x321861['options']);var _0x3fea04={'where':_0x3787d3[_0x8951('0x3b')]};return db[_0x8951('0x40')][_0x8951('0x41')](_0x3fea04)[_0x8951('0x23')](function(_0x48b18c){_0x3b3ebb[_0x8951('0x41')]=_0x48b18c;if(_0x321861['query']['includeAll']){_0x3787d3[_0x8951('0x42')]=[{'all':!![]}];}return db[_0x8951('0x40')][_0x8951('0x43')](_0x3787d3);})[_0x8951('0x23')](function(_0x4a726d){_0x3b3ebb[_0x8951('0x44')]=_0x4a726d;return _0x3b3ebb;})[_0x8951('0x23')](respondWithFilteredResult(_0x27c05e,_0x3787d3))['catch'](handleError(_0x27c05e,null));};exports[_0x8951('0x45')]=function(_0x337745,_0x317f9b){var _0x5a79f9={'raw':!![],'where':{'id':_0x337745[_0x8951('0x46')]['id']}},_0x1a0ab9={};_0x1a0ab9['model']=_['keys'](db[_0x8951('0x40')][_0x8951('0x2a')]);_0x1a0ab9[_0x8951('0x30')]=_[_0x8951('0x31')](_0x337745[_0x8951('0x30')]);_0x1a0ab9['filters']=_[_0x8951('0x33')](_0x1a0ab9[_0x8951('0x2e')],_0x1a0ab9[_0x8951('0x30')]);_0x5a79f9[_0x8951('0x34')]=_[_0x8951('0x33')](_0x1a0ab9[_0x8951('0x2e')],qs[_0x8951('0x35')](_0x337745[_0x8951('0x30')][_0x8951('0x35')]));_0x5a79f9[_0x8951('0x34')]=_0x5a79f9[_0x8951('0x34')]['length']?_0x5a79f9[_0x8951('0x34')]:_0x1a0ab9[_0x8951('0x2e')];if(_0x337745[_0x8951('0x30')]['includeAll']){_0x5a79f9[_0x8951('0x42')]=[{'all':!![]}];}_0x5a79f9=_[_0x8951('0x3e')]({},_0x5a79f9,_0x337745['options']);return db[_0x8951('0x40')][_0x8951('0x47')](_0x5a79f9)['then'](handleEntityNotFound(_0x317f9b,null))[_0x8951('0x23')](respondWithResult(_0x317f9b,null))['catch'](handleError(_0x317f9b,null));};exports[_0x8951('0x48')]=function(_0x2bc500,_0x23e773){return db[_0x8951('0x40')][_0x8951('0x48')](_0x2bc500['body'],{})['then'](respondWithResult(_0x23e773,0xc9))[_0x8951('0x49')](handleError(_0x23e773,null));};exports[_0x8951('0x22')]=function(_0x54de26,_0x51f7e8){if(_0x54de26[_0x8951('0x4a')]['id']){delete _0x54de26[_0x8951('0x4a')]['id'];}return db[_0x8951('0x40')][_0x8951('0x47')]({'where':{'id':_0x54de26[_0x8951('0x46')]['id']}})[_0x8951('0x23')](handleEntityNotFound(_0x51f7e8,null))[_0x8951('0x23')](saveUpdates(_0x54de26[_0x8951('0x4a')],null))['then'](respondWithResult(_0x51f7e8,null))['catch'](handleError(_0x51f7e8,null));};exports[_0x8951('0x4b')]=function(_0x5be030,_0x2d15b4){return db['AnalyticTreeReport']['find']({'where':{'id':_0x5be030[_0x8951('0x46')]['id']}})[_0x8951('0x23')](handleEntityNotFound(_0x2d15b4,null))[_0x8951('0x23')](removeEntity(_0x2d15b4,null))[_0x8951('0x49')](handleError(_0x2d15b4,null));};