Built motion from commit d1eab355.|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 _0x5964=['options','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','name','send','index','map','AnalyticTreeReport','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL'];(function(_0x5e8c32,_0x1b1f3f){var _0x595f7b=function(_0x38840e){while(--_0x38840e){_0x5e8c32['push'](_0x5e8c32['shift']());}};_0x595f7b(++_0x1b1f3f);}(_0x5964,0xa7));var _0x4596=function(_0x8ed2fe,_0x19ca78){_0x8ed2fe=_0x8ed2fe-0x0;var _0x23a751=_0x5964[_0x8ed2fe];return _0x23a751;};'use strict';var emlformat=require(_0x4596('0x0'));var rimraf=require(_0x4596('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4596('0x2'));var rp=require(_0x4596('0x3'));var moment=require(_0x4596('0x4'));var BPromise=require(_0x4596('0x5'));var Mustache=require(_0x4596('0x6'));var util=require('util');var path=require(_0x4596('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x4596('0x8'));var fs=require('fs');var fs_extra=require(_0x4596('0x9'));var _=require(_0x4596('0xa'));var squel=require(_0x4596('0xb'));var crypto=require(_0x4596('0xc'));var jsforce=require(_0x4596('0xd'));var deskjs=require(_0x4596('0xe'));var toCsv=require(_0x4596('0xf'));var querystring=require(_0x4596('0x10'));var Papa=require(_0x4596('0x11'));var Redis=require(_0x4596('0x12'));var authService=require(_0x4596('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4596('0x14'));var logger=require(_0x4596('0x15'))(_0x4596('0x16'));var utils=require(_0x4596('0x17'));var config=require(_0x4596('0x18'));var licenseUtil=require(_0x4596('0x19'));var db=require(_0x4596('0x1a'))['db'];function respondWithStatusCode(_0x2f7b5b,_0x369fdb){_0x369fdb=_0x369fdb||0xcc;return function(_0x1b6c23){if(_0x1b6c23){return _0x2f7b5b['sendStatus'](_0x369fdb);}return _0x2f7b5b[_0x4596('0x1b')](_0x369fdb)[_0x4596('0x1c')]();};}function respondWithResult(_0x29dc33,_0x56448d){_0x56448d=_0x56448d||0xc8;return function(_0x3193e7){if(_0x3193e7){return _0x29dc33['status'](_0x56448d)[_0x4596('0x1d')](_0x3193e7);}};}function respondWithFilteredResult(_0x18830e,_0x1dacee){return function(_0x508b8a){if(_0x508b8a){var _0x5b1c13=typeof _0x1dacee[_0x4596('0x1e')]===_0x4596('0x1f')&&typeof _0x1dacee[_0x4596('0x20')]===_0x4596('0x1f');var _0x2a02d6=_0x508b8a[_0x4596('0x21')];var _0x475145=_0x5b1c13?0x0:_0x1dacee[_0x4596('0x1e')];var _0x427dc4=_0x5b1c13?_0x508b8a[_0x4596('0x21')]:_0x1dacee['offset']+_0x1dacee[_0x4596('0x20')];var _0x449ca6;if(_0x427dc4>=_0x2a02d6){_0x427dc4=_0x2a02d6;_0x449ca6=0xc8;}else{_0x449ca6=0xce;}_0x18830e[_0x4596('0x1b')](_0x449ca6);return _0x18830e[_0x4596('0x22')](_0x4596('0x23'),_0x475145+'-'+_0x427dc4+'/'+_0x2a02d6)[_0x4596('0x1d')](_0x508b8a);}return null;};}function patchUpdates(_0x427f8c){return function(_0x3a0a32){try{jsonpatch[_0x4596('0x24')](_0x3a0a32,_0x427f8c,!![]);}catch(_0x2628cb){return BPromise[_0x4596('0x25')](_0x2628cb);}return _0x3a0a32[_0x4596('0x26')]();};}function saveUpdates(_0x5843ce,_0xe37bfe){return function(_0x53d1c4){if(_0x53d1c4){return _0x53d1c4[_0x4596('0x27')](_0x5843ce)['then'](function(_0x2e28ae){return _0x2e28ae;});}return null;};}function removeEntity(_0x26b29e,_0x480faa){return function(_0x5cbd05){if(_0x5cbd05){return _0x5cbd05[_0x4596('0x28')]()[_0x4596('0x29')](function(){_0x26b29e['status'](0xcc)[_0x4596('0x1c')]();});}};}function handleEntityNotFound(_0x1812f6,_0x3c8e7e){return function(_0x42bf3e){if(!_0x42bf3e){_0x1812f6['sendStatus'](0x194);}return _0x42bf3e;};}function handleError(_0x2b9f7f,_0x24631a){_0x24631a=_0x24631a||0x1f4;return function(_0x2064a5){logger['error'](_0x2064a5['stack']);if(_0x2064a5[_0x4596('0x2a')]){delete _0x2064a5[_0x4596('0x2a')];}_0x2b9f7f['status'](_0x24631a)[_0x4596('0x2b')](_0x2064a5);};}exports[_0x4596('0x2c')]=function(_0x2bb621,_0x4d852f){var _0x3dc8bd={},_0xd915c0={},_0x5c1b1f={'count':0x0,'rows':[]};var _0x1aac39=_[_0x4596('0x2d')](db[_0x4596('0x2e')]['rawAttributes'],function(_0x206d4b){return{'name':_0x206d4b[_0x4596('0x2f')],'type':_0x206d4b[_0x4596('0x30')]['key']};});_0xd915c0[_0x4596('0x31')]=_[_0x4596('0x2d')](_0x1aac39,'name');_0xd915c0[_0x4596('0x32')]=_['keys'](_0x2bb621['query']);_0xd915c0[_0x4596('0x33')]=_[_0x4596('0x34')](_0xd915c0[_0x4596('0x31')],_0xd915c0[_0x4596('0x32')]);_0x3dc8bd[_0x4596('0x35')]=_[_0x4596('0x34')](_0xd915c0[_0x4596('0x31')],qs[_0x4596('0x36')](_0x2bb621[_0x4596('0x32')][_0x4596('0x36')]));_0x3dc8bd['attributes']=_0x3dc8bd[_0x4596('0x35')][_0x4596('0x37')]?_0x3dc8bd[_0x4596('0x35')]:_0xd915c0[_0x4596('0x31')];if(!_0x2bb621[_0x4596('0x32')][_0x4596('0x38')]('nolimit')){_0x3dc8bd[_0x4596('0x20')]=qs[_0x4596('0x20')](_0x2bb621[_0x4596('0x32')][_0x4596('0x20')]);_0x3dc8bd[_0x4596('0x1e')]=qs[_0x4596('0x1e')](_0x2bb621[_0x4596('0x32')][_0x4596('0x1e')]);}_0x3dc8bd[_0x4596('0x39')]=qs[_0x4596('0x3a')](_0x2bb621[_0x4596('0x32')][_0x4596('0x3a')]);_0x3dc8bd[_0x4596('0x3b')]=qs[_0x4596('0x33')](_[_0x4596('0x3c')](_0x2bb621[_0x4596('0x32')],_0xd915c0[_0x4596('0x33')]),_0x1aac39);if(_0x2bb621[_0x4596('0x32')][_0x4596('0x3d')]){_0x3dc8bd[_0x4596('0x3b')]=_[_0x4596('0x3e')](_0x3dc8bd['where'],{'$or':_['map'](_0x1aac39,function(_0x59bb36){if(_0x59bb36[_0x4596('0x30')]!==_0x4596('0x3f')){var _0x3a430a={};_0x3a430a[_0x59bb36[_0x4596('0x2a')]]={'$like':'%'+_0x2bb621[_0x4596('0x32')][_0x4596('0x3d')]+'%'};return _0x3a430a;}})});}_0x3dc8bd=_[_0x4596('0x3e')]({},_0x3dc8bd,_0x2bb621[_0x4596('0x40')]);var _0x1dfa6b={'where':_0x3dc8bd[_0x4596('0x3b')]};return db[_0x4596('0x2e')][_0x4596('0x21')](_0x1dfa6b)[_0x4596('0x29')](function(_0x34e192){_0x5c1b1f[_0x4596('0x21')]=_0x34e192;if(_0x2bb621[_0x4596('0x32')][_0x4596('0x41')]){_0x3dc8bd[_0x4596('0x42')]=[{'all':!![]}];}return db['AnalyticTreeReport'][_0x4596('0x43')](_0x3dc8bd);})['then'](function(_0x404388){_0x5c1b1f[_0x4596('0x44')]=_0x404388;return _0x5c1b1f;})['then'](respondWithFilteredResult(_0x4d852f,_0x3dc8bd))[_0x4596('0x45')](handleError(_0x4d852f,null));};exports[_0x4596('0x46')]=function(_0x4b89bf,_0x14c726){var _0xd9145a={'raw':!![],'where':{'id':_0x4b89bf[_0x4596('0x47')]['id']}},_0x30eff9={};_0x30eff9[_0x4596('0x31')]=_[_0x4596('0x48')](db[_0x4596('0x2e')][_0x4596('0x49')]);_0x30eff9['query']=_[_0x4596('0x48')](_0x4b89bf['query']);_0x30eff9['filters']=_[_0x4596('0x34')](_0x30eff9['model'],_0x30eff9[_0x4596('0x32')]);_0xd9145a[_0x4596('0x35')]=_[_0x4596('0x34')](_0x30eff9[_0x4596('0x31')],qs[_0x4596('0x36')](_0x4b89bf[_0x4596('0x32')][_0x4596('0x36')]));_0xd9145a[_0x4596('0x35')]=_0xd9145a['attributes'][_0x4596('0x37')]?_0xd9145a[_0x4596('0x35')]:_0x30eff9[_0x4596('0x31')];if(_0x4b89bf[_0x4596('0x32')][_0x4596('0x41')]){_0xd9145a[_0x4596('0x42')]=[{'all':!![]}];}_0xd9145a=_[_0x4596('0x3e')]({},_0xd9145a,_0x4b89bf[_0x4596('0x40')]);return db[_0x4596('0x2e')][_0x4596('0x4a')](_0xd9145a)['then'](handleEntityNotFound(_0x14c726,null))[_0x4596('0x29')](respondWithResult(_0x14c726,null))[_0x4596('0x45')](handleError(_0x14c726,null));};exports[_0x4596('0x4b')]=function(_0x10bbfb,_0x39b928){return db[_0x4596('0x2e')][_0x4596('0x4b')](_0x10bbfb['body'],{})[_0x4596('0x29')](respondWithResult(_0x39b928,0xc9))['catch'](handleError(_0x39b928,null));};exports['update']=function(_0x2f24b7,_0xcf3873){if(_0x2f24b7[_0x4596('0x4c')]['id']){delete _0x2f24b7[_0x4596('0x4c')]['id'];}return db['AnalyticTreeReport'][_0x4596('0x4a')]({'where':{'id':_0x2f24b7[_0x4596('0x47')]['id']}})[_0x4596('0x29')](handleEntityNotFound(_0xcf3873,null))[_0x4596('0x29')](saveUpdates(_0x2f24b7['body'],null))[_0x4596('0x29')](respondWithResult(_0xcf3873,null))[_0x4596('0x45')](handleError(_0xcf3873,null));};exports[_0x4596('0x28')]=function(_0x5d7aee,_0x375cce){return db[_0x4596('0x2e')][_0x4596('0x4a')]({'where':{'id':_0x5d7aee[_0x4596('0x47')]['id']}})[_0x4596('0x29')](handleEntityNotFound(_0x375cce,null))[_0x4596('0x29')](removeEntity(_0x375cce,null))[_0x4596('0x45')](handleError(_0x375cce,null));};