Built motion from commit 82bb2304.|2.5.39
[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 _0xc82a=['VIRTUAL','options','includeAll','include','AnalyticTreeReport','findAll','rows','catch','show','params','rawAttributes','length','merge','find','create','body','destroy','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','fs-extra','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','error','stack','name','send','index','map','type','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where'];(function(_0x42fddd,_0xd397da){var _0x5b763d=function(_0xf19854){while(--_0xf19854){_0x42fddd['push'](_0x42fddd['shift']());}};_0x5b763d(++_0xd397da);}(_0xc82a,0xa9));var _0xac82=function(_0x332985,_0x216420){_0x332985=_0x332985-0x0;var _0x1a77c1=_0xc82a[_0x332985];return _0x1a77c1;};'use strict';var emlformat=require(_0xac82('0x0'));var rimraf=require(_0xac82('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xac82('0x2'));var rp=require(_0xac82('0x3'));var moment=require(_0xac82('0x4'));var BPromise=require(_0xac82('0x5'));var Mustache=require('mustache');var util=require(_0xac82('0x6'));var path=require(_0xac82('0x7'));var sox=require(_0xac82('0x8'));var csv=require('to-csv');var ejs=require(_0xac82('0x9'));var fs=require('fs');var fs_extra=require(_0xac82('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xac82('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xac82('0xc'));var querystring=require(_0xac82('0xd'));var Papa=require(_0xac82('0xe'));var Redis=require(_0xac82('0xf'));var authService=require(_0xac82('0x10'));var qs=require(_0xac82('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xac82('0x12'));var logger=require(_0xac82('0x13'))('api');var utils=require(_0xac82('0x14'));var config=require(_0xac82('0x15'));var licenseUtil=require(_0xac82('0x16'));var db=require(_0xac82('0x17'))['db'];function respondWithStatusCode(_0x589e00,_0x4662cb){_0x4662cb=_0x4662cb||0xcc;return function(_0x21ffa3){if(_0x21ffa3){return _0x589e00[_0xac82('0x18')](_0x4662cb);}return _0x589e00['status'](_0x4662cb)[_0xac82('0x19')]();};}function respondWithResult(_0x38b393,_0x4f3e9a){_0x4f3e9a=_0x4f3e9a||0xc8;return function(_0x23a18e){if(_0x23a18e){return _0x38b393[_0xac82('0x1a')](_0x4f3e9a)[_0xac82('0x1b')](_0x23a18e);}};}function respondWithFilteredResult(_0x127d72,_0x277fa2){return function(_0x442ce8){if(_0x442ce8){var _0x528dcb=typeof _0x277fa2[_0xac82('0x1c')]===_0xac82('0x1d')&&typeof _0x277fa2[_0xac82('0x1e')]===_0xac82('0x1d');var _0x4133ed=_0x442ce8[_0xac82('0x1f')];var _0x1c25c1=_0x528dcb?0x0:_0x277fa2['offset'];var _0x276894=_0x528dcb?_0x442ce8[_0xac82('0x1f')]:_0x277fa2[_0xac82('0x1c')]+_0x277fa2[_0xac82('0x1e')];var _0x30b400;if(_0x276894>=_0x4133ed){_0x276894=_0x4133ed;_0x30b400=0xc8;}else{_0x30b400=0xce;}_0x127d72[_0xac82('0x1a')](_0x30b400);return _0x127d72[_0xac82('0x20')](_0xac82('0x21'),_0x1c25c1+'-'+_0x276894+'/'+_0x4133ed)[_0xac82('0x1b')](_0x442ce8);}return null;};}function patchUpdates(_0x27da3b){return function(_0x581196){try{jsonpatch[_0xac82('0x22')](_0x581196,_0x27da3b,!![]);}catch(_0x2f807a){return BPromise['reject'](_0x2f807a);}return _0x581196[_0xac82('0x23')]();};}function saveUpdates(_0x4692f9,_0x16f39f){return function(_0xa9e3fc){if(_0xa9e3fc){return _0xa9e3fc[_0xac82('0x24')](_0x4692f9)[_0xac82('0x25')](function(_0x1bf348){return _0x1bf348;});}return null;};}function removeEntity(_0x3e52e4,_0x44ce12){return function(_0x259878){if(_0x259878){return _0x259878['destroy']()['then'](function(){_0x3e52e4[_0xac82('0x1a')](0xcc)[_0xac82('0x19')]();});}};}function handleEntityNotFound(_0x55f062,_0x225251){return function(_0x198c59){if(!_0x198c59){_0x55f062[_0xac82('0x18')](0x194);}return _0x198c59;};}function handleError(_0x5f461d,_0x48da25){_0x48da25=_0x48da25||0x1f4;return function(_0x321d76){logger[_0xac82('0x26')](_0x321d76[_0xac82('0x27')]);if(_0x321d76[_0xac82('0x28')]){delete _0x321d76[_0xac82('0x28')];}_0x5f461d['status'](_0x48da25)[_0xac82('0x29')](_0x321d76);};}exports[_0xac82('0x2a')]=function(_0x303f62,_0x4145e7){var _0x2c51ca={},_0x11a738={},_0x1e116d={'count':0x0,'rows':[]};var _0x3c1c7f=_[_0xac82('0x2b')](db['AnalyticTreeReport']['rawAttributes'],function(_0x469102){return{'name':_0x469102['fieldName'],'type':_0x469102[_0xac82('0x2c')]['key']};});_0x11a738['model']=_[_0xac82('0x2b')](_0x3c1c7f,_0xac82('0x28'));_0x11a738[_0xac82('0x2d')]=_[_0xac82('0x2e')](_0x303f62[_0xac82('0x2d')]);_0x11a738[_0xac82('0x2f')]=_[_0xac82('0x30')](_0x11a738[_0xac82('0x31')],_0x11a738[_0xac82('0x2d')]);_0x2c51ca[_0xac82('0x32')]=_[_0xac82('0x30')](_0x11a738['model'],qs[_0xac82('0x33')](_0x303f62[_0xac82('0x2d')][_0xac82('0x33')]));_0x2c51ca[_0xac82('0x32')]=_0x2c51ca[_0xac82('0x32')]['length']?_0x2c51ca['attributes']:_0x11a738[_0xac82('0x31')];if(!_0x303f62[_0xac82('0x2d')][_0xac82('0x34')](_0xac82('0x35'))){_0x2c51ca[_0xac82('0x1e')]=qs[_0xac82('0x1e')](_0x303f62[_0xac82('0x2d')][_0xac82('0x1e')]);_0x2c51ca[_0xac82('0x1c')]=qs[_0xac82('0x1c')](_0x303f62[_0xac82('0x2d')][_0xac82('0x1c')]);}_0x2c51ca[_0xac82('0x36')]=qs[_0xac82('0x37')](_0x303f62['query'][_0xac82('0x37')]);_0x2c51ca['where']=qs[_0xac82('0x2f')](_[_0xac82('0x38')](_0x303f62[_0xac82('0x2d')],_0x11a738[_0xac82('0x2f')]),_0x3c1c7f);if(_0x303f62[_0xac82('0x2d')][_0xac82('0x39')]){_0x2c51ca[_0xac82('0x3a')]=_['merge'](_0x2c51ca[_0xac82('0x3a')],{'$or':_[_0xac82('0x2b')](_0x3c1c7f,function(_0xc646ff){if(_0xc646ff['type']!==_0xac82('0x3b')){var _0x2fae9c={};_0x2fae9c[_0xc646ff[_0xac82('0x28')]]={'$like':'%'+_0x303f62[_0xac82('0x2d')][_0xac82('0x39')]+'%'};return _0x2fae9c;}})});}_0x2c51ca=_['merge']({},_0x2c51ca,_0x303f62[_0xac82('0x3c')]);var _0x498dba={'where':_0x2c51ca[_0xac82('0x3a')]};return db['AnalyticTreeReport'][_0xac82('0x1f')](_0x498dba)[_0xac82('0x25')](function(_0x1e5742){_0x1e116d[_0xac82('0x1f')]=_0x1e5742;if(_0x303f62[_0xac82('0x2d')][_0xac82('0x3d')]){_0x2c51ca[_0xac82('0x3e')]=[{'all':!![]}];}return db[_0xac82('0x3f')][_0xac82('0x40')](_0x2c51ca);})[_0xac82('0x25')](function(_0x3c3f03){_0x1e116d[_0xac82('0x41')]=_0x3c3f03;return _0x1e116d;})['then'](respondWithFilteredResult(_0x4145e7,_0x2c51ca))[_0xac82('0x42')](handleError(_0x4145e7,null));};exports[_0xac82('0x43')]=function(_0x558a3b,_0x57f86b){var _0x16a17d={'raw':!![],'where':{'id':_0x558a3b[_0xac82('0x44')]['id']}},_0x48642a={};_0x48642a[_0xac82('0x31')]=_[_0xac82('0x2e')](db[_0xac82('0x3f')][_0xac82('0x45')]);_0x48642a[_0xac82('0x2d')]=_['keys'](_0x558a3b['query']);_0x48642a['filters']=_[_0xac82('0x30')](_0x48642a[_0xac82('0x31')],_0x48642a[_0xac82('0x2d')]);_0x16a17d[_0xac82('0x32')]=_['intersection'](_0x48642a[_0xac82('0x31')],qs[_0xac82('0x33')](_0x558a3b[_0xac82('0x2d')][_0xac82('0x33')]));_0x16a17d[_0xac82('0x32')]=_0x16a17d[_0xac82('0x32')][_0xac82('0x46')]?_0x16a17d['attributes']:_0x48642a[_0xac82('0x31')];if(_0x558a3b[_0xac82('0x2d')][_0xac82('0x3d')]){_0x16a17d[_0xac82('0x3e')]=[{'all':!![]}];}_0x16a17d=_[_0xac82('0x47')]({},_0x16a17d,_0x558a3b[_0xac82('0x3c')]);return db[_0xac82('0x3f')][_0xac82('0x48')](_0x16a17d)['then'](handleEntityNotFound(_0x57f86b,null))[_0xac82('0x25')](respondWithResult(_0x57f86b,null))['catch'](handleError(_0x57f86b,null));};exports[_0xac82('0x49')]=function(_0x1eae80,_0x229b5b){return db[_0xac82('0x3f')][_0xac82('0x49')](_0x1eae80['body'],{})['then'](respondWithResult(_0x229b5b,0xc9))[_0xac82('0x42')](handleError(_0x229b5b,null));};exports[_0xac82('0x24')]=function(_0x3f44fb,_0x426151){if(_0x3f44fb[_0xac82('0x4a')]['id']){delete _0x3f44fb['body']['id'];}return db[_0xac82('0x3f')][_0xac82('0x48')]({'where':{'id':_0x3f44fb[_0xac82('0x44')]['id']}})[_0xac82('0x25')](handleEntityNotFound(_0x426151,null))[_0xac82('0x25')](saveUpdates(_0x3f44fb[_0xac82('0x4a')],null))[_0xac82('0x25')](respondWithResult(_0x426151,null))[_0xac82('0x42')](handleError(_0x426151,null));};exports[_0xac82('0x4b')]=function(_0x4e8aa4,_0x48bd37){return db['AnalyticTreeReport'][_0xac82('0x48')]({'where':{'id':_0x4e8aa4[_0xac82('0x44')]['id']}})['then'](handleEntityNotFound(_0x48bd37,null))[_0xac82('0x25')](removeEntity(_0x48bd37,null))[_0xac82('0x42')](handleError(_0x48bd37,null));};