Built motion from commit 616d3211.|2.6.4
[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 _0x7c85=['querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','save','update','then','destroy','error','name','map','AnalyticTreeReport','fieldName','type','key','model','query','keys','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','filters','filter','merge','options','includeAll','include','findAll','catch','show','params','intersection','length','create','body','find','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js'];(function(_0x4ec7c9,_0x17d6fd){var _0x7b3e6a=function(_0x4cf2a0){while(--_0x4cf2a0){_0x4ec7c9['push'](_0x4ec7c9['shift']());}};_0x7b3e6a(++_0x17d6fd);}(_0x7c85,0x166));var _0x57c8=function(_0x56eb70,_0x2bd75c){_0x56eb70=_0x56eb70-0x0;var _0x47f1fe=_0x7c85[_0x56eb70];return _0x47f1fe;};'use strict';var emlformat=require(_0x57c8('0x0'));var rimraf=require(_0x57c8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x57c8('0x2'));var rp=require(_0x57c8('0x3'));var moment=require('moment');var BPromise=require(_0x57c8('0x4'));var Mustache=require(_0x57c8('0x5'));var util=require(_0x57c8('0x6'));var path=require(_0x57c8('0x7'));var sox=require(_0x57c8('0x8'));var csv=require(_0x57c8('0x9'));var ejs=require(_0x57c8('0xa'));var fs=require('fs');var fs_extra=require(_0x57c8('0xb'));var _=require(_0x57c8('0xc'));var squel=require(_0x57c8('0xd'));var crypto=require(_0x57c8('0xe'));var jsforce=require(_0x57c8('0xf'));var deskjs=require(_0x57c8('0x10'));var toCsv=require(_0x57c8('0x9'));var querystring=require(_0x57c8('0x11'));var Papa=require('papaparse');var Redis=require(_0x57c8('0x12'));var authService=require(_0x57c8('0x13'));var qs=require(_0x57c8('0x14'));var as=require(_0x57c8('0x15'));var hardwareService=require(_0x57c8('0x16'));var logger=require('../../config/logger')(_0x57c8('0x17'));var utils=require(_0x57c8('0x18'));var config=require(_0x57c8('0x19'));var licenseUtil=require(_0x57c8('0x1a'));var db=require(_0x57c8('0x1b'))['db'];function respondWithStatusCode(_0x35fa43,_0x36b3a2){_0x36b3a2=_0x36b3a2||0xcc;return function(_0x1f60d0){if(_0x1f60d0){return _0x35fa43[_0x57c8('0x1c')](_0x36b3a2);}return _0x35fa43[_0x57c8('0x1d')](_0x36b3a2)[_0x57c8('0x1e')]();};}function respondWithResult(_0x14b81c,_0x491368){_0x491368=_0x491368||0xc8;return function(_0x3c1058){if(_0x3c1058){return _0x14b81c[_0x57c8('0x1d')](_0x491368)[_0x57c8('0x1f')](_0x3c1058);}};}function respondWithFilteredResult(_0x202a96,_0x4e7e28){return function(_0x47090f){if(_0x47090f){var _0x4bd695=typeof _0x4e7e28[_0x57c8('0x20')]===_0x57c8('0x21')&&typeof _0x4e7e28['limit']===_0x57c8('0x21');var _0xe210d4=_0x47090f['count'];var _0x599ae2=_0x4bd695?0x0:_0x4e7e28[_0x57c8('0x20')];var _0x2a9b65=_0x4bd695?_0x47090f[_0x57c8('0x22')]:_0x4e7e28[_0x57c8('0x20')]+_0x4e7e28['limit'];var _0x2bc5fe;if(_0x2a9b65>=_0xe210d4){_0x2a9b65=_0xe210d4;_0x2bc5fe=0xc8;}else{_0x2bc5fe=0xce;}_0x202a96['status'](_0x2bc5fe);return _0x202a96[_0x57c8('0x23')](_0x57c8('0x24'),_0x599ae2+'-'+_0x2a9b65+'/'+_0xe210d4)['json'](_0x47090f);}return null;};}function patchUpdates(_0x558e2b){return function(_0x39ad33){try{jsonpatch[_0x57c8('0x25')](_0x39ad33,_0x558e2b,!![]);}catch(_0x145f45){return BPromise['reject'](_0x145f45);}return _0x39ad33[_0x57c8('0x26')]();};}function saveUpdates(_0x55b4c4,_0xacf558){return function(_0x48442c){if(_0x48442c){return _0x48442c[_0x57c8('0x27')](_0x55b4c4)[_0x57c8('0x28')](function(_0x4396f5){return _0x4396f5;});}return null;};}function removeEntity(_0x5d6182,_0x25e97e){return function(_0x2d1deb){if(_0x2d1deb){return _0x2d1deb[_0x57c8('0x29')]()[_0x57c8('0x28')](function(){_0x5d6182[_0x57c8('0x1d')](0xcc)[_0x57c8('0x1e')]();});}};}function handleEntityNotFound(_0x514060,_0x171d98){return function(_0x546762){if(!_0x546762){_0x514060['sendStatus'](0x194);}return _0x546762;};}function handleError(_0x1cc79b,_0x395bf0){_0x395bf0=_0x395bf0||0x1f4;return function(_0x414af5){logger[_0x57c8('0x2a')](_0x414af5['stack']);if(_0x414af5[_0x57c8('0x2b')]){delete _0x414af5[_0x57c8('0x2b')];}_0x1cc79b[_0x57c8('0x1d')](_0x395bf0)['send'](_0x414af5);};}exports['index']=function(_0x504f51,_0x309f7a){var _0x2339d0={},_0x33fdee={},_0xfc3257={'count':0x0,'rows':[]};var _0x2086e7=_[_0x57c8('0x2c')](db[_0x57c8('0x2d')]['rawAttributes'],function(_0x16d81d){return{'name':_0x16d81d[_0x57c8('0x2e')],'type':_0x16d81d[_0x57c8('0x2f')][_0x57c8('0x30')]};});_0x33fdee[_0x57c8('0x31')]=_[_0x57c8('0x2c')](_0x2086e7,_0x57c8('0x2b'));_0x33fdee[_0x57c8('0x32')]=_[_0x57c8('0x33')](_0x504f51[_0x57c8('0x32')]);_0x33fdee['filters']=_['intersection'](_0x33fdee['model'],_0x33fdee[_0x57c8('0x32')]);_0x2339d0[_0x57c8('0x34')]=_['intersection'](_0x33fdee[_0x57c8('0x31')],qs[_0x57c8('0x35')](_0x504f51[_0x57c8('0x32')][_0x57c8('0x35')]));_0x2339d0[_0x57c8('0x34')]=_0x2339d0['attributes']['length']?_0x2339d0[_0x57c8('0x34')]:_0x33fdee['model'];if(!_0x504f51[_0x57c8('0x32')][_0x57c8('0x36')](_0x57c8('0x37'))){_0x2339d0['limit']=qs[_0x57c8('0x38')](_0x504f51[_0x57c8('0x32')][_0x57c8('0x38')]);_0x2339d0[_0x57c8('0x20')]=qs[_0x57c8('0x20')](_0x504f51[_0x57c8('0x32')][_0x57c8('0x20')]);}_0x2339d0[_0x57c8('0x39')]=qs[_0x57c8('0x3a')](_0x504f51[_0x57c8('0x32')][_0x57c8('0x3a')]);_0x2339d0[_0x57c8('0x3b')]=qs[_0x57c8('0x3c')](_['pick'](_0x504f51[_0x57c8('0x32')],_0x33fdee[_0x57c8('0x3c')]),_0x2086e7);if(_0x504f51[_0x57c8('0x32')][_0x57c8('0x3d')]){_0x2339d0[_0x57c8('0x3b')]=_[_0x57c8('0x3e')](_0x2339d0[_0x57c8('0x3b')],{'$or':_[_0x57c8('0x2c')](_0x2086e7,function(_0x732485){if(_0x732485['type']!=='VIRTUAL'){var _0x146280={};_0x146280[_0x732485[_0x57c8('0x2b')]]={'$like':'%'+_0x504f51[_0x57c8('0x32')]['filter']+'%'};return _0x146280;}})});}_0x2339d0=_[_0x57c8('0x3e')]({},_0x2339d0,_0x504f51[_0x57c8('0x3f')]);var _0x3d69ac={'where':_0x2339d0[_0x57c8('0x3b')]};return db[_0x57c8('0x2d')]['count'](_0x3d69ac)[_0x57c8('0x28')](function(_0x1cc296){_0xfc3257[_0x57c8('0x22')]=_0x1cc296;if(_0x504f51[_0x57c8('0x32')][_0x57c8('0x40')]){_0x2339d0[_0x57c8('0x41')]=[{'all':!![]}];}return db['AnalyticTreeReport'][_0x57c8('0x42')](_0x2339d0);})[_0x57c8('0x28')](function(_0x276bb6){_0xfc3257['rows']=_0x276bb6;return _0xfc3257;})[_0x57c8('0x28')](respondWithFilteredResult(_0x309f7a,_0x2339d0))[_0x57c8('0x43')](handleError(_0x309f7a,null));};exports[_0x57c8('0x44')]=function(_0x3eb167,_0x2766ce){var _0x428d5b={'raw':!![],'where':{'id':_0x3eb167[_0x57c8('0x45')]['id']}},_0x5691f2={};_0x5691f2[_0x57c8('0x31')]=_[_0x57c8('0x33')](db[_0x57c8('0x2d')]['rawAttributes']);_0x5691f2[_0x57c8('0x32')]=_[_0x57c8('0x33')](_0x3eb167[_0x57c8('0x32')]);_0x5691f2[_0x57c8('0x3c')]=_[_0x57c8('0x46')](_0x5691f2[_0x57c8('0x31')],_0x5691f2[_0x57c8('0x32')]);_0x428d5b[_0x57c8('0x34')]=_[_0x57c8('0x46')](_0x5691f2[_0x57c8('0x31')],qs[_0x57c8('0x35')](_0x3eb167[_0x57c8('0x32')][_0x57c8('0x35')]));_0x428d5b['attributes']=_0x428d5b[_0x57c8('0x34')][_0x57c8('0x47')]?_0x428d5b['attributes']:_0x5691f2['model'];if(_0x3eb167[_0x57c8('0x32')][_0x57c8('0x40')]){_0x428d5b[_0x57c8('0x41')]=[{'all':!![]}];}_0x428d5b=_[_0x57c8('0x3e')]({},_0x428d5b,_0x3eb167[_0x57c8('0x3f')]);return db[_0x57c8('0x2d')]['find'](_0x428d5b)[_0x57c8('0x28')](handleEntityNotFound(_0x2766ce,null))['then'](respondWithResult(_0x2766ce,null))[_0x57c8('0x43')](handleError(_0x2766ce,null));};exports['create']=function(_0xd74a79,_0x269a9e){return db[_0x57c8('0x2d')][_0x57c8('0x48')](_0xd74a79[_0x57c8('0x49')],{})[_0x57c8('0x28')](respondWithResult(_0x269a9e,0xc9))['catch'](handleError(_0x269a9e,null));};exports[_0x57c8('0x27')]=function(_0x123585,_0x405d2b){if(_0x123585['body']['id']){delete _0x123585[_0x57c8('0x49')]['id'];}return db['AnalyticTreeReport'][_0x57c8('0x4a')]({'where':{'id':_0x123585['params']['id']}})['then'](handleEntityNotFound(_0x405d2b,null))[_0x57c8('0x28')](saveUpdates(_0x123585[_0x57c8('0x49')],null))[_0x57c8('0x28')](respondWithResult(_0x405d2b,null))['catch'](handleError(_0x405d2b,null));};exports['destroy']=function(_0x1b8f10,_0x24da2c){return db[_0x57c8('0x2d')]['find']({'where':{'id':_0x1b8f10[_0x57c8('0x45')]['id']}})[_0x57c8('0x28')](handleEntityNotFound(_0x24da2c,null))['then'](removeEntity(_0x24da2c,null))['catch'](handleError(_0x24da2c,null));};