Built motion from commit (unavailable).|2.5.31
[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 _0x3e59=['sendStatus','status','end','json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','filters','filter','where','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','length','find','create','body','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment'];(function(_0x48c710,_0x5d995a){var _0x183b97=function(_0xaa86dc){while(--_0xaa86dc){_0x48c710['push'](_0x48c710['shift']());}};_0x183b97(++_0x5d995a);}(_0x3e59,0x1a6));var _0x93e5=function(_0x4b7895,_0x3c4f5d){_0x4b7895=_0x4b7895-0x0;var _0x264180=_0x3e59[_0x4b7895];return _0x264180;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x93e5('0x0'));var jsonpatch=require(_0x93e5('0x1'));var rp=require(_0x93e5('0x2'));var moment=require(_0x93e5('0x3'));var BPromise=require(_0x93e5('0x4'));var Mustache=require('mustache');var util=require(_0x93e5('0x5'));var path=require(_0x93e5('0x6'));var sox=require(_0x93e5('0x7'));var csv=require(_0x93e5('0x8'));var ejs=require(_0x93e5('0x9'));var fs=require('fs');var fs_extra=require(_0x93e5('0xa'));var _=require('lodash');var squel=require(_0x93e5('0xb'));var crypto=require(_0x93e5('0xc'));var jsforce=require(_0x93e5('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x93e5('0xe'));var Papa=require(_0x93e5('0xf'));var Redis=require(_0x93e5('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x93e5('0x11'));var as=require(_0x93e5('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x93e5('0x13'))('api');var utils=require(_0x93e5('0x14'));var config=require(_0x93e5('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x160bec,_0x37175b){_0x37175b=_0x37175b||0xcc;return function(_0x33aa12){if(_0x33aa12){return _0x160bec[_0x93e5('0x16')](_0x37175b);}return _0x160bec[_0x93e5('0x17')](_0x37175b)[_0x93e5('0x18')]();};}function respondWithResult(_0x11b29b,_0x33aec2){_0x33aec2=_0x33aec2||0xc8;return function(_0x284228){if(_0x284228){return _0x11b29b[_0x93e5('0x17')](_0x33aec2)[_0x93e5('0x19')](_0x284228);}};}function respondWithFilteredResult(_0x585795,_0x1f3498){return function(_0x54c45f){if(_0x54c45f){var _0x3a5792=typeof _0x1f3498[_0x93e5('0x1a')]==='undefined'&&typeof _0x1f3498[_0x93e5('0x1b')]==='undefined';var _0xe5ad3d=_0x54c45f[_0x93e5('0x1c')];var _0x48a753=_0x3a5792?0x0:_0x1f3498[_0x93e5('0x1a')];var _0xa65d8=_0x3a5792?_0x54c45f[_0x93e5('0x1c')]:_0x1f3498[_0x93e5('0x1a')]+_0x1f3498[_0x93e5('0x1b')];var _0x68c53f;if(_0xa65d8>=_0xe5ad3d){_0xa65d8=_0xe5ad3d;_0x68c53f=0xc8;}else{_0x68c53f=0xce;}_0x585795[_0x93e5('0x17')](_0x68c53f);return _0x585795[_0x93e5('0x1d')](_0x93e5('0x1e'),_0x48a753+'-'+_0xa65d8+'/'+_0xe5ad3d)[_0x93e5('0x19')](_0x54c45f);}return null;};}function patchUpdates(_0x33a79b){return function(_0x378e24){try{jsonpatch[_0x93e5('0x1f')](_0x378e24,_0x33a79b,!![]);}catch(_0x5d4ea0){return BPromise[_0x93e5('0x20')](_0x5d4ea0);}return _0x378e24[_0x93e5('0x21')]();};}function saveUpdates(_0x360a39,_0x1116a3){return function(_0x1b60a1){if(_0x1b60a1){return _0x1b60a1[_0x93e5('0x22')](_0x360a39)[_0x93e5('0x23')](function(_0x154a5d){return _0x154a5d;});}return null;};}function removeEntity(_0x4a0d86,_0x4d0f58){return function(_0x561cef){if(_0x561cef){return _0x561cef[_0x93e5('0x24')]()['then'](function(){_0x4a0d86[_0x93e5('0x17')](0xcc)[_0x93e5('0x18')]();});}};}function handleEntityNotFound(_0x5820ce,_0x2cd609){return function(_0x22e59a){if(!_0x22e59a){_0x5820ce['sendStatus'](0x194);}return _0x22e59a;};}function handleError(_0xb96252,_0x226e25){_0x226e25=_0x226e25||0x1f4;return function(_0x314cb8){logger[_0x93e5('0x25')](_0x314cb8[_0x93e5('0x26')]);if(_0x314cb8['name']){delete _0x314cb8[_0x93e5('0x27')];}_0xb96252[_0x93e5('0x17')](_0x226e25)[_0x93e5('0x28')](_0x314cb8);};}exports[_0x93e5('0x29')]=function(_0x5b1feb,_0x50e25e){var _0x526878={},_0x1e7a9a={},_0x57f2e7={'count':0x0,'rows':[]};var _0x41efa2=_[_0x93e5('0x2a')](db[_0x93e5('0x2b')][_0x93e5('0x2c')],function(_0x322b51){return{'name':_0x322b51[_0x93e5('0x2d')],'type':_0x322b51[_0x93e5('0x2e')][_0x93e5('0x2f')]};});_0x1e7a9a[_0x93e5('0x30')]=_['map'](_0x41efa2,'name');_0x1e7a9a[_0x93e5('0x31')]=_[_0x93e5('0x32')](_0x5b1feb['query']);_0x1e7a9a['filters']=_['intersection'](_0x1e7a9a['model'],_0x1e7a9a[_0x93e5('0x31')]);_0x526878[_0x93e5('0x33')]=_[_0x93e5('0x34')](_0x1e7a9a[_0x93e5('0x30')],qs['fields'](_0x5b1feb[_0x93e5('0x31')][_0x93e5('0x35')]));_0x526878[_0x93e5('0x33')]=_0x526878[_0x93e5('0x33')]['length']?_0x526878[_0x93e5('0x33')]:_0x1e7a9a[_0x93e5('0x30')];if(!_0x5b1feb[_0x93e5('0x31')][_0x93e5('0x36')](_0x93e5('0x37'))){_0x526878[_0x93e5('0x1b')]=qs[_0x93e5('0x1b')](_0x5b1feb[_0x93e5('0x31')][_0x93e5('0x1b')]);_0x526878[_0x93e5('0x1a')]=qs['offset'](_0x5b1feb['query'][_0x93e5('0x1a')]);}_0x526878[_0x93e5('0x38')]=qs[_0x93e5('0x39')](_0x5b1feb[_0x93e5('0x31')][_0x93e5('0x39')]);_0x526878['where']=qs[_0x93e5('0x3a')](_['pick'](_0x5b1feb[_0x93e5('0x31')],_0x1e7a9a['filters']),_0x41efa2);if(_0x5b1feb[_0x93e5('0x31')][_0x93e5('0x3b')]){_0x526878[_0x93e5('0x3c')]=_[_0x93e5('0x3d')](_0x526878[_0x93e5('0x3c')],{'$or':_[_0x93e5('0x2a')](_0x41efa2,function(_0x46fd2c){if(_0x46fd2c[_0x93e5('0x2e')]!==_0x93e5('0x3e')){var _0x5a10ff={};_0x5a10ff[_0x46fd2c['name']]={'$like':'%'+_0x5b1feb['query']['filter']+'%'};return _0x5a10ff;}})});}_0x526878=_[_0x93e5('0x3d')]({},_0x526878,_0x5b1feb[_0x93e5('0x3f')]);var _0x355984={'where':_0x526878[_0x93e5('0x3c')]};return db['AnalyticTreeReport'][_0x93e5('0x1c')](_0x355984)[_0x93e5('0x23')](function(_0x36a6d1){_0x57f2e7[_0x93e5('0x1c')]=_0x36a6d1;if(_0x5b1feb['query'][_0x93e5('0x40')]){_0x526878[_0x93e5('0x41')]=[{'all':!![]}];}return db[_0x93e5('0x2b')]['findAll'](_0x526878);})['then'](function(_0x24d8b6){_0x57f2e7[_0x93e5('0x42')]=_0x24d8b6;return _0x57f2e7;})[_0x93e5('0x23')](respondWithFilteredResult(_0x50e25e,_0x526878))[_0x93e5('0x43')](handleError(_0x50e25e,null));};exports[_0x93e5('0x44')]=function(_0x2fc52a,_0x2438fe){var _0x4d2272={'raw':!![],'where':{'id':_0x2fc52a[_0x93e5('0x45')]['id']}},_0x177a3d={};_0x177a3d['model']=_[_0x93e5('0x32')](db[_0x93e5('0x2b')]['rawAttributes']);_0x177a3d[_0x93e5('0x31')]=_['keys'](_0x2fc52a[_0x93e5('0x31')]);_0x177a3d['filters']=_[_0x93e5('0x34')](_0x177a3d[_0x93e5('0x30')],_0x177a3d[_0x93e5('0x31')]);_0x4d2272[_0x93e5('0x33')]=_[_0x93e5('0x34')](_0x177a3d[_0x93e5('0x30')],qs[_0x93e5('0x35')](_0x2fc52a[_0x93e5('0x31')][_0x93e5('0x35')]));_0x4d2272[_0x93e5('0x33')]=_0x4d2272[_0x93e5('0x33')][_0x93e5('0x46')]?_0x4d2272[_0x93e5('0x33')]:_0x177a3d[_0x93e5('0x30')];if(_0x2fc52a[_0x93e5('0x31')]['includeAll']){_0x4d2272['include']=[{'all':!![]}];}_0x4d2272=_[_0x93e5('0x3d')]({},_0x4d2272,_0x2fc52a[_0x93e5('0x3f')]);return db[_0x93e5('0x2b')][_0x93e5('0x47')](_0x4d2272)[_0x93e5('0x23')](handleEntityNotFound(_0x2438fe,null))['then'](respondWithResult(_0x2438fe,null))[_0x93e5('0x43')](handleError(_0x2438fe,null));};exports[_0x93e5('0x48')]=function(_0x513787,_0x4d4b1a){return db[_0x93e5('0x2b')]['create'](_0x513787[_0x93e5('0x49')],{})['then'](respondWithResult(_0x4d4b1a,0xc9))['catch'](handleError(_0x4d4b1a,null));};exports[_0x93e5('0x22')]=function(_0x33e91f,_0x23b4c1){if(_0x33e91f[_0x93e5('0x49')]['id']){delete _0x33e91f[_0x93e5('0x49')]['id'];}return db[_0x93e5('0x2b')][_0x93e5('0x47')]({'where':{'id':_0x33e91f[_0x93e5('0x45')]['id']}})[_0x93e5('0x23')](handleEntityNotFound(_0x23b4c1,null))[_0x93e5('0x23')](saveUpdates(_0x33e91f[_0x93e5('0x49')],null))[_0x93e5('0x23')](respondWithResult(_0x23b4c1,null))[_0x93e5('0x43')](handleError(_0x23b4c1,null));};exports[_0x93e5('0x24')]=function(_0x29523e,_0x5f3b1c){return db[_0x93e5('0x2b')][_0x93e5('0x47')]({'where':{'id':_0x29523e[_0x93e5('0x45')]['id']}})[_0x93e5('0x23')](handleEntityNotFound(_0x5f3b1c,null))['then'](removeEntity(_0x5f3b1c,null))[_0x93e5('0x43')](handleError(_0x5f3b1c,null));};