Built motion from commit (unavailable).|2.5.22
[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 _0xaf25=['eml-format','rimraf','zip-dir','request-promise','bluebird','path','sox','to-csv','lodash','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','count','set','json','apply','reject','update','destroy','then','end','error','stack','name','send','map','AnalyticTreeReport','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','offset','order','sort','pick','filter','where','type','VIRTUAL','includeAll','include','findAll','catch','show','params','merge','options','find','create','body','html-pdf'];(function(_0x262e92,_0x274937){var _0x6d3982=function(_0xbeb53b){while(--_0xbeb53b){_0x262e92['push'](_0x262e92['shift']());}};_0x6d3982(++_0x274937);}(_0xaf25,0x117));var _0x5af2=function(_0x1dc0a4,_0x4e805b){_0x1dc0a4=_0x1dc0a4-0x0;var _0x2eb2f5=_0xaf25[_0x1dc0a4];return _0x2eb2f5;};'use strict';var pdf=require(_0x5af2('0x0'));var emlformat=require(_0x5af2('0x1'));var rimraf=require(_0x5af2('0x2'));var zipdir=require(_0x5af2('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5af2('0x4'));var moment=require('moment');var BPromise=require(_0x5af2('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x5af2('0x6'));var sox=require(_0x5af2('0x7'));var csv=require(_0x5af2('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x5af2('0x9'));var squel=require(_0x5af2('0xa'));var crypto=require('crypto');var jsforce=require(_0x5af2('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x5af2('0x8'));var querystring=require(_0x5af2('0xc'));var Papa=require(_0x5af2('0xd'));var Redis=require('ioredis');var authService=require(_0x5af2('0xe'));var qs=require(_0x5af2('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5af2('0x10'))('api');var utils=require(_0x5af2('0x11'));var config=require(_0x5af2('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x5af2('0x13'))['db'];function respondWithStatusCode(_0x2d508d,_0x349fab){_0x349fab=_0x349fab||0xcc;return function(_0x2c8bd0){if(_0x2c8bd0){return _0x2d508d[_0x5af2('0x14')](_0x349fab);}return _0x2d508d[_0x5af2('0x15')](_0x349fab)['end']();};}function respondWithResult(_0x24df02,_0x3b1e0c){_0x3b1e0c=_0x3b1e0c||0xc8;return function(_0x5c6798){if(_0x5c6798){return _0x24df02['status'](_0x3b1e0c)['json'](_0x5c6798);}};}function respondWithFilteredResult(_0x52fb07,_0x3ddf37){return function(_0x37619a){if(_0x37619a){var _0x3237ec=_0x37619a[_0x5af2('0x16')],_0x442c0f=_0x3ddf37['offset'],_0x5657cc=_0x3ddf37['offset']+_0x3ddf37['limit'],_0x3898ce;if(_0x5657cc>=_0x3237ec){_0x5657cc=_0x3237ec;_0x3898ce=0xc8;}else{_0x3898ce=0xce;}_0x52fb07[_0x5af2('0x15')](_0x3898ce);return _0x52fb07[_0x5af2('0x17')]('Content-Range',_0x442c0f+'-'+_0x5657cc+'/'+_0x3237ec)[_0x5af2('0x18')](_0x37619a);}return null;};}function patchUpdates(_0x4a17d1){return function(_0x41dbcc){try{jsonpatch[_0x5af2('0x19')](_0x41dbcc,_0x4a17d1,!![]);}catch(_0xe45eeb){return BPromise[_0x5af2('0x1a')](_0xe45eeb);}return _0x41dbcc['save']();};}function saveUpdates(_0x17b08c,_0x360716){return function(_0x5975c8){if(_0x5975c8){return _0x5975c8[_0x5af2('0x1b')](_0x17b08c)['then'](function(_0x1f8b7a){return _0x1f8b7a;});}return null;};}function removeEntity(_0x28189e,_0x5b74a6){return function(_0x162a6a){if(_0x162a6a){return _0x162a6a[_0x5af2('0x1c')]()[_0x5af2('0x1d')](function(){_0x28189e[_0x5af2('0x15')](0xcc)[_0x5af2('0x1e')]();});}};}function handleEntityNotFound(_0x3919cc,_0x39165e){return function(_0x2552c3){if(!_0x2552c3){_0x3919cc[_0x5af2('0x14')](0x194);}return _0x2552c3;};}function handleError(_0x2b02ef,_0x460251){_0x460251=_0x460251||0x1f4;return function(_0x4e8191){logger[_0x5af2('0x1f')](_0x4e8191[_0x5af2('0x20')]);if(_0x4e8191[_0x5af2('0x21')]){delete _0x4e8191[_0x5af2('0x21')];}_0x2b02ef[_0x5af2('0x15')](_0x460251)[_0x5af2('0x22')](_0x4e8191);};}exports['index']=function(_0x404e81,_0x355c76){var _0x2e8080={},_0x635ba8={},_0x21f68d={'count':0x0,'rows':[]};var _0x3ca159=_[_0x5af2('0x23')](db[_0x5af2('0x24')][_0x5af2('0x25')],function(_0x1c50bd){return{'name':_0x1c50bd[_0x5af2('0x26')],'type':_0x1c50bd['type'][_0x5af2('0x27')]};});_0x635ba8[_0x5af2('0x28')]=_[_0x5af2('0x23')](_0x3ca159,_0x5af2('0x21'));_0x635ba8[_0x5af2('0x29')]=_[_0x5af2('0x2a')](_0x404e81[_0x5af2('0x29')]);_0x635ba8[_0x5af2('0x2b')]=_[_0x5af2('0x2c')](_0x635ba8[_0x5af2('0x28')],_0x635ba8[_0x5af2('0x29')]);_0x2e8080[_0x5af2('0x2d')]=_[_0x5af2('0x2c')](_0x635ba8['model'],qs[_0x5af2('0x2e')](_0x404e81['query'][_0x5af2('0x2e')]));_0x2e8080['attributes']=_0x2e8080['attributes'][_0x5af2('0x2f')]?_0x2e8080['attributes']:_0x635ba8[_0x5af2('0x28')];if(!_0x404e81[_0x5af2('0x29')][_0x5af2('0x30')](_0x5af2('0x31'))){_0x2e8080[_0x5af2('0x32')]=qs[_0x5af2('0x32')](_0x404e81[_0x5af2('0x29')][_0x5af2('0x32')]);_0x2e8080[_0x5af2('0x33')]=qs['offset'](_0x404e81[_0x5af2('0x29')]['offset']);}_0x2e8080[_0x5af2('0x34')]=qs[_0x5af2('0x35')](_0x404e81['query'][_0x5af2('0x35')]);_0x2e8080['where']=qs[_0x5af2('0x2b')](_[_0x5af2('0x36')](_0x404e81[_0x5af2('0x29')],_0x635ba8['filters']),_0x3ca159);if(_0x404e81['query'][_0x5af2('0x37')]){_0x2e8080[_0x5af2('0x38')]=_['merge'](_0x2e8080[_0x5af2('0x38')],{'$or':_[_0x5af2('0x23')](_0x3ca159,function(_0x4d380c){if(_0x4d380c[_0x5af2('0x39')]!==_0x5af2('0x3a')){var _0x35a118={};_0x35a118[_0x4d380c['name']]={'$like':'%'+_0x404e81[_0x5af2('0x29')]['filter']+'%'};return _0x35a118;}})});}_0x2e8080=_['merge']({},_0x2e8080,_0x404e81['options']);var _0x11653e={'where':_0x2e8080['where']};return db[_0x5af2('0x24')][_0x5af2('0x16')](_0x11653e)[_0x5af2('0x1d')](function(_0x2f0977){_0x21f68d[_0x5af2('0x16')]=_0x2f0977;if(_0x404e81[_0x5af2('0x29')][_0x5af2('0x3b')]){_0x2e8080[_0x5af2('0x3c')]=[{'all':!![]}];}return db[_0x5af2('0x24')][_0x5af2('0x3d')](_0x2e8080);})[_0x5af2('0x1d')](function(_0x50713c){_0x21f68d['rows']=_0x50713c;return _0x21f68d;})[_0x5af2('0x1d')](respondWithFilteredResult(_0x355c76,_0x2e8080))[_0x5af2('0x3e')](handleError(_0x355c76,null));};exports[_0x5af2('0x3f')]=function(_0x274c8a,_0x44bbfb){var _0x1c1ad3={'raw':!![],'where':{'id':_0x274c8a[_0x5af2('0x40')]['id']}},_0x54f4e5={};_0x54f4e5[_0x5af2('0x28')]=_[_0x5af2('0x2a')](db[_0x5af2('0x24')][_0x5af2('0x25')]);_0x54f4e5['query']=_[_0x5af2('0x2a')](_0x274c8a[_0x5af2('0x29')]);_0x54f4e5[_0x5af2('0x2b')]=_[_0x5af2('0x2c')](_0x54f4e5[_0x5af2('0x28')],_0x54f4e5[_0x5af2('0x29')]);_0x1c1ad3[_0x5af2('0x2d')]=_[_0x5af2('0x2c')](_0x54f4e5[_0x5af2('0x28')],qs[_0x5af2('0x2e')](_0x274c8a['query'][_0x5af2('0x2e')]));_0x1c1ad3['attributes']=_0x1c1ad3[_0x5af2('0x2d')][_0x5af2('0x2f')]?_0x1c1ad3[_0x5af2('0x2d')]:_0x54f4e5[_0x5af2('0x28')];if(_0x274c8a[_0x5af2('0x29')][_0x5af2('0x3b')]){_0x1c1ad3[_0x5af2('0x3c')]=[{'all':!![]}];}_0x1c1ad3=_[_0x5af2('0x41')]({},_0x1c1ad3,_0x274c8a[_0x5af2('0x42')]);return db['AnalyticTreeReport'][_0x5af2('0x43')](_0x1c1ad3)[_0x5af2('0x1d')](handleEntityNotFound(_0x44bbfb,null))[_0x5af2('0x1d')](respondWithResult(_0x44bbfb,null))[_0x5af2('0x3e')](handleError(_0x44bbfb,null));};exports[_0x5af2('0x44')]=function(_0x127ec1,_0x2fcab7){return db['AnalyticTreeReport'][_0x5af2('0x44')](_0x127ec1['body'],{})['then'](respondWithResult(_0x2fcab7,0xc9))[_0x5af2('0x3e')](handleError(_0x2fcab7,null));};exports[_0x5af2('0x1b')]=function(_0x3c4108,_0x3b5df5){if(_0x3c4108['body']['id']){delete _0x3c4108[_0x5af2('0x45')]['id'];}return db[_0x5af2('0x24')]['find']({'where':{'id':_0x3c4108[_0x5af2('0x40')]['id']}})[_0x5af2('0x1d')](handleEntityNotFound(_0x3b5df5,null))[_0x5af2('0x1d')](saveUpdates(_0x3c4108[_0x5af2('0x45')],null))[_0x5af2('0x1d')](respondWithResult(_0x3b5df5,null))[_0x5af2('0x3e')](handleError(_0x3b5df5,null));};exports[_0x5af2('0x1c')]=function(_0x31a72d,_0x233528){return db[_0x5af2('0x24')][_0x5af2('0x43')]({'where':{'id':_0x31a72d[_0x5af2('0x40')]['id']}})[_0x5af2('0x1d')](handleEntityNotFound(_0x233528,null))[_0x5af2('0x1d')](removeEntity(_0x233528,null))['catch'](handleError(_0x233528,null));};