Built motion from commit (unavailable).|2.2.2
[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 _0xb469=['keys','query','dateStart','dateEnd','filters','intersection','model','attributes','fields','nolimit','limit','offset','order','sort','pick','add','day','merge','where','filter','key','field','includeAll','findAll','rows','catch','show','params','length','options','create','body','update','find','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','lodash','jsforce','querystring','papaparse','../../components/parsers/qs','api','../../config/environment','sendStatus','status','json','count','set','Content-Range','reject','save','then','end','error','stack','name','send','index','AnalyticTreeReport','rawAttributes'];(function(_0x3e606f,_0x1a505b){var _0x37c231=function(_0x296aea){while(--_0x296aea){_0x3e606f['push'](_0x3e606f['shift']());}};_0x37c231(++_0x1a505b);}(_0xb469,0x13b));var _0x9b46=function(_0x986e50,_0x2c0b78){_0x986e50=_0x986e50-0x0;var _0xa038f=_0xb469[_0x986e50];return _0xa038f;};'use strict';var pdf=require(_0x9b46('0x0'));var emlformat=require(_0x9b46('0x1'));var rimraf=require(_0x9b46('0x2'));var zipdir=require(_0x9b46('0x3'));var jsonpatch=require(_0x9b46('0x4'));var rp=require(_0x9b46('0x5'));var moment=require(_0x9b46('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x9b46('0x7'));var util=require(_0x9b46('0x8'));var path=require('path');var sox=require(_0x9b46('0x9'));var csv=require(_0x9b46('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9b46('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9b46('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x9b46('0xa'));var querystring=require(_0x9b46('0xd'));var Papa=require(_0x9b46('0xe'));var Redis=require('ioredis');var qs=require(_0x9b46('0xf'));var logger=require('../../config/logger')(_0x9b46('0x10'));var utils=require('../../config/utils');var config=require(_0x9b46('0x11'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x672157,_0x233b6b){_0x233b6b=_0x233b6b||0xcc;return function(_0x563de4){if(_0x563de4){return _0x672157[_0x9b46('0x12')](_0x233b6b);}return _0x672157[_0x9b46('0x13')](_0x233b6b)['end']();};}function respondWithResult(_0x14362a,_0x2cfb35){_0x2cfb35=_0x2cfb35||0xc8;return function(_0x3d9618){if(_0x3d9618){return _0x14362a[_0x9b46('0x13')](_0x2cfb35)[_0x9b46('0x14')](_0x3d9618);}};}function respondWithFilteredResult(_0x35c5c1,_0x2136bc){return function(_0x2e70c3){if(_0x2e70c3){var _0x3f2b28=_0x2e70c3[_0x9b46('0x15')],_0x178293=_0x2136bc['offset'],_0xbc1ba6=_0x2136bc['offset']+_0x2136bc['limit'],_0x135cc2;if(_0xbc1ba6>=_0x3f2b28){_0xbc1ba6=_0x3f2b28;_0x135cc2=0xc8;}else{_0x135cc2=0xce;}_0x35c5c1[_0x9b46('0x13')](_0x135cc2);return _0x35c5c1[_0x9b46('0x16')](_0x9b46('0x17'),_0x178293+'-'+_0xbc1ba6+'/'+_0x3f2b28)['json'](_0x2e70c3);}return null;};}function patchUpdates(_0x5dd7bd){return function(_0x3d9efa){try{jsonpatch['apply'](_0x3d9efa,_0x5dd7bd,!![]);}catch(_0x56ec1a){return BPromise[_0x9b46('0x18')](_0x56ec1a);}return _0x3d9efa[_0x9b46('0x19')]();};}function saveUpdates(_0x5a0d25,_0x2fd8f9){return function(_0x297be6){if(_0x297be6){return _0x297be6['update'](_0x5a0d25)['then'](function(_0xbec2ea){return _0xbec2ea;});}return null;};}function removeEntity(_0x137bfd,_0x204098){return function(_0x4e4c7d){if(_0x4e4c7d){return _0x4e4c7d['destroy']()[_0x9b46('0x1a')](function(){_0x137bfd['status'](0xcc)[_0x9b46('0x1b')]();});}};}function handleEntityNotFound(_0x3c76f2,_0x561408){return function(_0xadff19){if(!_0xadff19){_0x3c76f2['sendStatus'](0x194);}return _0xadff19;};}function handleError(_0x141cb6,_0x2b6f72){_0x2b6f72=_0x2b6f72||0x1f4;return function(_0x4d3b1b){logger[_0x9b46('0x1c')](_0x4d3b1b[_0x9b46('0x1d')]);if(_0x4d3b1b[_0x9b46('0x1e')]){delete _0x4d3b1b[_0x9b46('0x1e')];}_0x141cb6[_0x9b46('0x13')](_0x2b6f72)[_0x9b46('0x1f')](_0x4d3b1b);};}exports[_0x9b46('0x20')]=function(_0x5dc377,_0xdd756c){var _0x3ac37e={},_0x478105={},_0x268821={'count':0x0,'rows':[]};var _0x2468be=db[_0x9b46('0x21')][_0x9b46('0x22')];_0x478105['model']=_[_0x9b46('0x23')](_0x2468be);var _0xee519e={'dateStart':_0x5dc377[_0x9b46('0x24')][_0x9b46('0x25')],'dateEnd':_0x5dc377[_0x9b46('0x24')][_0x9b46('0x26')]};delete _0x5dc377[_0x9b46('0x24')][_0x9b46('0x25')];delete _0x5dc377[_0x9b46('0x24')][_0x9b46('0x26')];_0x478105[_0x9b46('0x24')]=_['keys'](_0x5dc377[_0x9b46('0x24')]);_0x478105[_0x9b46('0x27')]=_[_0x9b46('0x28')](_0x478105[_0x9b46('0x29')],_0x478105[_0x9b46('0x24')]);_0x3ac37e[_0x9b46('0x2a')]=_[_0x9b46('0x28')](_0x478105[_0x9b46('0x29')],qs[_0x9b46('0x2b')](_0x5dc377[_0x9b46('0x24')][_0x9b46('0x2b')]));_0x3ac37e['attributes']=_0x3ac37e[_0x9b46('0x2a')]['length']?_0x3ac37e[_0x9b46('0x2a')]:_0x478105[_0x9b46('0x29')];if(!_0x5dc377[_0x9b46('0x24')]['hasOwnProperty'](_0x9b46('0x2c'))){_0x3ac37e[_0x9b46('0x2d')]=qs[_0x9b46('0x2d')](_0x5dc377[_0x9b46('0x24')][_0x9b46('0x2d')]);_0x3ac37e['offset']=qs['offset'](_0x5dc377[_0x9b46('0x24')][_0x9b46('0x2e')]);}_0x3ac37e[_0x9b46('0x2f')]=qs[_0x9b46('0x30')](_0x5dc377['query'][_0x9b46('0x30')]);_0x3ac37e['where']=qs[_0x9b46('0x27')](_[_0x9b46('0x31')](_0x5dc377[_0x9b46('0x24')],_0x478105[_0x9b46('0x27')]));if(_0xee519e['dateStart']){if(_0xee519e[_0x9b46('0x26')]){_0xee519e['dateEnd']=moment(_0xee519e[_0x9b46('0x26')])[_0x9b46('0x32')](0x1,_0x9b46('0x33'));}else{_0xee519e[_0x9b46('0x26')]=moment(_0xee519e[_0x9b46('0x25')])[_0x9b46('0x32')](0x1,_0x9b46('0x33'));}_[_0x9b46('0x34')](_0x3ac37e[_0x9b46('0x35')],{'createdAt':{'$gte':_0xee519e[_0x9b46('0x25')],'$lte':_0xee519e[_0x9b46('0x26')]}});}if(_0x5dc377['query'][_0x9b46('0x36')]){_0x3ac37e['where']=_[_0x9b46('0x34')](_0x3ac37e[_0x9b46('0x35')],{'$or':_['map'](_0x2468be,function(_0x2c4431){if(_0x2c4431['type'][_0x9b46('0x37')]!=='VIRTUAL'){var _0x443226={};_0x443226[_0x2c4431[_0x9b46('0x38')]]={'$like':'%'+_0x5dc377[_0x9b46('0x24')][_0x9b46('0x36')]+'%'};return _0x443226;}})});}_0x3ac37e=_[_0x9b46('0x34')]({},_0x3ac37e,_0x5dc377['options']);var _0x4e268c={'where':_0x3ac37e[_0x9b46('0x35')]};return db['AnalyticTreeReport']['count'](_0x4e268c)['then'](function(_0x4e1911){_0x268821[_0x9b46('0x15')]=_0x4e1911;if(_0x5dc377['query'][_0x9b46('0x39')]){_0x3ac37e['include']=[{'all':!![]}];}return db[_0x9b46('0x21')][_0x9b46('0x3a')](_0x3ac37e);})[_0x9b46('0x1a')](function(_0xa14b){_0x268821[_0x9b46('0x3b')]=_0xa14b;return _0x268821;})[_0x9b46('0x1a')](respondWithFilteredResult(_0xdd756c,_0x3ac37e))[_0x9b46('0x3c')](handleError(_0xdd756c,null));};exports[_0x9b46('0x3d')]=function(_0x148d86,_0x5602a9){var _0x447302={'raw':!![],'where':{'id':_0x148d86[_0x9b46('0x3e')]['id']}},_0xe7d0fc={};_0xe7d0fc[_0x9b46('0x29')]=_[_0x9b46('0x23')](db[_0x9b46('0x21')][_0x9b46('0x22')]);_0xe7d0fc[_0x9b46('0x24')]=_[_0x9b46('0x23')](_0x148d86[_0x9b46('0x24')]);_0xe7d0fc[_0x9b46('0x27')]=_[_0x9b46('0x28')](_0xe7d0fc[_0x9b46('0x29')],_0xe7d0fc[_0x9b46('0x24')]);_0x447302['attributes']=_['intersection'](_0xe7d0fc[_0x9b46('0x29')],qs[_0x9b46('0x2b')](_0x148d86[_0x9b46('0x24')]['fields']));_0x447302['attributes']=_0x447302[_0x9b46('0x2a')][_0x9b46('0x3f')]?_0x447302[_0x9b46('0x2a')]:_0xe7d0fc[_0x9b46('0x29')];if(_0x148d86[_0x9b46('0x24')][_0x9b46('0x39')]){_0x447302['include']=[{'all':!![]}];}_0x447302=_[_0x9b46('0x34')]({},_0x447302,_0x148d86[_0x9b46('0x40')]);return db[_0x9b46('0x21')]['find'](_0x447302)[_0x9b46('0x1a')](handleEntityNotFound(_0x5602a9,null))['then'](respondWithResult(_0x5602a9,null))[_0x9b46('0x3c')](handleError(_0x5602a9,null));};exports[_0x9b46('0x41')]=function(_0x16e6d8,_0x566bad){return db[_0x9b46('0x21')][_0x9b46('0x41')](_0x16e6d8[_0x9b46('0x42')],{})[_0x9b46('0x1a')](respondWithResult(_0x566bad,0xc9))[_0x9b46('0x3c')](handleError(_0x566bad,null));};exports[_0x9b46('0x43')]=function(_0x539d02,_0x44cd9f){if(_0x539d02[_0x9b46('0x42')]['id']){delete _0x539d02[_0x9b46('0x42')]['id'];}return db[_0x9b46('0x21')][_0x9b46('0x44')]({'where':{'id':_0x539d02[_0x9b46('0x3e')]['id']}})['then'](handleEntityNotFound(_0x44cd9f,null))[_0x9b46('0x1a')](saveUpdates(_0x539d02['body'],null))[_0x9b46('0x1a')](respondWithResult(_0x44cd9f,null))[_0x9b46('0x3c')](handleError(_0x44cd9f,null));};exports[_0x9b46('0x45')]=function(_0x33d9ac,_0x33a2ea){return db['AnalyticTreeReport'][_0x9b46('0x44')]({'where':{'id':_0x33d9ac[_0x9b46('0x3e')]['id']}})[_0x9b46('0x1a')](handleEntityNotFound(_0x33a2ea,null))[_0x9b46('0x1a')](removeEntity(_0x33a2ea,null))[_0x9b46('0x3c')](handleError(_0x33a2ea,null));};