62a6cf63ab7d6bf4541ac98937c6bbaf3b85c313
[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 _0x1fd7=['apply','reject','update','then','destroy','end','sendStatus','error','stack','name','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','create','body','find','html-pdf','rimraf','zip-dir','bluebird','mustache','util','path','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','count','offset','limit','Content-Range','json'];(function(_0x17a249,_0x4f941c){var _0x19e05f=function(_0x19aced){while(--_0x19aced){_0x17a249['push'](_0x17a249['shift']());}};_0x19e05f(++_0x4f941c);}(_0x1fd7,0x14f));var _0x71fd=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x1fd7[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x71fd('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x71fd('0x1'));var zipdir=require(_0x71fd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x71fd('0x3'));var Mustache=require(_0x71fd('0x4'));var util=require(_0x71fd('0x5'));var path=require(_0x71fd('0x6'));var sox=require('sox');var csv=require(_0x71fd('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x71fd('0x8'));var squel=require('squel');var crypto=require(_0x71fd('0x9'));var jsforce=require(_0x71fd('0xa'));var deskjs=require(_0x71fd('0xb'));var toCsv=require('to-csv');var querystring=require(_0x71fd('0xc'));var Papa=require(_0x71fd('0xd'));var Redis=require(_0x71fd('0xe'));var authService=require(_0x71fd('0xf'));var qs=require(_0x71fd('0x10'));var as=require(_0x71fd('0x11'));var hardwareService=require(_0x71fd('0x12'));var logger=require(_0x71fd('0x13'))(_0x71fd('0x14'));var utils=require(_0x71fd('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x71fd('0x16'));var db=require(_0x71fd('0x17'))['db'];function respondWithStatusCode(_0x445ee0,_0x37365f){_0x37365f=_0x37365f||0xcc;return function(_0x3b06ab){if(_0x3b06ab){return _0x445ee0['sendStatus'](_0x37365f);}return _0x445ee0[_0x71fd('0x18')](_0x37365f)['end']();};}function respondWithResult(_0x4b639c,_0x2571cc){_0x2571cc=_0x2571cc||0xc8;return function(_0x484dac){if(_0x484dac){return _0x4b639c[_0x71fd('0x18')](_0x2571cc)['json'](_0x484dac);}};}function respondWithFilteredResult(_0x374812,_0x23cc27){return function(_0x486336){if(_0x486336){var _0x537af2=_0x486336[_0x71fd('0x19')],_0x5b1ec9=_0x23cc27[_0x71fd('0x1a')],_0x42080c=_0x23cc27[_0x71fd('0x1a')]+_0x23cc27[_0x71fd('0x1b')],_0x152656;if(_0x42080c>=_0x537af2){_0x42080c=_0x537af2;_0x152656=0xc8;}else{_0x152656=0xce;}_0x374812['status'](_0x152656);return _0x374812['set'](_0x71fd('0x1c'),_0x5b1ec9+'-'+_0x42080c+'/'+_0x537af2)[_0x71fd('0x1d')](_0x486336);}return null;};}function patchUpdates(_0x147754){return function(_0x3ca67c){try{jsonpatch[_0x71fd('0x1e')](_0x3ca67c,_0x147754,!![]);}catch(_0x12d6e3){return BPromise[_0x71fd('0x1f')](_0x12d6e3);}return _0x3ca67c['save']();};}function saveUpdates(_0x57b3e9,_0x1b6820){return function(_0x2e75d8){if(_0x2e75d8){return _0x2e75d8[_0x71fd('0x20')](_0x57b3e9)[_0x71fd('0x21')](function(_0x15adf9){return _0x15adf9;});}return null;};}function removeEntity(_0x5102aa,_0xf665fc){return function(_0x3272e1){if(_0x3272e1){return _0x3272e1[_0x71fd('0x22')]()['then'](function(){_0x5102aa[_0x71fd('0x18')](0xcc)[_0x71fd('0x23')]();});}};}function handleEntityNotFound(_0x5d738f,_0x32ff53){return function(_0x559fa1){if(!_0x559fa1){_0x5d738f[_0x71fd('0x24')](0x194);}return _0x559fa1;};}function handleError(_0x2d3b2c,_0x34897a){_0x34897a=_0x34897a||0x1f4;return function(_0x40acfc){logger[_0x71fd('0x25')](_0x40acfc[_0x71fd('0x26')]);if(_0x40acfc[_0x71fd('0x27')]){delete _0x40acfc[_0x71fd('0x27')];}_0x2d3b2c['status'](_0x34897a)[_0x71fd('0x28')](_0x40acfc);};}exports[_0x71fd('0x29')]=function(_0x1c46bb,_0x9c2f8f){var _0x3b1bfc={},_0x1406c8={},_0x13f670={'count':0x0,'rows':[]};var _0x3e512b=_[_0x71fd('0x2a')](db[_0x71fd('0x2b')][_0x71fd('0x2c')],function(_0x5067a6){return{'name':_0x5067a6[_0x71fd('0x2d')],'type':_0x5067a6[_0x71fd('0x2e')][_0x71fd('0x2f')]};});_0x1406c8[_0x71fd('0x30')]=_[_0x71fd('0x2a')](_0x3e512b,_0x71fd('0x27'));_0x1406c8[_0x71fd('0x31')]=_[_0x71fd('0x32')](_0x1c46bb['query']);_0x1406c8[_0x71fd('0x33')]=_[_0x71fd('0x34')](_0x1406c8[_0x71fd('0x30')],_0x1406c8['query']);_0x3b1bfc['attributes']=_[_0x71fd('0x34')](_0x1406c8[_0x71fd('0x30')],qs[_0x71fd('0x35')](_0x1c46bb[_0x71fd('0x31')]['fields']));_0x3b1bfc[_0x71fd('0x36')]=_0x3b1bfc[_0x71fd('0x36')][_0x71fd('0x37')]?_0x3b1bfc[_0x71fd('0x36')]:_0x1406c8[_0x71fd('0x30')];if(!_0x1c46bb[_0x71fd('0x31')]['hasOwnProperty'](_0x71fd('0x38'))){_0x3b1bfc[_0x71fd('0x1b')]=qs[_0x71fd('0x1b')](_0x1c46bb['query']['limit']);_0x3b1bfc[_0x71fd('0x1a')]=qs[_0x71fd('0x1a')](_0x1c46bb['query'][_0x71fd('0x1a')]);}_0x3b1bfc['order']=qs['sort'](_0x1c46bb[_0x71fd('0x31')][_0x71fd('0x39')]);_0x3b1bfc[_0x71fd('0x3a')]=qs[_0x71fd('0x33')](_[_0x71fd('0x3b')](_0x1c46bb['query'],_0x1406c8[_0x71fd('0x33')]),_0x3e512b);if(_0x1c46bb['query'][_0x71fd('0x3c')]){_0x3b1bfc[_0x71fd('0x3a')]=_[_0x71fd('0x3d')](_0x3b1bfc[_0x71fd('0x3a')],{'$or':_[_0x71fd('0x2a')](_0x3e512b,function(_0x264f3d){if(_0x264f3d[_0x71fd('0x2e')]!==_0x71fd('0x3e')){var _0x3a380a={};_0x3a380a[_0x264f3d['name']]={'$like':'%'+_0x1c46bb[_0x71fd('0x31')][_0x71fd('0x3c')]+'%'};return _0x3a380a;}})});}_0x3b1bfc=_['merge']({},_0x3b1bfc,_0x1c46bb[_0x71fd('0x3f')]);var _0x3fe58d={'where':_0x3b1bfc[_0x71fd('0x3a')]};return db[_0x71fd('0x2b')][_0x71fd('0x19')](_0x3fe58d)[_0x71fd('0x21')](function(_0x2c7383){_0x13f670[_0x71fd('0x19')]=_0x2c7383;if(_0x1c46bb[_0x71fd('0x31')][_0x71fd('0x40')]){_0x3b1bfc['include']=[{'all':!![]}];}return db['AnalyticTreeReport'][_0x71fd('0x41')](_0x3b1bfc);})[_0x71fd('0x21')](function(_0x322d37){_0x13f670[_0x71fd('0x42')]=_0x322d37;return _0x13f670;})[_0x71fd('0x21')](respondWithFilteredResult(_0x9c2f8f,_0x3b1bfc))[_0x71fd('0x43')](handleError(_0x9c2f8f,null));};exports[_0x71fd('0x44')]=function(_0x2ef00f,_0x13828b){var _0x396d28={'raw':!![],'where':{'id':_0x2ef00f[_0x71fd('0x45')]['id']}},_0x31ec82={};_0x31ec82[_0x71fd('0x30')]=_[_0x71fd('0x32')](db[_0x71fd('0x2b')][_0x71fd('0x2c')]);_0x31ec82[_0x71fd('0x31')]=_[_0x71fd('0x32')](_0x2ef00f[_0x71fd('0x31')]);_0x31ec82[_0x71fd('0x33')]=_[_0x71fd('0x34')](_0x31ec82[_0x71fd('0x30')],_0x31ec82[_0x71fd('0x31')]);_0x396d28[_0x71fd('0x36')]=_[_0x71fd('0x34')](_0x31ec82[_0x71fd('0x30')],qs[_0x71fd('0x35')](_0x2ef00f[_0x71fd('0x31')][_0x71fd('0x35')]));_0x396d28[_0x71fd('0x36')]=_0x396d28['attributes']['length']?_0x396d28[_0x71fd('0x36')]:_0x31ec82['model'];if(_0x2ef00f[_0x71fd('0x31')]['includeAll']){_0x396d28['include']=[{'all':!![]}];}_0x396d28=_[_0x71fd('0x3d')]({},_0x396d28,_0x2ef00f[_0x71fd('0x3f')]);return db['AnalyticTreeReport']['find'](_0x396d28)[_0x71fd('0x21')](handleEntityNotFound(_0x13828b,null))['then'](respondWithResult(_0x13828b,null))[_0x71fd('0x43')](handleError(_0x13828b,null));};exports[_0x71fd('0x46')]=function(_0x1b8e25,_0xf9d07f){return db[_0x71fd('0x2b')][_0x71fd('0x46')](_0x1b8e25[_0x71fd('0x47')],{})[_0x71fd('0x21')](respondWithResult(_0xf9d07f,0xc9))[_0x71fd('0x43')](handleError(_0xf9d07f,null));};exports['update']=function(_0x5d8357,_0x52b83b){if(_0x5d8357[_0x71fd('0x47')]['id']){delete _0x5d8357[_0x71fd('0x47')]['id'];}return db['AnalyticTreeReport'][_0x71fd('0x48')]({'where':{'id':_0x5d8357[_0x71fd('0x45')]['id']}})[_0x71fd('0x21')](handleEntityNotFound(_0x52b83b,null))['then'](saveUpdates(_0x5d8357['body'],null))[_0x71fd('0x21')](respondWithResult(_0x52b83b,null))['catch'](handleError(_0x52b83b,null));};exports[_0x71fd('0x22')]=function(_0x4c2d08,_0x10c894){return db[_0x71fd('0x2b')]['find']({'where':{'id':_0x4c2d08['params']['id']}})['then'](handleEntityNotFound(_0x10c894,null))[_0x71fd('0x21')](removeEntity(_0x10c894,null))[_0x71fd('0x43')](handleError(_0x10c894,null));};