Built motion from commit (unavailable).|2.5.26
[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 _0xc4aa=['findAll','rows','catch','show','params','length','includeAll','include','create','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','then','Metrics','UserProfileResource','error','name','send','index','AnalyticMetric','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','merge','options'];(function(_0x19f73b,_0x167e09){var _0x5da215=function(_0x45be02){while(--_0x45be02){_0x19f73b['push'](_0x19f73b['shift']());}};_0x5da215(++_0x167e09);}(_0xc4aa,0x1b7));var _0xac4a=function(_0x3511d3,_0x4107ae){_0x3511d3=_0x3511d3-0x0;var _0x5d6321=_0xc4aa[_0x3511d3];return _0x5d6321;};'use strict';var pdf=require(_0xac4a('0x0'));var emlformat=require(_0xac4a('0x1'));var rimraf=require(_0xac4a('0x2'));var zipdir=require(_0xac4a('0x3'));var jsonpatch=require(_0xac4a('0x4'));var rp=require(_0xac4a('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xac4a('0x6'));var path=require(_0xac4a('0x7'));var sox=require(_0xac4a('0x8'));var csv=require(_0xac4a('0x9'));var ejs=require(_0xac4a('0xa'));var fs=require('fs');var fs_extra=require(_0xac4a('0xb'));var _=require(_0xac4a('0xc'));var squel=require(_0xac4a('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xac4a('0xe'));var toCsv=require(_0xac4a('0x9'));var querystring=require(_0xac4a('0xf'));var Papa=require('papaparse');var Redis=require(_0xac4a('0x10'));var authService=require(_0xac4a('0x11'));var qs=require(_0xac4a('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xac4a('0x13'));var logger=require('../../config/logger')(_0xac4a('0x14'));var utils=require('../../config/utils');var config=require(_0xac4a('0x15'));var licenseUtil=require(_0xac4a('0x16'));var db=require(_0xac4a('0x17'))['db'];function respondWithStatusCode(_0x5e16aa,_0x21a79){_0x21a79=_0x21a79||0xcc;return function(_0x68424a){if(_0x68424a){return _0x5e16aa[_0xac4a('0x18')](_0x21a79);}return _0x5e16aa[_0xac4a('0x19')](_0x21a79)[_0xac4a('0x1a')]();};}function respondWithResult(_0x3b71c0,_0x34bc01){_0x34bc01=_0x34bc01||0xc8;return function(_0x33c287){if(_0x33c287){return _0x3b71c0[_0xac4a('0x19')](_0x34bc01)[_0xac4a('0x1b')](_0x33c287);}};}function respondWithFilteredResult(_0x11e101,_0x26dbb8){return function(_0x4a2119){if(_0x4a2119){var _0x402fff=_0x4a2119[_0xac4a('0x1c')],_0x34d797=_0x26dbb8[_0xac4a('0x1d')],_0x23eb66=_0x26dbb8[_0xac4a('0x1d')]+_0x26dbb8[_0xac4a('0x1e')],_0x144553;if(_0x23eb66>=_0x402fff){_0x23eb66=_0x402fff;_0x144553=0xc8;}else{_0x144553=0xce;}_0x11e101['status'](_0x144553);return _0x11e101['set'](_0xac4a('0x1f'),_0x34d797+'-'+_0x23eb66+'/'+_0x402fff)[_0xac4a('0x1b')](_0x4a2119);}return null;};}function patchUpdates(_0x39b691){return function(_0x4d837c){try{jsonpatch[_0xac4a('0x20')](_0x4d837c,_0x39b691,!![]);}catch(_0x15c223){return BPromise[_0xac4a('0x21')](_0x15c223);}return _0x4d837c[_0xac4a('0x22')]();};}function saveUpdates(_0x123694,_0x3e829c){return function(_0xe38996){if(_0xe38996){return _0xe38996[_0xac4a('0x23')](_0x123694)['then'](function(_0x3d8f0a){return _0x3d8f0a;});}return null;};}function removeEntity(_0x3204ad,_0x599787){return function(_0x3d7ce0){if(_0x3d7ce0){return _0x3d7ce0[_0xac4a('0x24')]()[_0xac4a('0x25')](function(){var _0x947d8e=_0x3d7ce0['get']({'plain':!![]});var _0x1b7998=_0xac4a('0x26');return db[_0xac4a('0x27')][_0xac4a('0x24')]({'where':{'type':_0x1b7998,'resourceId':_0x947d8e['id']}})[_0xac4a('0x25')](function(){return _0x3d7ce0;});})[_0xac4a('0x25')](function(){_0x3204ad[_0xac4a('0x19')](0xcc)[_0xac4a('0x1a')]();});}};}function handleEntityNotFound(_0x3e2c69,_0x3bc318){return function(_0x1d0539){if(!_0x1d0539){_0x3e2c69[_0xac4a('0x18')](0x194);}return _0x1d0539;};}function handleError(_0x14832b,_0x472c57){_0x472c57=_0x472c57||0x1f4;return function(_0x1c13dc){logger[_0xac4a('0x28')](_0x1c13dc['stack']);if(_0x1c13dc[_0xac4a('0x29')]){delete _0x1c13dc[_0xac4a('0x29')];}_0x14832b[_0xac4a('0x19')](_0x472c57)[_0xac4a('0x2a')](_0x1c13dc);};}exports[_0xac4a('0x2b')]=function(_0x4a5a9e,_0x47f49c){var _0xdb7e={},_0x7a948b={},_0x1f12d5={'count':0x0,'rows':[]};var _0x546b65=_['map'](db[_0xac4a('0x2c')][_0xac4a('0x2d')],function(_0x228629){return{'name':_0x228629[_0xac4a('0x2e')],'type':_0x228629[_0xac4a('0x2f')]['key']};});_0x7a948b[_0xac4a('0x30')]=_['map'](_0x546b65,_0xac4a('0x29'));_0x7a948b['query']=_[_0xac4a('0x31')](_0x4a5a9e[_0xac4a('0x32')]);_0x7a948b[_0xac4a('0x33')]=_[_0xac4a('0x34')](_0x7a948b[_0xac4a('0x30')],_0x7a948b[_0xac4a('0x32')]);_0xdb7e[_0xac4a('0x35')]=_[_0xac4a('0x34')](_0x7a948b[_0xac4a('0x30')],qs[_0xac4a('0x36')](_0x4a5a9e[_0xac4a('0x32')][_0xac4a('0x36')]));_0xdb7e[_0xac4a('0x35')]=_0xdb7e[_0xac4a('0x35')]['length']?_0xdb7e[_0xac4a('0x35')]:_0x7a948b[_0xac4a('0x30')];if(!_0x4a5a9e['query'][_0xac4a('0x37')](_0xac4a('0x38'))){_0xdb7e['limit']=qs['limit'](_0x4a5a9e[_0xac4a('0x32')][_0xac4a('0x1e')]);_0xdb7e[_0xac4a('0x1d')]=qs[_0xac4a('0x1d')](_0x4a5a9e['query'][_0xac4a('0x1d')]);}_0xdb7e[_0xac4a('0x39')]=qs['sort'](_0x4a5a9e[_0xac4a('0x32')][_0xac4a('0x3a')]);_0xdb7e[_0xac4a('0x3b')]=qs['filters'](_[_0xac4a('0x3c')](_0x4a5a9e[_0xac4a('0x32')],_0x7a948b[_0xac4a('0x33')]),_0x546b65);if(_0x4a5a9e['query'][_0xac4a('0x3d')]){_0xdb7e[_0xac4a('0x3b')]=_['merge'](_0xdb7e['where'],{'$or':_[_0xac4a('0x3e')](_0x546b65,function(_0x5e0926){if(_0x5e0926['type']!=='VIRTUAL'){var _0x4fee3a={};_0x4fee3a[_0x5e0926[_0xac4a('0x29')]]={'$like':'%'+_0x4a5a9e[_0xac4a('0x32')][_0xac4a('0x3d')]+'%'};return _0x4fee3a;}})});}_0xdb7e=_[_0xac4a('0x3f')]({},_0xdb7e,_0x4a5a9e[_0xac4a('0x40')]);var _0x415f31={'where':_0xdb7e[_0xac4a('0x3b')]};return db[_0xac4a('0x2c')][_0xac4a('0x1c')](_0x415f31)[_0xac4a('0x25')](function(_0x14f7d5){_0x1f12d5[_0xac4a('0x1c')]=_0x14f7d5;if(_0x4a5a9e['query']['includeAll']){_0xdb7e['include']=[{'all':!![]}];}return db[_0xac4a('0x2c')][_0xac4a('0x41')](_0xdb7e);})[_0xac4a('0x25')](function(_0x118be0){_0x1f12d5[_0xac4a('0x42')]=_0x118be0;return _0x1f12d5;})[_0xac4a('0x25')](respondWithFilteredResult(_0x47f49c,_0xdb7e))[_0xac4a('0x43')](handleError(_0x47f49c,null));};exports[_0xac4a('0x44')]=function(_0x3e9973,_0x3edb19){var _0x561cb7={'raw':!![],'where':{'id':_0x3e9973[_0xac4a('0x45')]['id']}},_0x3f31d1={};_0x3f31d1[_0xac4a('0x30')]=_[_0xac4a('0x31')](db[_0xac4a('0x2c')]['rawAttributes']);_0x3f31d1[_0xac4a('0x32')]=_[_0xac4a('0x31')](_0x3e9973['query']);_0x3f31d1[_0xac4a('0x33')]=_['intersection'](_0x3f31d1[_0xac4a('0x30')],_0x3f31d1[_0xac4a('0x32')]);_0x561cb7[_0xac4a('0x35')]=_[_0xac4a('0x34')](_0x3f31d1[_0xac4a('0x30')],qs[_0xac4a('0x36')](_0x3e9973[_0xac4a('0x32')][_0xac4a('0x36')]));_0x561cb7[_0xac4a('0x35')]=_0x561cb7[_0xac4a('0x35')][_0xac4a('0x46')]?_0x561cb7[_0xac4a('0x35')]:_0x3f31d1['model'];if(_0x3e9973[_0xac4a('0x32')][_0xac4a('0x47')]){_0x561cb7[_0xac4a('0x48')]=[{'all':!![]}];}_0x561cb7=_['merge']({},_0x561cb7,_0x3e9973[_0xac4a('0x40')]);return db[_0xac4a('0x2c')]['find'](_0x561cb7)[_0xac4a('0x25')](handleEntityNotFound(_0x3edb19,null))['then'](respondWithResult(_0x3edb19,null))[_0xac4a('0x43')](handleError(_0x3edb19,null));};exports[_0xac4a('0x49')]=function(_0x136a65,_0x5e3581){return db['AnalyticMetric'][_0xac4a('0x49')](_0x136a65['body'],{})[_0xac4a('0x25')](function(_0x566258){var _0x3d2aaf=_0x136a65['user'][_0xac4a('0x4a')]({'plain':!![]});if(!_0x3d2aaf)throw new Error(_0xac4a('0x4b'));if(_0x3d2aaf[_0xac4a('0x4c')]===_0xac4a('0x4d')){var _0x54782f=_0x566258[_0xac4a('0x4a')]({'plain':!![]});var _0x2af87f=_0xac4a('0x26');return db[_0xac4a('0x4e')][_0xac4a('0x4f')]({'where':{'name':_0x2af87f,'userProfileId':_0x3d2aaf[_0xac4a('0x50')]},'raw':!![]})[_0xac4a('0x25')](function(_0x4e6e19){if(_0x4e6e19&&_0x4e6e19[_0xac4a('0x51')]===0x0){return db[_0xac4a('0x27')]['create']({'name':_0x54782f[_0xac4a('0x29')],'resourceId':_0x54782f['id'],'type':_0x4e6e19[_0xac4a('0x29')],'sectionId':_0x4e6e19['id']},{})[_0xac4a('0x25')](function(){return _0x566258;});}else{return _0x566258;}})[_0xac4a('0x43')](function(_0x4bb2fb){logger[_0xac4a('0x28')](_0xac4a('0x52'),_0x4bb2fb);throw _0x4bb2fb;});}return _0x566258;})[_0xac4a('0x25')](respondWithResult(_0x5e3581,0xc9))[_0xac4a('0x43')](handleError(_0x5e3581,null));};exports[_0xac4a('0x23')]=function(_0x49fbc3,_0x179373){if(_0x49fbc3['body']['id']){delete _0x49fbc3[_0xac4a('0x53')]['id'];}return db[_0xac4a('0x2c')]['find']({'where':{'id':_0x49fbc3['params']['id']}})[_0xac4a('0x25')](handleEntityNotFound(_0x179373,null))[_0xac4a('0x25')](saveUpdates(_0x49fbc3['body'],null))[_0xac4a('0x25')](respondWithResult(_0x179373,null))[_0xac4a('0x43')](handleError(_0x179373,null));};exports[_0xac4a('0x24')]=function(_0x103d05,_0x48900f){return db[_0xac4a('0x2c')][_0xac4a('0x4f')]({'where':{'id':_0x103d05[_0xac4a('0x45')]['id']}})[_0xac4a('0x25')](handleEntityNotFound(_0x48900f,null))[_0xac4a('0x25')](removeEntity(_0x48900f,null))[_0xac4a('0x43')](handleError(_0x48900f,null));};