Built motion from commit (unavailable).|2.5.18
[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 _0xce9f=['sendStatus','status','end','offset','limit','set','Content-Range','json','reject','destroy','then','error','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','AnalyticTreeReport','count','includeAll','include','rows','catch','show','params','create','body','update','find','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xce9f,0xc3));var _0xfce9=function(_0x228f1b,_0xdce8af){_0x228f1b=_0x228f1b-0x0;var _0x4458af=_0xce9f[_0x228f1b];return _0x4458af;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xfce9('0x0'));var rimraf=require(_0xfce9('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xfce9('0x2'));var rp=require('request-promise');var moment=require(_0xfce9('0x3'));var BPromise=require(_0xfce9('0x4'));var Mustache=require(_0xfce9('0x5'));var util=require(_0xfce9('0x6'));var path=require(_0xfce9('0x7'));var sox=require(_0xfce9('0x8'));var csv=require(_0xfce9('0x9'));var ejs=require(_0xfce9('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xfce9('0xb'));var crypto=require('crypto');var jsforce=require(_0xfce9('0xc'));var deskjs=require(_0xfce9('0xd'));var toCsv=require(_0xfce9('0x9'));var querystring=require(_0xfce9('0xe'));var Papa=require(_0xfce9('0xf'));var Redis=require(_0xfce9('0x10'));var authService=require(_0xfce9('0x11'));var qs=require(_0xfce9('0x12'));var as=require(_0xfce9('0x13'));var hardwareService=require(_0xfce9('0x14'));var logger=require(_0xfce9('0x15'))(_0xfce9('0x16'));var utils=require(_0xfce9('0x17'));var config=require(_0xfce9('0x18'));var licenseUtil=require(_0xfce9('0x19'));var db=require(_0xfce9('0x1a'))['db'];function respondWithStatusCode(_0x592b16,_0x12ec5d){_0x12ec5d=_0x12ec5d||0xcc;return function(_0x58198a){if(_0x58198a){return _0x592b16[_0xfce9('0x1b')](_0x12ec5d);}return _0x592b16[_0xfce9('0x1c')](_0x12ec5d)[_0xfce9('0x1d')]();};}function respondWithResult(_0xe9a970,_0x2958d1){_0x2958d1=_0x2958d1||0xc8;return function(_0x34405a){if(_0x34405a){return _0xe9a970[_0xfce9('0x1c')](_0x2958d1)['json'](_0x34405a);}};}function respondWithFilteredResult(_0x3d4e7f,_0x216274){return function(_0x21632a){if(_0x21632a){var _0x1a42eb=_0x21632a['count'],_0x4d1bcc=_0x216274['offset'],_0x18fc8a=_0x216274[_0xfce9('0x1e')]+_0x216274[_0xfce9('0x1f')],_0x38bb01;if(_0x18fc8a>=_0x1a42eb){_0x18fc8a=_0x1a42eb;_0x38bb01=0xc8;}else{_0x38bb01=0xce;}_0x3d4e7f[_0xfce9('0x1c')](_0x38bb01);return _0x3d4e7f[_0xfce9('0x20')](_0xfce9('0x21'),_0x4d1bcc+'-'+_0x18fc8a+'/'+_0x1a42eb)[_0xfce9('0x22')](_0x21632a);}return null;};}function patchUpdates(_0x2a2c38){return function(_0x165c3e){try{jsonpatch['apply'](_0x165c3e,_0x2a2c38,!![]);}catch(_0x302bf2){return BPromise[_0xfce9('0x23')](_0x302bf2);}return _0x165c3e['save']();};}function saveUpdates(_0x866c15,_0x1abe49){return function(_0x20a655){if(_0x20a655){return _0x20a655['update'](_0x866c15)['then'](function(_0x1d8d48){return _0x1d8d48;});}return null;};}function removeEntity(_0x5d6e90,_0x1735e9){return function(_0x5f155c){if(_0x5f155c){return _0x5f155c[_0xfce9('0x24')]()[_0xfce9('0x25')](function(){_0x5d6e90['status'](0xcc)[_0xfce9('0x1d')]();});}};}function handleEntityNotFound(_0x51d4ea,_0x1dc19e){return function(_0x34ded3){if(!_0x34ded3){_0x51d4ea['sendStatus'](0x194);}return _0x34ded3;};}function handleError(_0x58dd9a,_0x1a1b75){_0x1a1b75=_0x1a1b75||0x1f4;return function(_0x36e2c9){logger[_0xfce9('0x26')](_0x36e2c9['stack']);if(_0x36e2c9[_0xfce9('0x27')]){delete _0x36e2c9[_0xfce9('0x27')];}_0x58dd9a['status'](_0x1a1b75)['send'](_0x36e2c9);};}exports[_0xfce9('0x28')]=function(_0x235ec8,_0x5a63f4){var _0x2600aa={},_0x469195={},_0x9f8fcd={'count':0x0,'rows':[]};var _0x3bfe3c=_[_0xfce9('0x29')](db['AnalyticTreeReport'][_0xfce9('0x2a')],function(_0xf21031){return{'name':_0xf21031[_0xfce9('0x2b')],'type':_0xf21031[_0xfce9('0x2c')][_0xfce9('0x2d')]};});_0x469195[_0xfce9('0x2e')]=_[_0xfce9('0x29')](_0x3bfe3c,_0xfce9('0x27'));_0x469195[_0xfce9('0x2f')]=_[_0xfce9('0x30')](_0x235ec8[_0xfce9('0x2f')]);_0x469195['filters']=_[_0xfce9('0x31')](_0x469195['model'],_0x469195[_0xfce9('0x2f')]);_0x2600aa[_0xfce9('0x32')]=_[_0xfce9('0x31')](_0x469195['model'],qs[_0xfce9('0x33')](_0x235ec8[_0xfce9('0x2f')][_0xfce9('0x33')]));_0x2600aa['attributes']=_0x2600aa[_0xfce9('0x32')][_0xfce9('0x34')]?_0x2600aa['attributes']:_0x469195['model'];if(!_0x235ec8[_0xfce9('0x2f')]['hasOwnProperty'](_0xfce9('0x35'))){_0x2600aa[_0xfce9('0x1f')]=qs[_0xfce9('0x1f')](_0x235ec8[_0xfce9('0x2f')]['limit']);_0x2600aa[_0xfce9('0x1e')]=qs[_0xfce9('0x1e')](_0x235ec8[_0xfce9('0x2f')][_0xfce9('0x1e')]);}_0x2600aa[_0xfce9('0x36')]=qs[_0xfce9('0x37')](_0x235ec8[_0xfce9('0x2f')][_0xfce9('0x37')]);_0x2600aa[_0xfce9('0x38')]=qs[_0xfce9('0x39')](_['pick'](_0x235ec8['query'],_0x469195[_0xfce9('0x39')]),_0x3bfe3c);if(_0x235ec8[_0xfce9('0x2f')][_0xfce9('0x3a')]){_0x2600aa[_0xfce9('0x38')]=_[_0xfce9('0x3b')](_0x2600aa['where'],{'$or':_['map'](_0x3bfe3c,function(_0x3abcba){if(_0x3abcba['type']!==_0xfce9('0x3c')){var _0x50b171={};_0x50b171[_0x3abcba[_0xfce9('0x27')]]={'$like':'%'+_0x235ec8['query'][_0xfce9('0x3a')]+'%'};return _0x50b171;}})});}_0x2600aa=_[_0xfce9('0x3b')]({},_0x2600aa,_0x235ec8[_0xfce9('0x3d')]);var _0x47d2a7={'where':_0x2600aa[_0xfce9('0x38')]};return db[_0xfce9('0x3e')]['count'](_0x47d2a7)[_0xfce9('0x25')](function(_0x45de7c){_0x9f8fcd[_0xfce9('0x3f')]=_0x45de7c;if(_0x235ec8[_0xfce9('0x2f')][_0xfce9('0x40')]){_0x2600aa[_0xfce9('0x41')]=[{'all':!![]}];}return db['AnalyticTreeReport']['findAll'](_0x2600aa);})[_0xfce9('0x25')](function(_0x1b1354){_0x9f8fcd[_0xfce9('0x42')]=_0x1b1354;return _0x9f8fcd;})[_0xfce9('0x25')](respondWithFilteredResult(_0x5a63f4,_0x2600aa))[_0xfce9('0x43')](handleError(_0x5a63f4,null));};exports[_0xfce9('0x44')]=function(_0x1ed4ef,_0x2fe4a7){var _0x14d0b2={'raw':!![],'where':{'id':_0x1ed4ef[_0xfce9('0x45')]['id']}},_0x7718e4={};_0x7718e4[_0xfce9('0x2e')]=_[_0xfce9('0x30')](db[_0xfce9('0x3e')]['rawAttributes']);_0x7718e4[_0xfce9('0x2f')]=_[_0xfce9('0x30')](_0x1ed4ef[_0xfce9('0x2f')]);_0x7718e4[_0xfce9('0x39')]=_[_0xfce9('0x31')](_0x7718e4[_0xfce9('0x2e')],_0x7718e4['query']);_0x14d0b2[_0xfce9('0x32')]=_[_0xfce9('0x31')](_0x7718e4['model'],qs[_0xfce9('0x33')](_0x1ed4ef['query'][_0xfce9('0x33')]));_0x14d0b2[_0xfce9('0x32')]=_0x14d0b2[_0xfce9('0x32')][_0xfce9('0x34')]?_0x14d0b2[_0xfce9('0x32')]:_0x7718e4[_0xfce9('0x2e')];if(_0x1ed4ef[_0xfce9('0x2f')][_0xfce9('0x40')]){_0x14d0b2[_0xfce9('0x41')]=[{'all':!![]}];}_0x14d0b2=_[_0xfce9('0x3b')]({},_0x14d0b2,_0x1ed4ef['options']);return db[_0xfce9('0x3e')]['find'](_0x14d0b2)[_0xfce9('0x25')](handleEntityNotFound(_0x2fe4a7,null))[_0xfce9('0x25')](respondWithResult(_0x2fe4a7,null))[_0xfce9('0x43')](handleError(_0x2fe4a7,null));};exports[_0xfce9('0x46')]=function(_0x43ea52,_0x2ee426){return db[_0xfce9('0x3e')]['create'](_0x43ea52[_0xfce9('0x47')],{})['then'](respondWithResult(_0x2ee426,0xc9))[_0xfce9('0x43')](handleError(_0x2ee426,null));};exports[_0xfce9('0x48')]=function(_0x5563de,_0x3b68bc){if(_0x5563de[_0xfce9('0x47')]['id']){delete _0x5563de[_0xfce9('0x47')]['id'];}return db[_0xfce9('0x3e')][_0xfce9('0x49')]({'where':{'id':_0x5563de[_0xfce9('0x45')]['id']}})[_0xfce9('0x25')](handleEntityNotFound(_0x3b68bc,null))[_0xfce9('0x25')](saveUpdates(_0x5563de['body'],null))[_0xfce9('0x25')](respondWithResult(_0x3b68bc,null))[_0xfce9('0x43')](handleError(_0x3b68bc,null));};exports[_0xfce9('0x24')]=function(_0x468239,_0x49383f){return db[_0xfce9('0x3e')]['find']({'where':{'id':_0x468239[_0xfce9('0x45')]['id']}})[_0xfce9('0x25')](handleEntityNotFound(_0x49383f,null))[_0xfce9('0x25')](removeEntity(_0x49383f,null))[_0xfce9('0x43')](handleError(_0x49383f,null));};