Built motion from commit 85328c08.|2.5.50
[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 _0x58ca=['count','set','apply','reject','save','update','then','end','error','stack','name','index','map','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','filter','merge','includeAll','include','findAll','rows','catch','params','AnalyticTreeReport','length','options','find','create','body','destroy','eml-format','zip-dir','request-promise','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','offset','limit'];(function(_0x22696a,_0x214fd1){var _0x48b6c4=function(_0x3653b0){while(--_0x3653b0){_0x22696a['push'](_0x22696a['shift']());}};_0x48b6c4(++_0x214fd1);}(_0x58ca,0xff));var _0xa58c=function(_0x1e855f,_0x326f9c){_0x1e855f=_0x1e855f-0x0;var _0x1069b9=_0x58ca[_0x1e855f];return _0x1069b9;};'use strict';var emlformat=require(_0xa58c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa58c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa58c('0x2'));var moment=require(_0xa58c('0x3'));var BPromise=require(_0xa58c('0x4'));var Mustache=require('mustache');var util=require(_0xa58c('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0xa58c('0x6'));var ejs=require(_0xa58c('0x7'));var fs=require('fs');var fs_extra=require(_0xa58c('0x8'));var _=require(_0xa58c('0x9'));var squel=require(_0xa58c('0xa'));var crypto=require(_0xa58c('0xb'));var jsforce=require(_0xa58c('0xc'));var deskjs=require(_0xa58c('0xd'));var toCsv=require(_0xa58c('0x6'));var querystring=require(_0xa58c('0xe'));var Papa=require(_0xa58c('0xf'));var Redis=require(_0xa58c('0x10'));var authService=require(_0xa58c('0x11'));var qs=require(_0xa58c('0x12'));var as=require(_0xa58c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa58c('0x14'))(_0xa58c('0x15'));var utils=require(_0xa58c('0x16'));var config=require(_0xa58c('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xa58c('0x18'))['db'];function respondWithStatusCode(_0x5b8e01,_0x365484){_0x365484=_0x365484||0xcc;return function(_0x13919e){if(_0x13919e){return _0x5b8e01['sendStatus'](_0x365484);}return _0x5b8e01[_0xa58c('0x19')](_0x365484)['end']();};}function respondWithResult(_0x32ab5d,_0x3e381e){_0x3e381e=_0x3e381e||0xc8;return function(_0x51cf81){if(_0x51cf81){return _0x32ab5d['status'](_0x3e381e)[_0xa58c('0x1a')](_0x51cf81);}};}function respondWithFilteredResult(_0x306752,_0x5b7907){return function(_0x4cda22){if(_0x4cda22){var _0x128b98=typeof _0x5b7907[_0xa58c('0x1b')]==='undefined'&&typeof _0x5b7907[_0xa58c('0x1c')]==='undefined';var _0x485e38=_0x4cda22[_0xa58c('0x1d')];var _0x1f8ccd=_0x128b98?0x0:_0x5b7907[_0xa58c('0x1b')];var _0x375319=_0x128b98?_0x4cda22[_0xa58c('0x1d')]:_0x5b7907[_0xa58c('0x1b')]+_0x5b7907[_0xa58c('0x1c')];var _0x2e9490;if(_0x375319>=_0x485e38){_0x375319=_0x485e38;_0x2e9490=0xc8;}else{_0x2e9490=0xce;}_0x306752[_0xa58c('0x19')](_0x2e9490);return _0x306752[_0xa58c('0x1e')]('Content-Range',_0x1f8ccd+'-'+_0x375319+'/'+_0x485e38)[_0xa58c('0x1a')](_0x4cda22);}return null;};}function patchUpdates(_0x5a44b9){return function(_0x42733d){try{jsonpatch[_0xa58c('0x1f')](_0x42733d,_0x5a44b9,!![]);}catch(_0x4808c2){return BPromise[_0xa58c('0x20')](_0x4808c2);}return _0x42733d[_0xa58c('0x21')]();};}function saveUpdates(_0x2314be,_0x13c4a4){return function(_0x3bc1aa){if(_0x3bc1aa){return _0x3bc1aa[_0xa58c('0x22')](_0x2314be)[_0xa58c('0x23')](function(_0x42251d){return _0x42251d;});}return null;};}function removeEntity(_0x44126e,_0x6e61df){return function(_0x56c25d){if(_0x56c25d){return _0x56c25d['destroy']()[_0xa58c('0x23')](function(){_0x44126e[_0xa58c('0x19')](0xcc)[_0xa58c('0x24')]();});}};}function handleEntityNotFound(_0x56811f,_0x3f0495){return function(_0x1fac05){if(!_0x1fac05){_0x56811f['sendStatus'](0x194);}return _0x1fac05;};}function handleError(_0x9ebed2,_0x3b38bc){_0x3b38bc=_0x3b38bc||0x1f4;return function(_0x1c43c5){logger[_0xa58c('0x25')](_0x1c43c5[_0xa58c('0x26')]);if(_0x1c43c5[_0xa58c('0x27')]){delete _0x1c43c5[_0xa58c('0x27')];}_0x9ebed2['status'](_0x3b38bc)['send'](_0x1c43c5);};}exports[_0xa58c('0x28')]=function(_0x3f41c1,_0x552cd0){var _0x4f89f7={},_0x379cbb={},_0x52ea3a={'count':0x0,'rows':[]};var _0xe5714a=_[_0xa58c('0x29')](db['AnalyticTreeReport'][_0xa58c('0x2a')],function(_0x5100e2){return{'name':_0x5100e2['fieldName'],'type':_0x5100e2[_0xa58c('0x2b')][_0xa58c('0x2c')]};});_0x379cbb[_0xa58c('0x2d')]=_[_0xa58c('0x29')](_0xe5714a,'name');_0x379cbb[_0xa58c('0x2e')]=_[_0xa58c('0x2f')](_0x3f41c1['query']);_0x379cbb[_0xa58c('0x30')]=_[_0xa58c('0x31')](_0x379cbb[_0xa58c('0x2d')],_0x379cbb['query']);_0x4f89f7[_0xa58c('0x32')]=_['intersection'](_0x379cbb[_0xa58c('0x2d')],qs['fields'](_0x3f41c1[_0xa58c('0x2e')][_0xa58c('0x33')]));_0x4f89f7['attributes']=_0x4f89f7['attributes']['length']?_0x4f89f7[_0xa58c('0x32')]:_0x379cbb[_0xa58c('0x2d')];if(!_0x3f41c1[_0xa58c('0x2e')]['hasOwnProperty'](_0xa58c('0x34'))){_0x4f89f7[_0xa58c('0x1c')]=qs[_0xa58c('0x1c')](_0x3f41c1[_0xa58c('0x2e')][_0xa58c('0x1c')]);_0x4f89f7['offset']=qs[_0xa58c('0x1b')](_0x3f41c1['query']['offset']);}_0x4f89f7[_0xa58c('0x35')]=qs[_0xa58c('0x36')](_0x3f41c1['query'][_0xa58c('0x36')]);_0x4f89f7[_0xa58c('0x37')]=qs[_0xa58c('0x30')](_['pick'](_0x3f41c1[_0xa58c('0x2e')],_0x379cbb['filters']),_0xe5714a);if(_0x3f41c1[_0xa58c('0x2e')][_0xa58c('0x38')]){_0x4f89f7[_0xa58c('0x37')]=_[_0xa58c('0x39')](_0x4f89f7[_0xa58c('0x37')],{'$or':_['map'](_0xe5714a,function(_0x45e1e1){if(_0x45e1e1['type']!=='VIRTUAL'){var _0x3ddd86={};_0x3ddd86[_0x45e1e1[_0xa58c('0x27')]]={'$like':'%'+_0x3f41c1['query'][_0xa58c('0x38')]+'%'};return _0x3ddd86;}})});}_0x4f89f7=_['merge']({},_0x4f89f7,_0x3f41c1['options']);var _0x4a1544={'where':_0x4f89f7[_0xa58c('0x37')]};return db['AnalyticTreeReport'][_0xa58c('0x1d')](_0x4a1544)['then'](function(_0x3d25ef){_0x52ea3a[_0xa58c('0x1d')]=_0x3d25ef;if(_0x3f41c1['query'][_0xa58c('0x3a')]){_0x4f89f7[_0xa58c('0x3b')]=[{'all':!![]}];}return db['AnalyticTreeReport'][_0xa58c('0x3c')](_0x4f89f7);})[_0xa58c('0x23')](function(_0x2e0e3c){_0x52ea3a[_0xa58c('0x3d')]=_0x2e0e3c;return _0x52ea3a;})[_0xa58c('0x23')](respondWithFilteredResult(_0x552cd0,_0x4f89f7))[_0xa58c('0x3e')](handleError(_0x552cd0,null));};exports['show']=function(_0x21fa6c,_0x5d119e){var _0x109a22={'raw':!![],'where':{'id':_0x21fa6c[_0xa58c('0x3f')]['id']}},_0x7570ce={};_0x7570ce[_0xa58c('0x2d')]=_[_0xa58c('0x2f')](db[_0xa58c('0x40')][_0xa58c('0x2a')]);_0x7570ce[_0xa58c('0x2e')]=_[_0xa58c('0x2f')](_0x21fa6c[_0xa58c('0x2e')]);_0x7570ce['filters']=_[_0xa58c('0x31')](_0x7570ce['model'],_0x7570ce['query']);_0x109a22['attributes']=_[_0xa58c('0x31')](_0x7570ce['model'],qs[_0xa58c('0x33')](_0x21fa6c[_0xa58c('0x2e')][_0xa58c('0x33')]));_0x109a22['attributes']=_0x109a22[_0xa58c('0x32')][_0xa58c('0x41')]?_0x109a22[_0xa58c('0x32')]:_0x7570ce[_0xa58c('0x2d')];if(_0x21fa6c[_0xa58c('0x2e')]['includeAll']){_0x109a22[_0xa58c('0x3b')]=[{'all':!![]}];}_0x109a22=_[_0xa58c('0x39')]({},_0x109a22,_0x21fa6c[_0xa58c('0x42')]);return db[_0xa58c('0x40')][_0xa58c('0x43')](_0x109a22)['then'](handleEntityNotFound(_0x5d119e,null))[_0xa58c('0x23')](respondWithResult(_0x5d119e,null))[_0xa58c('0x3e')](handleError(_0x5d119e,null));};exports[_0xa58c('0x44')]=function(_0x50eaab,_0x5f3c3f){return db[_0xa58c('0x40')][_0xa58c('0x44')](_0x50eaab['body'],{})[_0xa58c('0x23')](respondWithResult(_0x5f3c3f,0xc9))[_0xa58c('0x3e')](handleError(_0x5f3c3f,null));};exports[_0xa58c('0x22')]=function(_0x16ea4d,_0x56af32){if(_0x16ea4d['body']['id']){delete _0x16ea4d[_0xa58c('0x45')]['id'];}return db[_0xa58c('0x40')]['find']({'where':{'id':_0x16ea4d[_0xa58c('0x3f')]['id']}})[_0xa58c('0x23')](handleEntityNotFound(_0x56af32,null))[_0xa58c('0x23')](saveUpdates(_0x16ea4d[_0xa58c('0x45')],null))['then'](respondWithResult(_0x56af32,null))[_0xa58c('0x3e')](handleError(_0x56af32,null));};exports[_0xa58c('0x46')]=function(_0x5bb0c4,_0x14c3c6){return db['AnalyticTreeReport'][_0xa58c('0x43')]({'where':{'id':_0x5bb0c4[_0xa58c('0x3f')]['id']}})[_0xa58c('0x23')](handleEntityNotFound(_0x14c3c6,null))[_0xa58c('0x23')](removeEntity(_0x14c3c6,null))['catch'](handleError(_0x14c3c6,null));};