f4d67120725187d9d7fb1e9bdeafdb4c541cad79
[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 _0x0f2c=['update','then','destroy','status','sendStatus','error','name','send','index','map','AnalyticTreeReport','rawAttributes','type','model','query','keys','intersection','fields','attributes','nolimit','order','sort','where','filters','merge','VIRTUAL','options','includeAll','include','findAll','rows','length','find','create','body','params','catch','eml-format','zip-dir','request-promise','moment','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','end','json','offset','limit','undefined','count','set','Content-Range','reject'];(function(_0x28947d,_0x4cc9c6){var _0x12d2ee=function(_0x3f38fc){while(--_0x3f38fc){_0x28947d['push'](_0x28947d['shift']());}};_0x12d2ee(++_0x4cc9c6);}(_0x0f2c,0xf4));var _0xc0f2=function(_0x5bb598,_0x560ee8){_0x5bb598=_0x5bb598-0x0;var _0x2e4d2a=_0x0f2c[_0x5bb598];return _0x2e4d2a;};'use strict';var emlformat=require(_0xc0f2('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc0f2('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc0f2('0x2'));var moment=require(_0xc0f2('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc0f2('0x4'));var util=require('util');var path=require(_0xc0f2('0x5'));var sox=require(_0xc0f2('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc0f2('0x7'));var squel=require(_0xc0f2('0x8'));var crypto=require(_0xc0f2('0x9'));var jsforce=require(_0xc0f2('0xa'));var deskjs=require(_0xc0f2('0xb'));var toCsv=require(_0xc0f2('0xc'));var querystring=require(_0xc0f2('0xd'));var Papa=require(_0xc0f2('0xe'));var Redis=require('ioredis');var authService=require(_0xc0f2('0xf'));var qs=require(_0xc0f2('0x10'));var as=require(_0xc0f2('0x11'));var hardwareService=require(_0xc0f2('0x12'));var logger=require('../../config/logger')(_0xc0f2('0x13'));var utils=require(_0xc0f2('0x14'));var config=require(_0xc0f2('0x15'));var licenseUtil=require(_0xc0f2('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1f3475,_0x3466a4){_0x3466a4=_0x3466a4||0xcc;return function(_0x72fce1){if(_0x72fce1){return _0x1f3475['sendStatus'](_0x3466a4);}return _0x1f3475['status'](_0x3466a4)[_0xc0f2('0x17')]();};}function respondWithResult(_0xc15e26,_0x2b9348){_0x2b9348=_0x2b9348||0xc8;return function(_0x372731){if(_0x372731){return _0xc15e26['status'](_0x2b9348)[_0xc0f2('0x18')](_0x372731);}};}function respondWithFilteredResult(_0x2ed903,_0x19b2d8){return function(_0x39893e){if(_0x39893e){var _0x346aa9=typeof _0x19b2d8[_0xc0f2('0x19')]==='undefined'&&typeof _0x19b2d8[_0xc0f2('0x1a')]===_0xc0f2('0x1b');var _0x40fced=_0x39893e['count'];var _0x2715d5=_0x346aa9?0x0:_0x19b2d8[_0xc0f2('0x19')];var _0x13aa84=_0x346aa9?_0x39893e[_0xc0f2('0x1c')]:_0x19b2d8['offset']+_0x19b2d8[_0xc0f2('0x1a')];var _0x48fcf6;if(_0x13aa84>=_0x40fced){_0x13aa84=_0x40fced;_0x48fcf6=0xc8;}else{_0x48fcf6=0xce;}_0x2ed903['status'](_0x48fcf6);return _0x2ed903[_0xc0f2('0x1d')](_0xc0f2('0x1e'),_0x2715d5+'-'+_0x13aa84+'/'+_0x40fced)[_0xc0f2('0x18')](_0x39893e);}return null;};}function patchUpdates(_0xe86f57){return function(_0x1d4fcf){try{jsonpatch['apply'](_0x1d4fcf,_0xe86f57,!![]);}catch(_0x179451){return BPromise[_0xc0f2('0x1f')](_0x179451);}return _0x1d4fcf['save']();};}function saveUpdates(_0x590908,_0x1f2317){return function(_0x11e002){if(_0x11e002){return _0x11e002[_0xc0f2('0x20')](_0x590908)[_0xc0f2('0x21')](function(_0xc8d77){return _0xc8d77;});}return null;};}function removeEntity(_0x1ff485,_0x4c65d9){return function(_0x55c36f){if(_0x55c36f){return _0x55c36f[_0xc0f2('0x22')]()[_0xc0f2('0x21')](function(){_0x1ff485[_0xc0f2('0x23')](0xcc)[_0xc0f2('0x17')]();});}};}function handleEntityNotFound(_0x41f8eb,_0x1eb435){return function(_0x408b51){if(!_0x408b51){_0x41f8eb[_0xc0f2('0x24')](0x194);}return _0x408b51;};}function handleError(_0x309be4,_0x33589f){_0x33589f=_0x33589f||0x1f4;return function(_0x4fd7a0){logger[_0xc0f2('0x25')](_0x4fd7a0['stack']);if(_0x4fd7a0['name']){delete _0x4fd7a0[_0xc0f2('0x26')];}_0x309be4[_0xc0f2('0x23')](_0x33589f)[_0xc0f2('0x27')](_0x4fd7a0);};}exports[_0xc0f2('0x28')]=function(_0x3d492d,_0x2c1afa){var _0x34fc29={},_0x168e0d={},_0x39359f={'count':0x0,'rows':[]};var _0x27a7da=_[_0xc0f2('0x29')](db[_0xc0f2('0x2a')][_0xc0f2('0x2b')],function(_0x5702cc){return{'name':_0x5702cc['fieldName'],'type':_0x5702cc[_0xc0f2('0x2c')]['key']};});_0x168e0d[_0xc0f2('0x2d')]=_['map'](_0x27a7da,_0xc0f2('0x26'));_0x168e0d[_0xc0f2('0x2e')]=_[_0xc0f2('0x2f')](_0x3d492d[_0xc0f2('0x2e')]);_0x168e0d['filters']=_[_0xc0f2('0x30')](_0x168e0d['model'],_0x168e0d[_0xc0f2('0x2e')]);_0x34fc29['attributes']=_[_0xc0f2('0x30')](_0x168e0d['model'],qs['fields'](_0x3d492d[_0xc0f2('0x2e')][_0xc0f2('0x31')]));_0x34fc29['attributes']=_0x34fc29[_0xc0f2('0x32')]['length']?_0x34fc29[_0xc0f2('0x32')]:_0x168e0d[_0xc0f2('0x2d')];if(!_0x3d492d[_0xc0f2('0x2e')]['hasOwnProperty'](_0xc0f2('0x33'))){_0x34fc29['limit']=qs['limit'](_0x3d492d[_0xc0f2('0x2e')][_0xc0f2('0x1a')]);_0x34fc29[_0xc0f2('0x19')]=qs[_0xc0f2('0x19')](_0x3d492d['query'][_0xc0f2('0x19')]);}_0x34fc29[_0xc0f2('0x34')]=qs['sort'](_0x3d492d['query'][_0xc0f2('0x35')]);_0x34fc29[_0xc0f2('0x36')]=qs[_0xc0f2('0x37')](_['pick'](_0x3d492d[_0xc0f2('0x2e')],_0x168e0d[_0xc0f2('0x37')]),_0x27a7da);if(_0x3d492d[_0xc0f2('0x2e')]['filter']){_0x34fc29[_0xc0f2('0x36')]=_[_0xc0f2('0x38')](_0x34fc29[_0xc0f2('0x36')],{'$or':_[_0xc0f2('0x29')](_0x27a7da,function(_0x3b3d9b){if(_0x3b3d9b[_0xc0f2('0x2c')]!==_0xc0f2('0x39')){var _0x40cca3={};_0x40cca3[_0x3b3d9b[_0xc0f2('0x26')]]={'$like':'%'+_0x3d492d['query']['filter']+'%'};return _0x40cca3;}})});}_0x34fc29=_[_0xc0f2('0x38')]({},_0x34fc29,_0x3d492d[_0xc0f2('0x3a')]);var _0x157744={'where':_0x34fc29[_0xc0f2('0x36')]};return db[_0xc0f2('0x2a')]['count'](_0x157744)[_0xc0f2('0x21')](function(_0x24ef9f){_0x39359f[_0xc0f2('0x1c')]=_0x24ef9f;if(_0x3d492d[_0xc0f2('0x2e')][_0xc0f2('0x3b')]){_0x34fc29[_0xc0f2('0x3c')]=[{'all':!![]}];}return db['AnalyticTreeReport'][_0xc0f2('0x3d')](_0x34fc29);})[_0xc0f2('0x21')](function(_0x22364f){_0x39359f[_0xc0f2('0x3e')]=_0x22364f;return _0x39359f;})['then'](respondWithFilteredResult(_0x2c1afa,_0x34fc29))['catch'](handleError(_0x2c1afa,null));};exports['show']=function(_0x1d09ed,_0x3a760a){var _0x400569={'raw':!![],'where':{'id':_0x1d09ed['params']['id']}},_0x25631d={};_0x25631d[_0xc0f2('0x2d')]=_[_0xc0f2('0x2f')](db[_0xc0f2('0x2a')]['rawAttributes']);_0x25631d['query']=_[_0xc0f2('0x2f')](_0x1d09ed[_0xc0f2('0x2e')]);_0x25631d['filters']=_[_0xc0f2('0x30')](_0x25631d[_0xc0f2('0x2d')],_0x25631d[_0xc0f2('0x2e')]);_0x400569[_0xc0f2('0x32')]=_[_0xc0f2('0x30')](_0x25631d[_0xc0f2('0x2d')],qs[_0xc0f2('0x31')](_0x1d09ed[_0xc0f2('0x2e')][_0xc0f2('0x31')]));_0x400569[_0xc0f2('0x32')]=_0x400569[_0xc0f2('0x32')][_0xc0f2('0x3f')]?_0x400569[_0xc0f2('0x32')]:_0x25631d[_0xc0f2('0x2d')];if(_0x1d09ed['query'][_0xc0f2('0x3b')]){_0x400569[_0xc0f2('0x3c')]=[{'all':!![]}];}_0x400569=_[_0xc0f2('0x38')]({},_0x400569,_0x1d09ed[_0xc0f2('0x3a')]);return db[_0xc0f2('0x2a')][_0xc0f2('0x40')](_0x400569)[_0xc0f2('0x21')](handleEntityNotFound(_0x3a760a,null))[_0xc0f2('0x21')](respondWithResult(_0x3a760a,null))['catch'](handleError(_0x3a760a,null));};exports[_0xc0f2('0x41')]=function(_0x156ee5,_0x838826){return db[_0xc0f2('0x2a')][_0xc0f2('0x41')](_0x156ee5[_0xc0f2('0x42')],{})['then'](respondWithResult(_0x838826,0xc9))['catch'](handleError(_0x838826,null));};exports['update']=function(_0x15b0e6,_0x268dcd){if(_0x15b0e6[_0xc0f2('0x42')]['id']){delete _0x15b0e6[_0xc0f2('0x42')]['id'];}return db['AnalyticTreeReport'][_0xc0f2('0x40')]({'where':{'id':_0x15b0e6[_0xc0f2('0x43')]['id']}})['then'](handleEntityNotFound(_0x268dcd,null))[_0xc0f2('0x21')](saveUpdates(_0x15b0e6['body'],null))[_0xc0f2('0x21')](respondWithResult(_0x268dcd,null))['catch'](handleError(_0x268dcd,null));};exports['destroy']=function(_0xb3456d,_0x38c23a){return db['AnalyticTreeReport'][_0xc0f2('0x40')]({'where':{'id':_0xb3456d['params']['id']}})[_0xc0f2('0x21')](handleEntityNotFound(_0x38c23a,null))[_0xc0f2('0x21')](removeEntity(_0x38c23a,null))[_0xc0f2('0x44')](handleError(_0x38c23a,null));};