Built motion from commit (unavailable).|2.0.80
[motion2.git] / server / api / analyticMetric / analyticMetric.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 _0xb3bf=['send','index','AnalyticMetric','rawAttributes','query','dateStart','dateEnd','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','add','day','where','filter','merge','options','count','includeAll','include','findAll','rows','catch','show','params','create','body','find','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','squel','crypto','querystring','papaparse','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','error'];(function(_0x5887ec,_0x504c12){var _0x23b637=function(_0x3f720f){while(--_0x3f720f){_0x5887ec['push'](_0x5887ec['shift']());}};_0x23b637(++_0x504c12);}(_0xb3bf,0xb0));var _0xfb3b=function(_0x38fff7,_0x3d2f6f){_0x38fff7=_0x38fff7-0x0;var _0x335292=_0xb3bf[_0x38fff7];return _0x335292;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xfb3b('0x0'));var zipdir=require(_0xfb3b('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfb3b('0x2'));var moment=require(_0xfb3b('0x3'));var BPromise=require(_0xfb3b('0x4'));var Mustache=require(_0xfb3b('0x5'));var util=require(_0xfb3b('0x6'));var path=require(_0xfb3b('0x7'));var sox=require('sox');var csv=require(_0xfb3b('0x8'));var ejs=require(_0xfb3b('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xfb3b('0xa'));var crypto=require(_0xfb3b('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xfb3b('0x8'));var querystring=require(_0xfb3b('0xc'));var Papa=require(_0xfb3b('0xd'));var qs=require(_0xfb3b('0xe'));var logger=require(_0xfb3b('0xf'))('api');var utils=require(_0xfb3b('0x10'));var config=require(_0xfb3b('0x11'));var db=require(_0xfb3b('0x12'))['db'];function respondWithStatusCode(_0x10ff58,_0x96aa30){_0x96aa30=_0x96aa30||0xcc;return function(_0x34f912){if(_0x34f912){return _0x10ff58[_0xfb3b('0x13')](_0x96aa30);}return _0x10ff58['status'](_0x96aa30)[_0xfb3b('0x14')]();};}function respondWithResult(_0x5efdc4,_0x5b27ab){_0x5b27ab=_0x5b27ab||0xc8;return function(_0x5c64d2){if(_0x5c64d2){return _0x5efdc4[_0xfb3b('0x15')](_0x5b27ab)[_0xfb3b('0x16')](_0x5c64d2);}};}function respondWithFilteredResult(_0x4e954f,_0x422553){return function(_0x5efe38){if(_0x5efe38){var _0x38613b=_0x5efe38['count'],_0x29c4f9=_0x422553[_0xfb3b('0x17')],_0x13c82c=_0x422553[_0xfb3b('0x17')]+_0x422553[_0xfb3b('0x18')],_0x38916f;if(_0x13c82c>=_0x38613b){_0x13c82c=_0x38613b;_0x38916f=0xc8;}else{_0x38916f=0xce;}_0x4e954f[_0xfb3b('0x15')](_0x38916f);return _0x4e954f[_0xfb3b('0x19')](_0xfb3b('0x1a'),_0x29c4f9+'-'+_0x13c82c+'/'+_0x38613b)['json'](_0x5efe38);}return null;};}function patchUpdates(_0x4c834a){return function(_0x3980d2){try{jsonpatch[_0xfb3b('0x1b')](_0x3980d2,_0x4c834a,!![]);}catch(_0xefb25c){return BPromise[_0xfb3b('0x1c')](_0xefb25c);}return _0x3980d2[_0xfb3b('0x1d')]();};}function saveUpdates(_0x2ba9f4,_0x4a3708){return function(_0x73a4bb){if(_0x73a4bb){return _0x73a4bb[_0xfb3b('0x1e')](_0x2ba9f4)['then'](function(_0x5c264c){return _0x5c264c;});}return null;};}function removeEntity(_0x593fef,_0x339f62){return function(_0x4b1e4b){if(_0x4b1e4b){return _0x4b1e4b[_0xfb3b('0x1f')]()[_0xfb3b('0x20')](function(){_0x593fef[_0xfb3b('0x15')](0xcc)[_0xfb3b('0x14')]();});}};}function handleEntityNotFound(_0xc39475,_0xd7cfeb){return function(_0x3c75a5){if(!_0x3c75a5){_0xc39475[_0xfb3b('0x13')](0x194);}return _0x3c75a5;};}function handleError(_0x444397,_0x6a334e){_0x6a334e=_0x6a334e||0x1f4;return function(_0x46fdb6){logger[_0xfb3b('0x21')](_0x46fdb6['stack']);if(_0x46fdb6['name']){delete _0x46fdb6['name'];}_0x444397['status'](_0x6a334e)[_0xfb3b('0x22')](_0x46fdb6);};}exports[_0xfb3b('0x23')]=function(_0x4b2ba0,_0x4c6375){var _0x188de6={},_0x2535fb={},_0x3de960={'count':0x0,'rows':[]};var _0x1bcb0d=db[_0xfb3b('0x24')][_0xfb3b('0x25')];_0x2535fb['model']=_['keys'](_0x1bcb0d);var _0x1fde19={'dateStart':_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x27')],'dateEnd':_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x28')]};delete _0x4b2ba0[_0xfb3b('0x26')]['dateStart'];delete _0x4b2ba0['query'][_0xfb3b('0x28')];_0x2535fb[_0xfb3b('0x26')]=_[_0xfb3b('0x29')](_0x4b2ba0[_0xfb3b('0x26')]);_0x2535fb[_0xfb3b('0x2a')]=_[_0xfb3b('0x2b')](_0x2535fb[_0xfb3b('0x2c')],_0x2535fb[_0xfb3b('0x26')]);_0x188de6[_0xfb3b('0x2d')]=_[_0xfb3b('0x2b')](_0x2535fb[_0xfb3b('0x2c')],qs[_0xfb3b('0x2e')](_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x2e')]));_0x188de6[_0xfb3b('0x2d')]=_0x188de6['attributes'][_0xfb3b('0x2f')]?_0x188de6['attributes']:_0x2535fb['model'];if(!_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x30')](_0xfb3b('0x31'))){_0x188de6['limit']=qs[_0xfb3b('0x18')](_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x18')]);_0x188de6[_0xfb3b('0x17')]=qs[_0xfb3b('0x17')](_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x17')]);}_0x188de6[_0xfb3b('0x32')]=qs[_0xfb3b('0x33')](_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x33')]);_0x188de6['where']=qs[_0xfb3b('0x2a')](_[_0xfb3b('0x34')](_0x4b2ba0[_0xfb3b('0x26')],_0x2535fb['filters']));if(_0x1fde19[_0xfb3b('0x27')]){if(_0x1fde19[_0xfb3b('0x28')]){_0x1fde19[_0xfb3b('0x28')]=moment(_0x1fde19[_0xfb3b('0x28')])[_0xfb3b('0x35')](0x1,'day');}else{_0x1fde19[_0xfb3b('0x28')]=moment(_0x1fde19[_0xfb3b('0x27')])['add'](0x1,_0xfb3b('0x36'));}_['merge'](_0x188de6[_0xfb3b('0x37')],{'createdAt':{'$gte':_0x1fde19[_0xfb3b('0x27')],'$lte':_0x1fde19[_0xfb3b('0x28')]}});}if(_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x38')]){_0x188de6[_0xfb3b('0x37')]=_['merge'](_0x188de6[_0xfb3b('0x37')],{'$or':_['map'](_0x188de6[_0xfb3b('0x2d')],function(_0x1966fc){var _0x1b1f10={};_0x1b1f10[_0x1966fc]={'$like':'%'+_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x38')]+'%'};return _0x1b1f10;})});}_0x188de6=_[_0xfb3b('0x39')]({},_0x188de6,_0x4b2ba0[_0xfb3b('0x3a')]);var _0x4e19fe={'where':_0x188de6[_0xfb3b('0x37')]};return db[_0xfb3b('0x24')][_0xfb3b('0x3b')](_0x4e19fe)[_0xfb3b('0x20')](function(_0xc1ed30){_0x3de960['count']=_0xc1ed30;if(_0x4b2ba0[_0xfb3b('0x26')][_0xfb3b('0x3c')]){_0x188de6[_0xfb3b('0x3d')]=[{'all':!![]}];}return db[_0xfb3b('0x24')][_0xfb3b('0x3e')](_0x188de6);})[_0xfb3b('0x20')](function(_0x3c20f9){_0x3de960[_0xfb3b('0x3f')]=_0x3c20f9;return _0x3de960;})[_0xfb3b('0x20')](respondWithFilteredResult(_0x4c6375,_0x188de6))[_0xfb3b('0x40')](handleError(_0x4c6375,null));};exports[_0xfb3b('0x41')]=function(_0x3ccafe,_0xe6a17d){var _0x4376bc={'raw':!![],'where':{'id':_0x3ccafe[_0xfb3b('0x42')]['id']}},_0xa4b287={};_0xa4b287[_0xfb3b('0x2c')]=_['keys'](db[_0xfb3b('0x24')][_0xfb3b('0x25')]);_0xa4b287[_0xfb3b('0x26')]=_[_0xfb3b('0x29')](_0x3ccafe[_0xfb3b('0x26')]);_0xa4b287[_0xfb3b('0x2a')]=_['intersection'](_0xa4b287[_0xfb3b('0x2c')],_0xa4b287['query']);_0x4376bc[_0xfb3b('0x2d')]=_[_0xfb3b('0x2b')](_0xa4b287[_0xfb3b('0x2c')],qs['fields'](_0x3ccafe[_0xfb3b('0x26')][_0xfb3b('0x2e')]));_0x4376bc[_0xfb3b('0x2d')]=_0x4376bc['attributes']['length']?_0x4376bc['attributes']:_0xa4b287['model'];if(_0x3ccafe[_0xfb3b('0x26')]['includeAll']){_0x4376bc['include']=[{'all':!![]}];}_0x4376bc=_[_0xfb3b('0x39')]({},_0x4376bc,_0x3ccafe['options']);return db[_0xfb3b('0x24')]['find'](_0x4376bc)[_0xfb3b('0x20')](handleEntityNotFound(_0xe6a17d,null))[_0xfb3b('0x20')](respondWithResult(_0xe6a17d,null))['catch'](handleError(_0xe6a17d,null));};exports[_0xfb3b('0x43')]=function(_0x27c2dc,_0x453b9){return db[_0xfb3b('0x24')][_0xfb3b('0x43')](_0x27c2dc[_0xfb3b('0x44')],{})['then'](respondWithResult(_0x453b9,0xc9))[_0xfb3b('0x40')](handleError(_0x453b9,null));};exports['update']=function(_0x2be941,_0x69f9d1){if(_0x2be941[_0xfb3b('0x44')]['id']){delete _0x2be941[_0xfb3b('0x44')]['id'];}return db[_0xfb3b('0x24')][_0xfb3b('0x45')]({'where':{'id':_0x2be941[_0xfb3b('0x42')]['id']}})['then'](handleEntityNotFound(_0x69f9d1,null))['then'](saveUpdates(_0x2be941[_0xfb3b('0x44')],null))['then'](respondWithResult(_0x69f9d1,null))[_0xfb3b('0x40')](handleError(_0x69f9d1,null));};exports[_0xfb3b('0x1f')]=function(_0xd92da7,_0x264bf8){return db['AnalyticMetric']['find']({'where':{'id':_0xd92da7[_0xfb3b('0x42')]['id']}})[_0xfb3b('0x20')](handleEntityNotFound(_0x264bf8,null))['then'](removeEntity(_0x264bf8,null))[_0xfb3b('0x40')](handleError(_0x264bf8,null));};