Built motion from commit (unavailable).|2.3.1
[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 _0xabc7=['request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','api','../../config/utils','../../mysqldb','sendStatus','status','end','count','offset','set','Content-Range','apply','reject','save','update','destroy','get','Metrics','then','error','stack','name','send','index','AnalyticMetric','rawAttributes','keys','query','model','intersection','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','filters','filter','merge','key','field','options','where','include','rows','catch','show','params','fields','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','rimraf','fast-json-patch'];(function(_0x46b00a,_0x18cd84){var _0xad86f1=function(_0x40da50){while(--_0x40da50){_0x46b00a['push'](_0x46b00a['shift']());}};_0xad86f1(++_0x18cd84);}(_0xabc7,0x139));var _0x7abc=function(_0x580576,_0x2f107d){_0x580576=_0x580576-0x0;var _0x3f55a0=_0xabc7[_0x580576];return _0x3f55a0;};'use strict';var pdf=require(_0x7abc('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x7abc('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7abc('0x2'));var rp=require(_0x7abc('0x3'));var moment=require(_0x7abc('0x4'));var BPromise=require(_0x7abc('0x5'));var Mustache=require(_0x7abc('0x6'));var util=require(_0x7abc('0x7'));var path=require(_0x7abc('0x8'));var sox=require('sox');var csv=require(_0x7abc('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7abc('0xa'));var squel=require(_0x7abc('0xb'));var crypto=require(_0x7abc('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x7abc('0xd'));var toCsv=require(_0x7abc('0x9'));var querystring=require(_0x7abc('0xe'));var Papa=require(_0x7abc('0xf'));var authService=require(_0x7abc('0x10'));var hardwareService=require(_0x7abc('0x11'));var Redis=require(_0x7abc('0x12'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x7abc('0x13'));var utils=require(_0x7abc('0x14'));var config=require('../../config/environment');var db=require(_0x7abc('0x15'))['db'];function respondWithStatusCode(_0x7c374f,_0x54c201){_0x54c201=_0x54c201||0xcc;return function(_0x3c8b07){if(_0x3c8b07){return _0x7c374f[_0x7abc('0x16')](_0x54c201);}return _0x7c374f[_0x7abc('0x17')](_0x54c201)[_0x7abc('0x18')]();};}function respondWithResult(_0xdb951,_0x245793){_0x245793=_0x245793||0xc8;return function(_0x50cfd1){if(_0x50cfd1){return _0xdb951[_0x7abc('0x17')](_0x245793)['json'](_0x50cfd1);}};}function respondWithFilteredResult(_0x18f7d7,_0x1ffea4){return function(_0x2524e9){if(_0x2524e9){var _0x175c0d=_0x2524e9[_0x7abc('0x19')],_0x22180d=_0x1ffea4[_0x7abc('0x1a')],_0x5011d4=_0x1ffea4[_0x7abc('0x1a')]+_0x1ffea4['limit'],_0x1d89c7;if(_0x5011d4>=_0x175c0d){_0x5011d4=_0x175c0d;_0x1d89c7=0xc8;}else{_0x1d89c7=0xce;}_0x18f7d7['status'](_0x1d89c7);return _0x18f7d7[_0x7abc('0x1b')](_0x7abc('0x1c'),_0x22180d+'-'+_0x5011d4+'/'+_0x175c0d)['json'](_0x2524e9);}return null;};}function patchUpdates(_0x468191){return function(_0x2f33f9){try{jsonpatch[_0x7abc('0x1d')](_0x2f33f9,_0x468191,!![]);}catch(_0xf1fcd5){return BPromise[_0x7abc('0x1e')](_0xf1fcd5);}return _0x2f33f9[_0x7abc('0x1f')]();};}function saveUpdates(_0xca55c6,_0x23ac10){return function(_0x388dee){if(_0x388dee){return _0x388dee[_0x7abc('0x20')](_0xca55c6)['then'](function(_0x519603){return _0x519603;});}return null;};}function removeEntity(_0x275013,_0x34eba9){return function(_0x1f29c0){if(_0x1f29c0){return _0x1f29c0[_0x7abc('0x21')]()['then'](function(){var _0x2a76f2=_0x1f29c0[_0x7abc('0x22')]({'plain':!![]});var _0x410ea0=_0x7abc('0x23');return db['UserProfileResource']['destroy']({'where':{'type':_0x410ea0,'resourceId':_0x2a76f2['id']}})[_0x7abc('0x24')](function(){return _0x1f29c0;});})[_0x7abc('0x24')](function(){_0x275013[_0x7abc('0x17')](0xcc)[_0x7abc('0x18')]();});}};}function handleEntityNotFound(_0x4ba9db,_0x31193b){return function(_0x142451){if(!_0x142451){_0x4ba9db[_0x7abc('0x16')](0x194);}return _0x142451;};}function handleError(_0x4541c6,_0x5e68c6){_0x5e68c6=_0x5e68c6||0x1f4;return function(_0x3c376c){logger[_0x7abc('0x25')](_0x3c376c[_0x7abc('0x26')]);if(_0x3c376c[_0x7abc('0x27')]){delete _0x3c376c[_0x7abc('0x27')];}_0x4541c6[_0x7abc('0x17')](_0x5e68c6)[_0x7abc('0x28')](_0x3c376c);};}exports[_0x7abc('0x29')]=function(_0x2da223,_0x5b973b){var _0xf47d5d={},_0x39ad72={},_0x51d37c={'count':0x0,'rows':[]};var _0x43fe11=db[_0x7abc('0x2a')][_0x7abc('0x2b')];_0x39ad72['model']=_[_0x7abc('0x2c')](_0x43fe11);_0x39ad72[_0x7abc('0x2d')]=_['keys'](_0x2da223[_0x7abc('0x2d')]);_0x39ad72['filters']=_['intersection'](_0x39ad72[_0x7abc('0x2e')],_0x39ad72[_0x7abc('0x2d')]);_0xf47d5d['attributes']=_[_0x7abc('0x2f')](_0x39ad72[_0x7abc('0x2e')],qs['fields'](_0x2da223[_0x7abc('0x2d')]['fields']));_0xf47d5d['attributes']=_0xf47d5d[_0x7abc('0x30')][_0x7abc('0x31')]?_0xf47d5d[_0x7abc('0x30')]:_0x39ad72[_0x7abc('0x2e')];if(!_0x2da223[_0x7abc('0x2d')][_0x7abc('0x32')](_0x7abc('0x33'))){_0xf47d5d[_0x7abc('0x34')]=qs[_0x7abc('0x34')](_0x2da223['query'][_0x7abc('0x34')]);_0xf47d5d[_0x7abc('0x1a')]=qs[_0x7abc('0x1a')](_0x2da223[_0x7abc('0x2d')][_0x7abc('0x1a')]);}_0xf47d5d[_0x7abc('0x35')]=qs[_0x7abc('0x36')](_0x2da223[_0x7abc('0x2d')][_0x7abc('0x36')]);_0xf47d5d['where']=qs['filters'](_[_0x7abc('0x37')](_0x2da223[_0x7abc('0x2d')],_0x39ad72[_0x7abc('0x38')]));if(_0x2da223[_0x7abc('0x2d')][_0x7abc('0x39')]){_0xf47d5d['where']=_[_0x7abc('0x3a')](_0xf47d5d['where'],{'$or':_['map'](_0x43fe11,function(_0x457838){if(_0x457838['type'][_0x7abc('0x3b')]!=='VIRTUAL'){var _0x4b1f4a={};_0x4b1f4a[_0x457838[_0x7abc('0x3c')]]={'$like':'%'+_0x2da223[_0x7abc('0x2d')][_0x7abc('0x39')]+'%'};return _0x4b1f4a;}})});}_0xf47d5d=_[_0x7abc('0x3a')]({},_0xf47d5d,_0x2da223[_0x7abc('0x3d')]);var _0x433edf={'where':_0xf47d5d[_0x7abc('0x3e')]};return db[_0x7abc('0x2a')][_0x7abc('0x19')](_0x433edf)[_0x7abc('0x24')](function(_0x463c8b){_0x51d37c['count']=_0x463c8b;if(_0x2da223[_0x7abc('0x2d')]['includeAll']){_0xf47d5d[_0x7abc('0x3f')]=[{'all':!![]}];}return db[_0x7abc('0x2a')]['findAll'](_0xf47d5d);})[_0x7abc('0x24')](function(_0xad0e1e){_0x51d37c[_0x7abc('0x40')]=_0xad0e1e;return _0x51d37c;})[_0x7abc('0x24')](respondWithFilteredResult(_0x5b973b,_0xf47d5d))[_0x7abc('0x41')](handleError(_0x5b973b,null));};exports[_0x7abc('0x42')]=function(_0x145ec,_0x2a7b71){var _0x320faf={'raw':!![],'where':{'id':_0x145ec[_0x7abc('0x43')]['id']}},_0x3b0c16={};_0x3b0c16[_0x7abc('0x2e')]=_[_0x7abc('0x2c')](db[_0x7abc('0x2a')][_0x7abc('0x2b')]);_0x3b0c16['query']=_['keys'](_0x145ec[_0x7abc('0x2d')]);_0x3b0c16[_0x7abc('0x38')]=_[_0x7abc('0x2f')](_0x3b0c16[_0x7abc('0x2e')],_0x3b0c16[_0x7abc('0x2d')]);_0x320faf[_0x7abc('0x30')]=_[_0x7abc('0x2f')](_0x3b0c16[_0x7abc('0x2e')],qs[_0x7abc('0x44')](_0x145ec[_0x7abc('0x2d')][_0x7abc('0x44')]));_0x320faf['attributes']=_0x320faf['attributes'][_0x7abc('0x31')]?_0x320faf[_0x7abc('0x30')]:_0x3b0c16[_0x7abc('0x2e')];if(_0x145ec[_0x7abc('0x2d')][_0x7abc('0x45')]){_0x320faf[_0x7abc('0x3f')]=[{'all':!![]}];}_0x320faf=_[_0x7abc('0x3a')]({},_0x320faf,_0x145ec[_0x7abc('0x3d')]);return db[_0x7abc('0x2a')][_0x7abc('0x46')](_0x320faf)[_0x7abc('0x24')](handleEntityNotFound(_0x2a7b71,null))[_0x7abc('0x24')](respondWithResult(_0x2a7b71,null))[_0x7abc('0x41')](handleError(_0x2a7b71,null));};exports[_0x7abc('0x47')]=function(_0x58a37f,_0x4cbb71){return db[_0x7abc('0x2a')][_0x7abc('0x47')](_0x58a37f['body'],{})[_0x7abc('0x24')](function(_0x4762d7){var _0x3c919a=_0x58a37f[_0x7abc('0x48')][_0x7abc('0x22')]({'plain':!![]});if(!_0x3c919a)throw new Error(_0x7abc('0x49'));if(_0x3c919a['role']==='user'){var _0x2e6ef0=_0x4762d7[_0x7abc('0x22')]({'plain':!![]});var _0xb3c17d=_0x7abc('0x23');return db['UserProfileSection'][_0x7abc('0x46')]({'where':{'name':_0xb3c17d,'userProfileId':_0x3c919a[_0x7abc('0x4a')]},'raw':!![]})[_0x7abc('0x24')](function(_0x4b1da8){if(_0x4b1da8&&_0x4b1da8[_0x7abc('0x4b')]===0x0){return db[_0x7abc('0x4c')][_0x7abc('0x47')]({'name':_0x2e6ef0[_0x7abc('0x27')],'resourceId':_0x2e6ef0['id'],'type':_0x4b1da8[_0x7abc('0x27')],'sectionId':_0x4b1da8['id']},{})[_0x7abc('0x24')](function(){return _0x4762d7;});}else{return _0x4762d7;}})[_0x7abc('0x41')](function(_0x25376a){logger[_0x7abc('0x25')](_0x7abc('0x4d'),_0x25376a);throw _0x25376a;});}return _0x4762d7;})[_0x7abc('0x24')](respondWithResult(_0x4cbb71,0xc9))[_0x7abc('0x41')](handleError(_0x4cbb71,null));};exports['update']=function(_0x476598,_0x448a14){if(_0x476598[_0x7abc('0x4e')]['id']){delete _0x476598[_0x7abc('0x4e')]['id'];}return db[_0x7abc('0x2a')][_0x7abc('0x46')]({'where':{'id':_0x476598[_0x7abc('0x43')]['id']}})[_0x7abc('0x24')](handleEntityNotFound(_0x448a14,null))[_0x7abc('0x24')](saveUpdates(_0x476598[_0x7abc('0x4e')],null))[_0x7abc('0x24')](respondWithResult(_0x448a14,null))['catch'](handleError(_0x448a14,null));};exports['destroy']=function(_0x471630,_0x50b33a){return db[_0x7abc('0x2a')][_0x7abc('0x46')]({'where':{'id':_0x471630[_0x7abc('0x43')]['id']}})[_0x7abc('0x24')](handleEntityNotFound(_0x50b33a,null))[_0x7abc('0x24')](removeEntity(_0x50b33a,null))[_0x7abc('0x41')](handleError(_0x50b33a,null));};