Built motion from commit 838c2833.|2.6.24
[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 _0x0a31=['query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','undefined','limit','offset','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','send','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model'];(function(_0x1213de,_0x93d2e3){var _0x2ff505=function(_0x526bf8){while(--_0x526bf8){_0x1213de['push'](_0x1213de['shift']());}};_0x2ff505(++_0x93d2e3);}(_0x0a31,0xb4));var _0x10a3=function(_0x1aba7c,_0x5c0099){_0x1aba7c=_0x1aba7c-0x0;var _0x23a4a4=_0x0a31[_0x1aba7c];return _0x23a4a4;};'use strict';var emlformat=require(_0x10a3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x10a3('0x1'));var jsonpatch=require(_0x10a3('0x2'));var rp=require(_0x10a3('0x3'));var moment=require(_0x10a3('0x4'));var BPromise=require(_0x10a3('0x5'));var Mustache=require(_0x10a3('0x6'));var util=require(_0x10a3('0x7'));var path=require(_0x10a3('0x8'));var sox=require(_0x10a3('0x9'));var csv=require(_0x10a3('0xa'));var ejs=require(_0x10a3('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x10a3('0xc'));var crypto=require(_0x10a3('0xd'));var jsforce=require(_0x10a3('0xe'));var deskjs=require(_0x10a3('0xf'));var toCsv=require(_0x10a3('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x10a3('0x10'));var authService=require(_0x10a3('0x11'));var qs=require(_0x10a3('0x12'));var as=require(_0x10a3('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x10a3('0x14'))(_0x10a3('0x15'));var utils=require(_0x10a3('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x10a3('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x498d7f,_0x368f0a){_0x368f0a=_0x368f0a||0xcc;return function(_0x93d42a){if(_0x93d42a){return _0x498d7f[_0x10a3('0x18')](_0x368f0a);}return _0x498d7f[_0x10a3('0x19')](_0x368f0a)[_0x10a3('0x1a')]();};}function respondWithResult(_0x1d16aa,_0x268ff8){_0x268ff8=_0x268ff8||0xc8;return function(_0x3160bd){if(_0x3160bd){return _0x1d16aa[_0x10a3('0x19')](_0x268ff8)['json'](_0x3160bd);}};}function respondWithFilteredResult(_0x15c3d3,_0x3309cf){return function(_0x248880){if(_0x248880){var _0x285260=typeof _0x3309cf['offset']===_0x10a3('0x1b')&&typeof _0x3309cf[_0x10a3('0x1c')]===_0x10a3('0x1b');var _0x37d708=_0x248880['count'];var _0x49147b=_0x285260?0x0:_0x3309cf[_0x10a3('0x1d')];var _0x1f313a=_0x285260?_0x248880[_0x10a3('0x1e')]:_0x3309cf[_0x10a3('0x1d')]+_0x3309cf[_0x10a3('0x1c')];var _0xf89d33;if(_0x1f313a>=_0x37d708){_0x1f313a=_0x37d708;_0xf89d33=0xc8;}else{_0xf89d33=0xce;}_0x15c3d3['status'](_0xf89d33);return _0x15c3d3[_0x10a3('0x1f')](_0x10a3('0x20'),_0x49147b+'-'+_0x1f313a+'/'+_0x37d708)[_0x10a3('0x21')](_0x248880);}return null;};}function patchUpdates(_0x5b46c4){return function(_0x4cc187){try{jsonpatch[_0x10a3('0x22')](_0x4cc187,_0x5b46c4,!![]);}catch(_0x566715){return BPromise[_0x10a3('0x23')](_0x566715);}return _0x4cc187[_0x10a3('0x24')]();};}function saveUpdates(_0x230ee8,_0x434867){return function(_0x487d2d){if(_0x487d2d){return _0x487d2d[_0x10a3('0x25')](_0x230ee8)[_0x10a3('0x26')](function(_0x469189){return _0x469189;});}return null;};}function removeEntity(_0x26604c,_0x1859e0){return function(_0xf93df){if(_0xf93df){return _0xf93df[_0x10a3('0x27')]()[_0x10a3('0x26')](function(){_0x26604c[_0x10a3('0x19')](0xcc)[_0x10a3('0x1a')]();});}};}function handleEntityNotFound(_0x5d6306,_0xfdbe3d){return function(_0x10194c){if(!_0x10194c){_0x5d6306[_0x10a3('0x18')](0x194);}return _0x10194c;};}function handleError(_0x5e2de0,_0x2bcec5){_0x2bcec5=_0x2bcec5||0x1f4;return function(_0x25e8fd){logger[_0x10a3('0x28')](_0x25e8fd[_0x10a3('0x29')]);if(_0x25e8fd[_0x10a3('0x2a')]){delete _0x25e8fd[_0x10a3('0x2a')];}_0x5e2de0['status'](_0x2bcec5)[_0x10a3('0x2b')](_0x25e8fd);};}exports['index']=function(_0x547817,_0x39e19c){var _0x5f11fd={},_0xe7a1b1={},_0x1cb7c9={'count':0x0,'rows':[]};var _0x29e755=_[_0x10a3('0x2c')](db[_0x10a3('0x2d')][_0x10a3('0x2e')],function(_0x36f4fd){return{'name':_0x36f4fd[_0x10a3('0x2f')],'type':_0x36f4fd[_0x10a3('0x30')][_0x10a3('0x31')]};});_0xe7a1b1[_0x10a3('0x32')]=_[_0x10a3('0x2c')](_0x29e755,_0x10a3('0x2a'));_0xe7a1b1[_0x10a3('0x33')]=_[_0x10a3('0x34')](_0x547817[_0x10a3('0x33')]);_0xe7a1b1[_0x10a3('0x35')]=_[_0x10a3('0x36')](_0xe7a1b1['model'],_0xe7a1b1[_0x10a3('0x33')]);_0x5f11fd[_0x10a3('0x37')]=_[_0x10a3('0x36')](_0xe7a1b1[_0x10a3('0x32')],qs[_0x10a3('0x38')](_0x547817[_0x10a3('0x33')][_0x10a3('0x38')]));_0x5f11fd[_0x10a3('0x37')]=_0x5f11fd[_0x10a3('0x37')][_0x10a3('0x39')]?_0x5f11fd[_0x10a3('0x37')]:_0xe7a1b1[_0x10a3('0x32')];if(!_0x547817[_0x10a3('0x33')][_0x10a3('0x3a')]('nolimit')){_0x5f11fd['limit']=qs[_0x10a3('0x1c')](_0x547817[_0x10a3('0x33')][_0x10a3('0x1c')]);_0x5f11fd[_0x10a3('0x1d')]=qs[_0x10a3('0x1d')](_0x547817['query'][_0x10a3('0x1d')]);}_0x5f11fd[_0x10a3('0x3b')]=qs[_0x10a3('0x3c')](_0x547817[_0x10a3('0x33')][_0x10a3('0x3c')]);_0x5f11fd[_0x10a3('0x3d')]=qs[_0x10a3('0x35')](_[_0x10a3('0x3e')](_0x547817[_0x10a3('0x33')],_0xe7a1b1['filters']),_0x29e755);if(_0x547817[_0x10a3('0x33')][_0x10a3('0x3f')]){_0x5f11fd[_0x10a3('0x3d')]=_[_0x10a3('0x40')](_0x5f11fd[_0x10a3('0x3d')],{'$or':_[_0x10a3('0x2c')](_0x29e755,function(_0x484b88){if(_0x484b88[_0x10a3('0x30')]!==_0x10a3('0x41')){var _0x122699={};_0x122699[_0x484b88[_0x10a3('0x2a')]]={'$like':'%'+_0x547817[_0x10a3('0x33')][_0x10a3('0x3f')]+'%'};return _0x122699;}})});}_0x5f11fd=_['merge']({},_0x5f11fd,_0x547817[_0x10a3('0x42')]);var _0x27334a={'where':_0x5f11fd['where']};return db[_0x10a3('0x2d')][_0x10a3('0x1e')](_0x27334a)[_0x10a3('0x26')](function(_0x5ab4cb){_0x1cb7c9[_0x10a3('0x1e')]=_0x5ab4cb;if(_0x547817['query']['includeAll']){_0x5f11fd[_0x10a3('0x43')]=[{'all':!![]}];}return db[_0x10a3('0x2d')][_0x10a3('0x44')](_0x5f11fd);})[_0x10a3('0x26')](function(_0x80b729){_0x1cb7c9[_0x10a3('0x45')]=_0x80b729;return _0x1cb7c9;})[_0x10a3('0x26')](respondWithFilteredResult(_0x39e19c,_0x5f11fd))[_0x10a3('0x46')](handleError(_0x39e19c,null));};exports[_0x10a3('0x47')]=function(_0x2674aa,_0x31e55d){var _0x1c261a={'raw':!![],'where':{'id':_0x2674aa[_0x10a3('0x48')]['id']}},_0xe4353e={};_0xe4353e[_0x10a3('0x32')]=_[_0x10a3('0x34')](db[_0x10a3('0x2d')]['rawAttributes']);_0xe4353e[_0x10a3('0x33')]=_[_0x10a3('0x34')](_0x2674aa[_0x10a3('0x33')]);_0xe4353e['filters']=_[_0x10a3('0x36')](_0xe4353e[_0x10a3('0x32')],_0xe4353e[_0x10a3('0x33')]);_0x1c261a[_0x10a3('0x37')]=_[_0x10a3('0x36')](_0xe4353e[_0x10a3('0x32')],qs[_0x10a3('0x38')](_0x2674aa[_0x10a3('0x33')][_0x10a3('0x38')]));_0x1c261a['attributes']=_0x1c261a[_0x10a3('0x37')][_0x10a3('0x39')]?_0x1c261a[_0x10a3('0x37')]:_0xe4353e[_0x10a3('0x32')];if(_0x2674aa[_0x10a3('0x33')][_0x10a3('0x49')]){_0x1c261a[_0x10a3('0x43')]=[{'all':!![]}];}_0x1c261a=_[_0x10a3('0x40')]({},_0x1c261a,_0x2674aa[_0x10a3('0x42')]);return db['AnalyticTreeReport'][_0x10a3('0x4a')](_0x1c261a)['then'](handleEntityNotFound(_0x31e55d,null))['then'](respondWithResult(_0x31e55d,null))[_0x10a3('0x46')](handleError(_0x31e55d,null));};exports['create']=function(_0x4e9bc2,_0x86f05f){return db[_0x10a3('0x2d')][_0x10a3('0x4b')](_0x4e9bc2[_0x10a3('0x4c')],{})[_0x10a3('0x26')](respondWithResult(_0x86f05f,0xc9))['catch'](handleError(_0x86f05f,null));};exports[_0x10a3('0x25')]=function(_0x5167bc,_0x4d5d01){if(_0x5167bc[_0x10a3('0x4c')]['id']){delete _0x5167bc[_0x10a3('0x4c')]['id'];}return db[_0x10a3('0x2d')][_0x10a3('0x4a')]({'where':{'id':_0x5167bc[_0x10a3('0x48')]['id']}})['then'](handleEntityNotFound(_0x4d5d01,null))['then'](saveUpdates(_0x5167bc[_0x10a3('0x4c')],null))[_0x10a3('0x26')](respondWithResult(_0x4d5d01,null))[_0x10a3('0x46')](handleError(_0x4d5d01,null));};exports[_0x10a3('0x27')]=function(_0x6d21f7,_0x42a666){return db[_0x10a3('0x2d')]['find']({'where':{'id':_0x6d21f7[_0x10a3('0x48')]['id']}})[_0x10a3('0x26')](handleEntityNotFound(_0x42a666,null))[_0x10a3('0x26')](removeEntity(_0x42a666,null))['catch'](handleError(_0x42a666,null));};