68ab96c45c3da2e478da9035119041848762dcd2
[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 _0x02f2=['stack','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','name','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','includeAll','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','end','error'];(function(_0x32020c,_0x2baa35){var _0x3f30b6=function(_0x3e9a16){while(--_0x3e9a16){_0x32020c['push'](_0x32020c['shift']());}};_0x3f30b6(++_0x2baa35);}(_0x02f2,0xbd));var _0x202f=function(_0xcda7c8,_0x242770){_0xcda7c8=_0xcda7c8-0x0;var _0x2a5811=_0x02f2[_0xcda7c8];return _0x2a5811;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x202f('0x0'));var rimraf=require(_0x202f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x202f('0x2'));var rp=require(_0x202f('0x3'));var moment=require(_0x202f('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x202f('0x5'));var util=require(_0x202f('0x6'));var path=require(_0x202f('0x7'));var sox=require(_0x202f('0x8'));var csv=require(_0x202f('0x9'));var ejs=require(_0x202f('0xa'));var fs=require('fs');var _=require(_0x202f('0xb'));var squel=require(_0x202f('0xc'));var crypto=require(_0x202f('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x202f('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x202f('0xf'));var authService=require(_0x202f('0x10'));var qs=require(_0x202f('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x202f('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0x202f('0x13'));var config=require(_0x202f('0x14'));var licenseUtil=require(_0x202f('0x15'));var db=require(_0x202f('0x16'))['db'];function respondWithStatusCode(_0x19b006,_0x3009d7){_0x3009d7=_0x3009d7||0xcc;return function(_0x3c900b){if(_0x3c900b){return _0x19b006[_0x202f('0x17')](_0x3009d7);}return _0x19b006[_0x202f('0x18')](_0x3009d7)['end']();};}function respondWithResult(_0x229747,_0x1e10ee){_0x1e10ee=_0x1e10ee||0xc8;return function(_0x1346ce){if(_0x1346ce){return _0x229747['status'](_0x1e10ee)[_0x202f('0x19')](_0x1346ce);}};}function respondWithFilteredResult(_0x4e6edc,_0x4021b3){return function(_0x47a3eb){if(_0x47a3eb){var _0x1145d3=_0x47a3eb[_0x202f('0x1a')],_0x228116=_0x4021b3[_0x202f('0x1b')],_0x1733aa=_0x4021b3[_0x202f('0x1b')]+_0x4021b3[_0x202f('0x1c')],_0x23bb2e;if(_0x1733aa>=_0x1145d3){_0x1733aa=_0x1145d3;_0x23bb2e=0xc8;}else{_0x23bb2e=0xce;}_0x4e6edc[_0x202f('0x18')](_0x23bb2e);return _0x4e6edc[_0x202f('0x1d')](_0x202f('0x1e'),_0x228116+'-'+_0x1733aa+'/'+_0x1145d3)[_0x202f('0x19')](_0x47a3eb);}return null;};}function patchUpdates(_0x2ee3cf){return function(_0xffb694){try{jsonpatch[_0x202f('0x1f')](_0xffb694,_0x2ee3cf,!![]);}catch(_0x14d632){return BPromise[_0x202f('0x20')](_0x14d632);}return _0xffb694[_0x202f('0x21')]();};}function saveUpdates(_0x2613fd,_0x4ceb73){return function(_0xe89bf9){if(_0xe89bf9){return _0xe89bf9[_0x202f('0x22')](_0x2613fd)[_0x202f('0x23')](function(_0x1aafd5){return _0x1aafd5;});}return null;};}function removeEntity(_0x2dbea5,_0x5ad2d4){return function(_0x472616){if(_0x472616){return _0x472616[_0x202f('0x24')]()['then'](function(){_0x2dbea5['status'](0xcc)[_0x202f('0x25')]();});}};}function handleEntityNotFound(_0x141026,_0x34d4d9){return function(_0x2a417a){if(!_0x2a417a){_0x141026[_0x202f('0x17')](0x194);}return _0x2a417a;};}function handleError(_0x574d8d,_0x4382ae){_0x4382ae=_0x4382ae||0x1f4;return function(_0x47200f){logger[_0x202f('0x26')](_0x47200f[_0x202f('0x27')]);if(_0x47200f['name']){delete _0x47200f['name'];}_0x574d8d[_0x202f('0x18')](_0x4382ae)[_0x202f('0x28')](_0x47200f);};}exports[_0x202f('0x29')]=function(_0x11cf8b,_0x19dd26){var _0x220bf6={},_0x222d00={},_0x50e022={'count':0x0,'rows':[]};var _0x5aa845=_[_0x202f('0x2a')](db[_0x202f('0x2b')][_0x202f('0x2c')],function(_0x36172a){return{'name':_0x36172a[_0x202f('0x2d')],'type':_0x36172a[_0x202f('0x2e')][_0x202f('0x2f')]};});_0x222d00[_0x202f('0x30')]=_['map'](_0x5aa845,_0x202f('0x31'));_0x222d00['query']=_[_0x202f('0x32')](_0x11cf8b[_0x202f('0x33')]);_0x222d00[_0x202f('0x34')]=_[_0x202f('0x35')](_0x222d00[_0x202f('0x30')],_0x222d00[_0x202f('0x33')]);_0x220bf6[_0x202f('0x36')]=_[_0x202f('0x35')](_0x222d00['model'],qs[_0x202f('0x37')](_0x11cf8b[_0x202f('0x33')][_0x202f('0x37')]));_0x220bf6[_0x202f('0x36')]=_0x220bf6[_0x202f('0x36')][_0x202f('0x38')]?_0x220bf6[_0x202f('0x36')]:_0x222d00[_0x202f('0x30')];if(!_0x11cf8b[_0x202f('0x33')][_0x202f('0x39')](_0x202f('0x3a'))){_0x220bf6[_0x202f('0x1c')]=qs[_0x202f('0x1c')](_0x11cf8b['query'][_0x202f('0x1c')]);_0x220bf6[_0x202f('0x1b')]=qs[_0x202f('0x1b')](_0x11cf8b[_0x202f('0x33')][_0x202f('0x1b')]);}_0x220bf6[_0x202f('0x3b')]=qs[_0x202f('0x3c')](_0x11cf8b[_0x202f('0x33')][_0x202f('0x3c')]);_0x220bf6[_0x202f('0x3d')]=qs[_0x202f('0x34')](_[_0x202f('0x3e')](_0x11cf8b[_0x202f('0x33')],_0x222d00['filters']),_0x5aa845);if(_0x11cf8b['query']['filter']){_0x220bf6['where']=_[_0x202f('0x3f')](_0x220bf6[_0x202f('0x3d')],{'$or':_['map'](_0x5aa845,function(_0xceb3d9){if(_0xceb3d9['type']!==_0x202f('0x40')){var _0x4de421={};_0x4de421[_0xceb3d9[_0x202f('0x31')]]={'$like':'%'+_0x11cf8b[_0x202f('0x33')][_0x202f('0x41')]+'%'};return _0x4de421;}})});}_0x220bf6=_[_0x202f('0x3f')]({},_0x220bf6,_0x11cf8b[_0x202f('0x42')]);var _0xe0e413={'where':_0x220bf6['where']};return db[_0x202f('0x2b')]['count'](_0xe0e413)[_0x202f('0x23')](function(_0x32341b){_0x50e022[_0x202f('0x1a')]=_0x32341b;if(_0x11cf8b['query']['includeAll']){_0x220bf6[_0x202f('0x43')]=[{'all':!![]}];}return db[_0x202f('0x2b')][_0x202f('0x44')](_0x220bf6);})[_0x202f('0x23')](function(_0x3f501e){_0x50e022[_0x202f('0x45')]=_0x3f501e;return _0x50e022;})['then'](respondWithFilteredResult(_0x19dd26,_0x220bf6))[_0x202f('0x46')](handleError(_0x19dd26,null));};exports[_0x202f('0x47')]=function(_0x3772d3,_0x159505){var _0x811780={'raw':!![],'where':{'id':_0x3772d3[_0x202f('0x48')]['id']}},_0x300024={};_0x300024[_0x202f('0x30')]=_[_0x202f('0x32')](db[_0x202f('0x2b')][_0x202f('0x2c')]);_0x300024[_0x202f('0x33')]=_[_0x202f('0x32')](_0x3772d3[_0x202f('0x33')]);_0x300024[_0x202f('0x34')]=_[_0x202f('0x35')](_0x300024[_0x202f('0x30')],_0x300024[_0x202f('0x33')]);_0x811780[_0x202f('0x36')]=_[_0x202f('0x35')](_0x300024[_0x202f('0x30')],qs[_0x202f('0x37')](_0x3772d3[_0x202f('0x33')][_0x202f('0x37')]));_0x811780['attributes']=_0x811780[_0x202f('0x36')][_0x202f('0x38')]?_0x811780['attributes']:_0x300024['model'];if(_0x3772d3[_0x202f('0x33')][_0x202f('0x49')]){_0x811780[_0x202f('0x43')]=[{'all':!![]}];}_0x811780=_[_0x202f('0x3f')]({},_0x811780,_0x3772d3['options']);return db[_0x202f('0x2b')]['find'](_0x811780)['then'](handleEntityNotFound(_0x159505,null))[_0x202f('0x23')](respondWithResult(_0x159505,null))[_0x202f('0x46')](handleError(_0x159505,null));};exports[_0x202f('0x4a')]=function(_0x4eae3a,_0x39c7e7){return db[_0x202f('0x2b')][_0x202f('0x4a')](_0x4eae3a['body'],{})[_0x202f('0x23')](respondWithResult(_0x39c7e7,0xc9))[_0x202f('0x46')](handleError(_0x39c7e7,null));};exports[_0x202f('0x22')]=function(_0x1e13ce,_0x35644c){if(_0x1e13ce[_0x202f('0x4b')]['id']){delete _0x1e13ce[_0x202f('0x4b')]['id'];}return db[_0x202f('0x2b')]['find']({'where':{'id':_0x1e13ce[_0x202f('0x48')]['id']}})[_0x202f('0x23')](handleEntityNotFound(_0x35644c,null))[_0x202f('0x23')](saveUpdates(_0x1e13ce[_0x202f('0x4b')],null))[_0x202f('0x23')](respondWithResult(_0x35644c,null))['catch'](handleError(_0x35644c,null));};exports['destroy']=function(_0x137f43,_0x70a2c7){return db[_0x202f('0x2b')]['find']({'where':{'id':_0x137f43['params']['id']}})[_0x202f('0x23')](handleEntityNotFound(_0x70a2c7,null))['then'](removeEntity(_0x70a2c7,null))[_0x202f('0x46')](handleError(_0x70a2c7,null));};