Built motion from commit (unavailable).|2.4.18
[motion2.git] / server / api / analyticExtractedReport / analyticExtractedReport.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 _0x38af=['ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','status','json','count','offset','limit','set','apply','reject','then','destroy','get','ExtractedReports','end','sendStatus','error','stack','name','index','map','AnalyticExtractedReport','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','options','findAll','rows','catch','params','includeAll','include','find','create','body','user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','download','basename','savename','output','existsSync','join','root','server/files/reports','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','%s.%s','toLowerCase','html-pdf','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','squel','crypto','desk.js','papaparse'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x38af,0x100));var _0xf38a=function(_0x3bbfb3,_0x580078){_0x3bbfb3=_0x3bbfb3-0x0;var _0x2e9326=_0x38af[_0x3bbfb3];return _0x2e9326;};'use strict';var pdf=require(_0xf38a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xf38a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf38a('0x2'));var rp=require(_0xf38a('0x3'));var moment=require('moment');var BPromise=require(_0xf38a('0x4'));var Mustache=require(_0xf38a('0x5'));var util=require(_0xf38a('0x6'));var path=require(_0xf38a('0x7'));var sox=require('sox');var csv=require(_0xf38a('0x8'));var ejs=require(_0xf38a('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xf38a('0xa'));var crypto=require(_0xf38a('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xf38a('0xc'));var toCsv=require(_0xf38a('0x8'));var querystring=require('querystring');var Papa=require(_0xf38a('0xd'));var Redis=require(_0xf38a('0xe'));var authService=require(_0xf38a('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xf38a('0x10'));var hardwareService=require(_0xf38a('0x11'));var logger=require('../../config/logger')(_0xf38a('0x12'));var utils=require('../../config/utils');var config=require(_0xf38a('0x13'));var db=require(_0xf38a('0x14'))['db'];function respondWithStatusCode(_0xeb7dc6,_0xd285af){_0xd285af=_0xd285af||0xcc;return function(_0x1d2042){if(_0x1d2042){return _0xeb7dc6['sendStatus'](_0xd285af);}return _0xeb7dc6[_0xf38a('0x15')](_0xd285af)['end']();};}function respondWithResult(_0x187725,_0xdd8e2b){_0xdd8e2b=_0xdd8e2b||0xc8;return function(_0x9fbca3){if(_0x9fbca3){return _0x187725[_0xf38a('0x15')](_0xdd8e2b)[_0xf38a('0x16')](_0x9fbca3);}};}function respondWithFilteredResult(_0xf3baea,_0x13b144){return function(_0x1bcaa0){if(_0x1bcaa0){var _0x3be48f=_0x1bcaa0[_0xf38a('0x17')],_0x37aa5d=_0x13b144['offset'],_0x268c32=_0x13b144[_0xf38a('0x18')]+_0x13b144[_0xf38a('0x19')],_0x45fb5f;if(_0x268c32>=_0x3be48f){_0x268c32=_0x3be48f;_0x45fb5f=0xc8;}else{_0x45fb5f=0xce;}_0xf3baea[_0xf38a('0x15')](_0x45fb5f);return _0xf3baea[_0xf38a('0x1a')]('Content-Range',_0x37aa5d+'-'+_0x268c32+'/'+_0x3be48f)[_0xf38a('0x16')](_0x1bcaa0);}return null;};}function patchUpdates(_0x3b57f1){return function(_0x1acb6d){try{jsonpatch[_0xf38a('0x1b')](_0x1acb6d,_0x3b57f1,!![]);}catch(_0x9198e0){return BPromise[_0xf38a('0x1c')](_0x9198e0);}return _0x1acb6d['save']();};}function saveUpdates(_0x594cdd,_0x7cdd5){return function(_0x57d09e){if(_0x57d09e){return _0x57d09e['update'](_0x594cdd)[_0xf38a('0x1d')](function(_0x580269){return _0x580269;});}return null;};}function removeEntity(_0x4c243a,_0x491422){return function(_0x396d14){if(_0x396d14){return _0x396d14[_0xf38a('0x1e')]()[_0xf38a('0x1d')](function(){var _0x47bcca=_0x396d14[_0xf38a('0x1f')]({'plain':!![]});var _0x4bc6e8=_0xf38a('0x20');return db['UserProfileResource']['destroy']({'where':{'type':_0x4bc6e8,'resourceId':_0x47bcca['id']}})[_0xf38a('0x1d')](function(){return _0x396d14;});})[_0xf38a('0x1d')](function(){_0x4c243a[_0xf38a('0x15')](0xcc)[_0xf38a('0x21')]();});}};}function handleEntityNotFound(_0x1c24a0,_0x164417){return function(_0xf6724a){if(!_0xf6724a){_0x1c24a0[_0xf38a('0x22')](0x194);}return _0xf6724a;};}function handleError(_0x31f5c0,_0x698bb7){_0x698bb7=_0x698bb7||0x1f4;return function(_0x2c5c5c){logger[_0xf38a('0x23')](_0x2c5c5c[_0xf38a('0x24')]);if(_0x2c5c5c[_0xf38a('0x25')]){delete _0x2c5c5c[_0xf38a('0x25')];}_0x31f5c0[_0xf38a('0x15')](_0x698bb7)['send'](_0x2c5c5c);};}exports[_0xf38a('0x26')]=function(_0x767600,_0xef1e2){var _0x3f20f3={},_0x262d09={},_0x5ba20d={'count':0x0,'rows':[]};var _0x4645ef=_[_0xf38a('0x27')](db[_0xf38a('0x28')][_0xf38a('0x29')],function(_0x3d3e93){return{'name':_0x3d3e93[_0xf38a('0x2a')],'type':_0x3d3e93[_0xf38a('0x2b')][_0xf38a('0x2c')]};});_0x262d09[_0xf38a('0x2d')]=_[_0xf38a('0x27')](_0x4645ef,_0xf38a('0x25'));_0x262d09[_0xf38a('0x2e')]=_[_0xf38a('0x2f')](_0x767600['query']);_0x262d09[_0xf38a('0x30')]=_['intersection'](_0x262d09[_0xf38a('0x2d')],_0x262d09['query']);_0x3f20f3[_0xf38a('0x31')]=_[_0xf38a('0x32')](_0x262d09['model'],qs[_0xf38a('0x33')](_0x767600[_0xf38a('0x2e')][_0xf38a('0x33')]));_0x3f20f3[_0xf38a('0x31')]=_0x3f20f3[_0xf38a('0x31')][_0xf38a('0x34')]?_0x3f20f3[_0xf38a('0x31')]:_0x262d09['model'];if(!_0x767600['query'][_0xf38a('0x35')](_0xf38a('0x36'))){_0x3f20f3[_0xf38a('0x19')]=qs['limit'](_0x767600[_0xf38a('0x2e')]['limit']);_0x3f20f3[_0xf38a('0x18')]=qs[_0xf38a('0x18')](_0x767600['query']['offset']);}_0x3f20f3[_0xf38a('0x37')]=qs['sort'](_0x767600[_0xf38a('0x2e')][_0xf38a('0x38')]);_0x3f20f3[_0xf38a('0x39')]=qs['filters'](_['pick'](_0x767600[_0xf38a('0x2e')],_0x262d09[_0xf38a('0x30')]));if(_0x767600[_0xf38a('0x2e')]['filter']){_0x3f20f3['where']=_[_0xf38a('0x3a')](_0x3f20f3['where'],{'$or':_['map'](_0x4645ef,function(_0x25773a){if(_0x25773a[_0xf38a('0x2b')]!==_0xf38a('0x3b')){var _0x5a2a83={};_0x5a2a83[_0x25773a[_0xf38a('0x25')]]={'$like':'%'+_0x767600[_0xf38a('0x2e')][_0xf38a('0x3c')]+'%'};return _0x5a2a83;}})});}_0x3f20f3=_[_0xf38a('0x3a')]({},_0x3f20f3,_0x767600[_0xf38a('0x3d')]);var _0x49a316={'where':_0x3f20f3[_0xf38a('0x39')]};return db[_0xf38a('0x28')]['count'](_0x49a316)[_0xf38a('0x1d')](function(_0x243ca2){_0x5ba20d[_0xf38a('0x17')]=_0x243ca2;if(_0x767600['query']['includeAll']){_0x3f20f3['include']=[{'all':!![]}];}return db['AnalyticExtractedReport'][_0xf38a('0x3e')](_0x3f20f3);})[_0xf38a('0x1d')](function(_0x5cb4e9){_0x5ba20d[_0xf38a('0x3f')]=_0x5cb4e9;return _0x5ba20d;})['then'](respondWithFilteredResult(_0xef1e2,_0x3f20f3))[_0xf38a('0x40')](handleError(_0xef1e2,null));};exports['show']=function(_0x3f1721,_0x312171){var _0x2792d4={'raw':!![],'where':{'id':_0x3f1721[_0xf38a('0x41')]['id']}},_0xd05fbe={};_0xd05fbe['model']=_[_0xf38a('0x2f')](db['AnalyticExtractedReport'][_0xf38a('0x29')]);_0xd05fbe['query']=_[_0xf38a('0x2f')](_0x3f1721['query']);_0xd05fbe[_0xf38a('0x30')]=_[_0xf38a('0x32')](_0xd05fbe[_0xf38a('0x2d')],_0xd05fbe[_0xf38a('0x2e')]);_0x2792d4['attributes']=_[_0xf38a('0x32')](_0xd05fbe[_0xf38a('0x2d')],qs[_0xf38a('0x33')](_0x3f1721[_0xf38a('0x2e')]['fields']));_0x2792d4[_0xf38a('0x31')]=_0x2792d4[_0xf38a('0x31')][_0xf38a('0x34')]?_0x2792d4['attributes']:_0xd05fbe[_0xf38a('0x2d')];if(_0x3f1721[_0xf38a('0x2e')][_0xf38a('0x42')]){_0x2792d4[_0xf38a('0x43')]=[{'all':!![]}];}_0x2792d4=_[_0xf38a('0x3a')]({},_0x2792d4,_0x3f1721['options']);return db[_0xf38a('0x28')][_0xf38a('0x44')](_0x2792d4)[_0xf38a('0x1d')](handleEntityNotFound(_0x312171,null))['then'](respondWithResult(_0x312171,null))[_0xf38a('0x40')](handleError(_0x312171,null));};exports[_0xf38a('0x45')]=function(_0x25aecf,_0x41b5e4){return db[_0xf38a('0x28')]['create'](_0x25aecf[_0xf38a('0x46')],{})['then'](function(_0x38393d){var _0x5832ea=_0x25aecf[_0xf38a('0x47')][_0xf38a('0x1f')]({'plain':!![]});if(!_0x5832ea)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5832ea[_0xf38a('0x48')]===_0xf38a('0x47')){var _0x4128b3=_0x38393d['get']({'plain':!![]});var _0x26c137=_0xf38a('0x20');return db[_0xf38a('0x49')]['find']({'where':{'name':_0x26c137,'userProfileId':_0x5832ea['userProfileId']},'raw':!![]})[_0xf38a('0x1d')](function(_0x48fa0b){if(_0x48fa0b&&_0x48fa0b[_0xf38a('0x4a')]===0x0){return db['UserProfileResource'][_0xf38a('0x45')]({'name':_0x4128b3[_0xf38a('0x25')],'resourceId':_0x4128b3['id'],'type':_0x48fa0b['name'],'sectionId':_0x48fa0b['id']},{})[_0xf38a('0x1d')](function(){return _0x38393d;});}else{return _0x38393d;}})['catch'](function(_0x67d8d5){logger[_0xf38a('0x23')](_0xf38a('0x4b'),_0x67d8d5);throw _0x67d8d5;});}return _0x38393d;})[_0xf38a('0x1d')](respondWithResult(_0x41b5e4,0xc9))[_0xf38a('0x40')](handleError(_0x41b5e4,null));};exports[_0xf38a('0x4c')]=function(_0x3edaaf,_0x35c85b){if(_0x3edaaf[_0xf38a('0x46')]['id']){delete _0x3edaaf[_0xf38a('0x46')]['id'];}return db[_0xf38a('0x28')][_0xf38a('0x44')]({'where':{'id':_0x3edaaf[_0xf38a('0x41')]['id']}})[_0xf38a('0x1d')](handleEntityNotFound(_0x35c85b,null))[_0xf38a('0x1d')](saveUpdates(_0x3edaaf[_0xf38a('0x46')],null))[_0xf38a('0x1d')](respondWithResult(_0x35c85b,null))['catch'](handleError(_0x35c85b,null));};exports[_0xf38a('0x1e')]=function(_0x59bf8d,_0x12409f){return db[_0xf38a('0x28')][_0xf38a('0x44')]({'where':{'id':_0x59bf8d['params']['id']}})[_0xf38a('0x1d')](handleEntityNotFound(_0x12409f,null))[_0xf38a('0x1d')](removeEntity(_0x12409f,null))[_0xf38a('0x40')](handleError(_0x12409f,null));};exports[_0xf38a('0x4d')]=function(_0x2f80dc,_0x695e4d,_0x5210b2){return db[_0xf38a('0x28')][_0xf38a('0x44')]({'where':{'id':_0x2f80dc[_0xf38a('0x41')]['id']},'attributes':[_0xf38a('0x25'),_0xf38a('0x4e'),_0xf38a('0x4f'),_0xf38a('0x50')],'raw':!![]})[_0xf38a('0x1d')](handleEntityNotFound(_0x695e4d,null))['then'](function(_0x2749ff){if(_0x2749ff){if(!fs[_0xf38a('0x51')](path[_0xf38a('0x52')](config[_0xf38a('0x53')],_0xf38a('0x54'),_0x2749ff[_0xf38a('0x4f')]))){throw new db['Sequelize'][(_0xf38a('0x55'))](_0xf38a('0x56'));}if(_0x2f80dc[_0xf38a('0x2e')][_0xf38a('0x57')]){return _0x695e4d[_0xf38a('0x22')](0xc8);}return _0x695e4d['download'](path['join'](config[_0xf38a('0x53')],_0xf38a('0x54'),_0x2749ff[_0xf38a('0x4f')]),util['format'](_0xf38a('0x58'),_0x2749ff['basename']||_0x2749ff[_0xf38a('0x25')],_0x2749ff[_0xf38a('0x50')][_0xf38a('0x59')]()));}})[_0xf38a('0x40')](handleError(_0x695e4d,null));};