9d4b97035fc8fde6c3d48cccb112e9e815bbc675
[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 _0x5a66=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','error','stack','name','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','VIRTUAL','filter','merge','AnalyticTreeReport','then','includeAll','rows','catch','show','params','include','options','find','create','body','eml-format','rimraf','fast-json-patch','mustache','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x55b516,_0x461f7e){var _0x537739=function(_0x273793){while(--_0x273793){_0x55b516['push'](_0x55b516['shift']());}};_0x537739(++_0x461f7e);}(_0x5a66,0x84));var _0x65a6=function(_0x31972b,_0x4e6f14){_0x31972b=_0x31972b-0x0;var _0x3451c1=_0x5a66[_0x31972b];return _0x3451c1;};'use strict';var emlformat=require(_0x65a6('0x0'));var rimraf=require(_0x65a6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x65a6('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x65a6('0x3'));var util=require('util');var path=require('path');var sox=require(_0x65a6('0x4'));var csv=require(_0x65a6('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x65a6('0x6'));var _=require(_0x65a6('0x7'));var squel=require(_0x65a6('0x8'));var crypto=require(_0x65a6('0x9'));var jsforce=require(_0x65a6('0xa'));var deskjs=require(_0x65a6('0xb'));var toCsv=require(_0x65a6('0x5'));var querystring=require(_0x65a6('0xc'));var Papa=require(_0x65a6('0xd'));var Redis=require(_0x65a6('0xe'));var authService=require(_0x65a6('0xf'));var qs=require(_0x65a6('0x10'));var as=require(_0x65a6('0x11'));var hardwareService=require(_0x65a6('0x12'));var logger=require(_0x65a6('0x13'))(_0x65a6('0x14'));var utils=require(_0x65a6('0x15'));var config=require(_0x65a6('0x16'));var licenseUtil=require(_0x65a6('0x17'));var db=require(_0x65a6('0x18'))['db'];function respondWithStatusCode(_0x28d68f,_0x394569){_0x394569=_0x394569||0xcc;return function(_0x4634a2){if(_0x4634a2){return _0x28d68f[_0x65a6('0x19')](_0x394569);}return _0x28d68f['status'](_0x394569)[_0x65a6('0x1a')]();};}function respondWithResult(_0x5b7dbf,_0x462c59){_0x462c59=_0x462c59||0xc8;return function(_0x1a0078){if(_0x1a0078){return _0x5b7dbf[_0x65a6('0x1b')](_0x462c59)[_0x65a6('0x1c')](_0x1a0078);}};}function respondWithFilteredResult(_0x1d8879,_0x3c64e6){return function(_0x171b92){if(_0x171b92){var _0x261cca=typeof _0x3c64e6[_0x65a6('0x1d')]===_0x65a6('0x1e')&&typeof _0x3c64e6['limit']===_0x65a6('0x1e');var _0x3c728f=_0x171b92[_0x65a6('0x1f')];var _0x2a736f=_0x261cca?0x0:_0x3c64e6[_0x65a6('0x1d')];var _0x13cbb7=_0x261cca?_0x171b92[_0x65a6('0x1f')]:_0x3c64e6[_0x65a6('0x1d')]+_0x3c64e6[_0x65a6('0x20')];var _0x2a4850;if(_0x13cbb7>=_0x3c728f){_0x13cbb7=_0x3c728f;_0x2a4850=0xc8;}else{_0x2a4850=0xce;}_0x1d8879[_0x65a6('0x1b')](_0x2a4850);return _0x1d8879[_0x65a6('0x21')](_0x65a6('0x22'),_0x2a736f+'-'+_0x13cbb7+'/'+_0x3c728f)[_0x65a6('0x1c')](_0x171b92);}return null;};}function patchUpdates(_0x590049){return function(_0x3851a4){try{jsonpatch[_0x65a6('0x23')](_0x3851a4,_0x590049,!![]);}catch(_0x489d6f){return BPromise[_0x65a6('0x24')](_0x489d6f);}return _0x3851a4[_0x65a6('0x25')]();};}function saveUpdates(_0x2ab768,_0x2c7c8e){return function(_0x77f5bb){if(_0x77f5bb){return _0x77f5bb[_0x65a6('0x26')](_0x2ab768)['then'](function(_0x214cdb){return _0x214cdb;});}return null;};}function removeEntity(_0x59e5c4,_0x24ba61){return function(_0x448100){if(_0x448100){return _0x448100[_0x65a6('0x27')]()['then'](function(){_0x59e5c4['status'](0xcc)[_0x65a6('0x1a')]();});}};}function handleEntityNotFound(_0x34f36f,_0x5e3718){return function(_0x32b047){if(!_0x32b047){_0x34f36f[_0x65a6('0x19')](0x194);}return _0x32b047;};}function handleError(_0x3cad9a,_0x28a204){_0x28a204=_0x28a204||0x1f4;return function(_0x163d10){logger[_0x65a6('0x28')](_0x163d10[_0x65a6('0x29')]);if(_0x163d10[_0x65a6('0x2a')]){delete _0x163d10[_0x65a6('0x2a')];}_0x3cad9a['status'](_0x28a204)['send'](_0x163d10);};}exports['index']=function(_0x370879,_0x431d26){var _0xa7313d={},_0x4e5cd0={},_0x137277={'count':0x0,'rows':[]};var _0x188695=_[_0x65a6('0x2b')](db['AnalyticTreeReport'][_0x65a6('0x2c')],function(_0x4aaffa){return{'name':_0x4aaffa[_0x65a6('0x2d')],'type':_0x4aaffa[_0x65a6('0x2e')][_0x65a6('0x2f')]};});_0x4e5cd0[_0x65a6('0x30')]=_[_0x65a6('0x2b')](_0x188695,_0x65a6('0x2a'));_0x4e5cd0[_0x65a6('0x31')]=_[_0x65a6('0x32')](_0x370879['query']);_0x4e5cd0[_0x65a6('0x33')]=_['intersection'](_0x4e5cd0[_0x65a6('0x30')],_0x4e5cd0[_0x65a6('0x31')]);_0xa7313d['attributes']=_[_0x65a6('0x34')](_0x4e5cd0['model'],qs['fields'](_0x370879[_0x65a6('0x31')][_0x65a6('0x35')]));_0xa7313d[_0x65a6('0x36')]=_0xa7313d['attributes'][_0x65a6('0x37')]?_0xa7313d[_0x65a6('0x36')]:_0x4e5cd0[_0x65a6('0x30')];if(!_0x370879[_0x65a6('0x31')]['hasOwnProperty']('nolimit')){_0xa7313d[_0x65a6('0x20')]=qs[_0x65a6('0x20')](_0x370879[_0x65a6('0x31')][_0x65a6('0x20')]);_0xa7313d[_0x65a6('0x1d')]=qs[_0x65a6('0x1d')](_0x370879[_0x65a6('0x31')][_0x65a6('0x1d')]);}_0xa7313d[_0x65a6('0x38')]=qs['sort'](_0x370879[_0x65a6('0x31')][_0x65a6('0x39')]);_0xa7313d[_0x65a6('0x3a')]=qs[_0x65a6('0x33')](_['pick'](_0x370879[_0x65a6('0x31')],_0x4e5cd0[_0x65a6('0x33')]),_0x188695);if(_0x370879['query']['filter']){_0xa7313d[_0x65a6('0x3a')]=_['merge'](_0xa7313d['where'],{'$or':_[_0x65a6('0x2b')](_0x188695,function(_0x1951f8){if(_0x1951f8[_0x65a6('0x2e')]!==_0x65a6('0x3b')){var _0x367bbb={};_0x367bbb[_0x1951f8[_0x65a6('0x2a')]]={'$like':'%'+_0x370879[_0x65a6('0x31')][_0x65a6('0x3c')]+'%'};return _0x367bbb;}})});}_0xa7313d=_[_0x65a6('0x3d')]({},_0xa7313d,_0x370879['options']);var _0x364063={'where':_0xa7313d[_0x65a6('0x3a')]};return db[_0x65a6('0x3e')][_0x65a6('0x1f')](_0x364063)[_0x65a6('0x3f')](function(_0x20550a){_0x137277[_0x65a6('0x1f')]=_0x20550a;if(_0x370879[_0x65a6('0x31')][_0x65a6('0x40')]){_0xa7313d['include']=[{'all':!![]}];}return db[_0x65a6('0x3e')]['findAll'](_0xa7313d);})[_0x65a6('0x3f')](function(_0x52b50a){_0x137277[_0x65a6('0x41')]=_0x52b50a;return _0x137277;})['then'](respondWithFilteredResult(_0x431d26,_0xa7313d))[_0x65a6('0x42')](handleError(_0x431d26,null));};exports[_0x65a6('0x43')]=function(_0x4be20f,_0x4444fa){var _0x5140c3={'raw':!![],'where':{'id':_0x4be20f[_0x65a6('0x44')]['id']}},_0x26e43c={};_0x26e43c[_0x65a6('0x30')]=_[_0x65a6('0x32')](db[_0x65a6('0x3e')][_0x65a6('0x2c')]);_0x26e43c[_0x65a6('0x31')]=_[_0x65a6('0x32')](_0x4be20f[_0x65a6('0x31')]);_0x26e43c['filters']=_[_0x65a6('0x34')](_0x26e43c[_0x65a6('0x30')],_0x26e43c[_0x65a6('0x31')]);_0x5140c3[_0x65a6('0x36')]=_['intersection'](_0x26e43c[_0x65a6('0x30')],qs[_0x65a6('0x35')](_0x4be20f[_0x65a6('0x31')][_0x65a6('0x35')]));_0x5140c3[_0x65a6('0x36')]=_0x5140c3[_0x65a6('0x36')][_0x65a6('0x37')]?_0x5140c3[_0x65a6('0x36')]:_0x26e43c['model'];if(_0x4be20f[_0x65a6('0x31')][_0x65a6('0x40')]){_0x5140c3[_0x65a6('0x45')]=[{'all':!![]}];}_0x5140c3=_[_0x65a6('0x3d')]({},_0x5140c3,_0x4be20f[_0x65a6('0x46')]);return db[_0x65a6('0x3e')][_0x65a6('0x47')](_0x5140c3)[_0x65a6('0x3f')](handleEntityNotFound(_0x4444fa,null))[_0x65a6('0x3f')](respondWithResult(_0x4444fa,null))[_0x65a6('0x42')](handleError(_0x4444fa,null));};exports['create']=function(_0x164da8,_0x34455b){return db[_0x65a6('0x3e')][_0x65a6('0x48')](_0x164da8[_0x65a6('0x49')],{})[_0x65a6('0x3f')](respondWithResult(_0x34455b,0xc9))[_0x65a6('0x42')](handleError(_0x34455b,null));};exports['update']=function(_0x2c678c,_0x4b0258){if(_0x2c678c[_0x65a6('0x49')]['id']){delete _0x2c678c[_0x65a6('0x49')]['id'];}return db[_0x65a6('0x3e')][_0x65a6('0x47')]({'where':{'id':_0x2c678c[_0x65a6('0x44')]['id']}})[_0x65a6('0x3f')](handleEntityNotFound(_0x4b0258,null))[_0x65a6('0x3f')](saveUpdates(_0x2c678c['body'],null))[_0x65a6('0x3f')](respondWithResult(_0x4b0258,null))[_0x65a6('0x42')](handleError(_0x4b0258,null));};exports['destroy']=function(_0x37ecb3,_0x178d45){return db[_0x65a6('0x3e')][_0x65a6('0x47')]({'where':{'id':_0x37ecb3['params']['id']}})[_0x65a6('0x3f')](handleEntityNotFound(_0x178d45,null))[_0x65a6('0x3f')](removeEntity(_0x178d45,null))[_0x65a6('0x42')](handleError(_0x178d45,null));};