Built motion from commit (unavailable).|2.4.20
[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 _0xd97e=['show','params','include','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','download','savename','output','existsSync','join','root','server/files/reports','exists','format','%s.%s','basename','toLowerCase','html-pdf','eml-format','rimraf','zip-dir','moment','path','sox','to-csv','ejs','squel','crypto','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','get','ExtractedReports','UserProfileResource','name','send','map','AnalyticExtractedReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch'];(function(_0x118226,_0x1d76d6){var _0x4f0dba=function(_0x5aa29e){while(--_0x5aa29e){_0x118226['push'](_0x118226['shift']());}};_0x4f0dba(++_0x1d76d6);}(_0xd97e,0x131));var _0xed97=function(_0xc26f88,_0x3f29f4){_0xc26f88=_0xc26f88-0x0;var _0x584aa4=_0xd97e[_0xc26f88];return _0x584aa4;};'use strict';var pdf=require(_0xed97('0x0'));var emlformat=require(_0xed97('0x1'));var rimraf=require(_0xed97('0x2'));var zipdir=require(_0xed97('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xed97('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xed97('0x5'));var sox=require(_0xed97('0x6'));var csv=require(_0xed97('0x7'));var ejs=require(_0xed97('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xed97('0x9'));var crypto=require(_0xed97('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xed97('0x7'));var querystring=require(_0xed97('0xb'));var Papa=require(_0xed97('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xed97('0xd'));var as=require(_0xed97('0xe'));var hardwareService=require(_0xed97('0xf'));var logger=require(_0xed97('0x10'))(_0xed97('0x11'));var utils=require(_0xed97('0x12'));var config=require(_0xed97('0x13'));var db=require(_0xed97('0x14'))['db'];function respondWithStatusCode(_0x37e001,_0x5473fb){_0x5473fb=_0x5473fb||0xcc;return function(_0xe9ea1){if(_0xe9ea1){return _0x37e001[_0xed97('0x15')](_0x5473fb);}return _0x37e001[_0xed97('0x16')](_0x5473fb)[_0xed97('0x17')]();};}function respondWithResult(_0xe218cf,_0x5ea879){_0x5ea879=_0x5ea879||0xc8;return function(_0x52f3ec){if(_0x52f3ec){return _0xe218cf[_0xed97('0x16')](_0x5ea879)[_0xed97('0x18')](_0x52f3ec);}};}function respondWithFilteredResult(_0x14846,_0x3b0ca1){return function(_0x213639){if(_0x213639){var _0x334702=_0x213639[_0xed97('0x19')],_0x875015=_0x3b0ca1[_0xed97('0x1a')],_0x7eab8b=_0x3b0ca1[_0xed97('0x1a')]+_0x3b0ca1[_0xed97('0x1b')],_0x173823;if(_0x7eab8b>=_0x334702){_0x7eab8b=_0x334702;_0x173823=0xc8;}else{_0x173823=0xce;}_0x14846[_0xed97('0x16')](_0x173823);return _0x14846[_0xed97('0x1c')](_0xed97('0x1d'),_0x875015+'-'+_0x7eab8b+'/'+_0x334702)[_0xed97('0x18')](_0x213639);}return null;};}function patchUpdates(_0x32ae08){return function(_0x1dd551){try{jsonpatch[_0xed97('0x1e')](_0x1dd551,_0x32ae08,!![]);}catch(_0x2243b6){return BPromise[_0xed97('0x1f')](_0x2243b6);}return _0x1dd551[_0xed97('0x20')]();};}function saveUpdates(_0x4fd778,_0x538528){return function(_0x281896){if(_0x281896){return _0x281896['update'](_0x4fd778)[_0xed97('0x21')](function(_0x5341d2){return _0x5341d2;});}return null;};}function removeEntity(_0x234b7f,_0x412ade){return function(_0x4d4795){if(_0x4d4795){return _0x4d4795[_0xed97('0x22')]()[_0xed97('0x21')](function(){var _0x1abb77=_0x4d4795[_0xed97('0x23')]({'plain':!![]});var _0x4254db=_0xed97('0x24');return db[_0xed97('0x25')]['destroy']({'where':{'type':_0x4254db,'resourceId':_0x1abb77['id']}})['then'](function(){return _0x4d4795;});})[_0xed97('0x21')](function(){_0x234b7f['status'](0xcc)[_0xed97('0x17')]();});}};}function handleEntityNotFound(_0x5ac061,_0x1a8ead){return function(_0x37b96e){if(!_0x37b96e){_0x5ac061['sendStatus'](0x194);}return _0x37b96e;};}function handleError(_0x1c3ffd,_0x4a9052){_0x4a9052=_0x4a9052||0x1f4;return function(_0x48328e){logger['error'](_0x48328e['stack']);if(_0x48328e['name']){delete _0x48328e[_0xed97('0x26')];}_0x1c3ffd[_0xed97('0x16')](_0x4a9052)[_0xed97('0x27')](_0x48328e);};}exports['index']=function(_0x1c0351,_0x3b7ece){var _0x2260f8={},_0xbec33b={},_0x4363f5={'count':0x0,'rows':[]};var _0x412001=_[_0xed97('0x28')](db[_0xed97('0x29')][_0xed97('0x2a')],function(_0x2aa56e){return{'name':_0x2aa56e[_0xed97('0x2b')],'type':_0x2aa56e[_0xed97('0x2c')][_0xed97('0x2d')]};});_0xbec33b[_0xed97('0x2e')]=_['map'](_0x412001,'name');_0xbec33b[_0xed97('0x2f')]=_[_0xed97('0x30')](_0x1c0351[_0xed97('0x2f')]);_0xbec33b[_0xed97('0x31')]=_[_0xed97('0x32')](_0xbec33b[_0xed97('0x2e')],_0xbec33b[_0xed97('0x2f')]);_0x2260f8[_0xed97('0x33')]=_[_0xed97('0x32')](_0xbec33b[_0xed97('0x2e')],qs['fields'](_0x1c0351[_0xed97('0x2f')][_0xed97('0x34')]));_0x2260f8[_0xed97('0x33')]=_0x2260f8[_0xed97('0x33')][_0xed97('0x35')]?_0x2260f8[_0xed97('0x33')]:_0xbec33b[_0xed97('0x2e')];if(!_0x1c0351['query'][_0xed97('0x36')](_0xed97('0x37'))){_0x2260f8[_0xed97('0x1b')]=qs['limit'](_0x1c0351['query']['limit']);_0x2260f8[_0xed97('0x1a')]=qs[_0xed97('0x1a')](_0x1c0351[_0xed97('0x2f')][_0xed97('0x1a')]);}_0x2260f8[_0xed97('0x38')]=qs[_0xed97('0x39')](_0x1c0351[_0xed97('0x2f')][_0xed97('0x39')]);_0x2260f8[_0xed97('0x3a')]=qs[_0xed97('0x31')](_[_0xed97('0x3b')](_0x1c0351['query'],_0xbec33b[_0xed97('0x31')]));if(_0x1c0351[_0xed97('0x2f')][_0xed97('0x3c')]){_0x2260f8['where']=_[_0xed97('0x3d')](_0x2260f8[_0xed97('0x3a')],{'$or':_[_0xed97('0x28')](_0x412001,function(_0x3c703e){if(_0x3c703e[_0xed97('0x2c')]!==_0xed97('0x3e')){var _0x205a9e={};_0x205a9e[_0x3c703e[_0xed97('0x26')]]={'$like':'%'+_0x1c0351[_0xed97('0x2f')][_0xed97('0x3c')]+'%'};return _0x205a9e;}})});}_0x2260f8=_['merge']({},_0x2260f8,_0x1c0351['options']);var _0x2ed75a={'where':_0x2260f8[_0xed97('0x3a')]};return db['AnalyticExtractedReport'][_0xed97('0x19')](_0x2ed75a)[_0xed97('0x21')](function(_0x52f0ca){_0x4363f5['count']=_0x52f0ca;if(_0x1c0351[_0xed97('0x2f')][_0xed97('0x3f')]){_0x2260f8['include']=[{'all':!![]}];}return db[_0xed97('0x29')][_0xed97('0x40')](_0x2260f8);})['then'](function(_0x41460f){_0x4363f5[_0xed97('0x41')]=_0x41460f;return _0x4363f5;})[_0xed97('0x21')](respondWithFilteredResult(_0x3b7ece,_0x2260f8))[_0xed97('0x42')](handleError(_0x3b7ece,null));};exports[_0xed97('0x43')]=function(_0x1a5a21,_0xf7e9d){var _0x217465={'raw':!![],'where':{'id':_0x1a5a21[_0xed97('0x44')]['id']}},_0x3999db={};_0x3999db[_0xed97('0x2e')]=_['keys'](db[_0xed97('0x29')][_0xed97('0x2a')]);_0x3999db[_0xed97('0x2f')]=_['keys'](_0x1a5a21['query']);_0x3999db[_0xed97('0x31')]=_[_0xed97('0x32')](_0x3999db[_0xed97('0x2e')],_0x3999db[_0xed97('0x2f')]);_0x217465[_0xed97('0x33')]=_[_0xed97('0x32')](_0x3999db[_0xed97('0x2e')],qs[_0xed97('0x34')](_0x1a5a21[_0xed97('0x2f')][_0xed97('0x34')]));_0x217465['attributes']=_0x217465['attributes'][_0xed97('0x35')]?_0x217465['attributes']:_0x3999db['model'];if(_0x1a5a21[_0xed97('0x2f')][_0xed97('0x3f')]){_0x217465[_0xed97('0x45')]=[{'all':!![]}];}_0x217465=_[_0xed97('0x3d')]({},_0x217465,_0x1a5a21[_0xed97('0x46')]);return db[_0xed97('0x29')]['find'](_0x217465)[_0xed97('0x21')](handleEntityNotFound(_0xf7e9d,null))['then'](respondWithResult(_0xf7e9d,null))['catch'](handleError(_0xf7e9d,null));};exports[_0xed97('0x47')]=function(_0x1495ad,_0x561056){return db['AnalyticExtractedReport']['create'](_0x1495ad[_0xed97('0x48')],{})[_0xed97('0x21')](function(_0x2fd22d){var _0x5d8c59=_0x1495ad[_0xed97('0x49')][_0xed97('0x23')]({'plain':!![]});if(!_0x5d8c59)throw new Error(_0xed97('0x4a'));if(_0x5d8c59[_0xed97('0x4b')]===_0xed97('0x49')){var _0xbf0ea5=_0x2fd22d[_0xed97('0x23')]({'plain':!![]});var _0x42c9fc=_0xed97('0x24');return db['UserProfileSection'][_0xed97('0x4c')]({'where':{'name':_0x42c9fc,'userProfileId':_0x5d8c59['userProfileId']},'raw':!![]})[_0xed97('0x21')](function(_0x3b2a94){if(_0x3b2a94&&_0x3b2a94[_0xed97('0x4d')]===0x0){return db[_0xed97('0x25')]['create']({'name':_0xbf0ea5[_0xed97('0x26')],'resourceId':_0xbf0ea5['id'],'type':_0x3b2a94[_0xed97('0x26')],'sectionId':_0x3b2a94['id']},{})['then'](function(){return _0x2fd22d;});}else{return _0x2fd22d;}})['catch'](function(_0x162887){logger[_0xed97('0x4e')](_0xed97('0x4f'),_0x162887);throw _0x162887;});}return _0x2fd22d;})[_0xed97('0x21')](respondWithResult(_0x561056,0xc9))[_0xed97('0x42')](handleError(_0x561056,null));};exports[_0xed97('0x50')]=function(_0x32527d,_0x3e4c96){if(_0x32527d[_0xed97('0x48')]['id']){delete _0x32527d[_0xed97('0x48')]['id'];}return db[_0xed97('0x29')][_0xed97('0x4c')]({'where':{'id':_0x32527d[_0xed97('0x44')]['id']}})[_0xed97('0x21')](handleEntityNotFound(_0x3e4c96,null))[_0xed97('0x21')](saveUpdates(_0x32527d[_0xed97('0x48')],null))[_0xed97('0x21')](respondWithResult(_0x3e4c96,null))[_0xed97('0x42')](handleError(_0x3e4c96,null));};exports['destroy']=function(_0x3dda81,_0x2af331){return db[_0xed97('0x29')][_0xed97('0x4c')]({'where':{'id':_0x3dda81[_0xed97('0x44')]['id']}})[_0xed97('0x21')](handleEntityNotFound(_0x2af331,null))[_0xed97('0x21')](removeEntity(_0x2af331,null))[_0xed97('0x42')](handleError(_0x2af331,null));};exports[_0xed97('0x51')]=function(_0x1e72fb,_0x40a045,_0x20d234){return db['AnalyticExtractedReport'][_0xed97('0x4c')]({'where':{'id':_0x1e72fb[_0xed97('0x44')]['id']},'attributes':[_0xed97('0x26'),'basename',_0xed97('0x52'),_0xed97('0x53')],'raw':!![]})[_0xed97('0x21')](handleEntityNotFound(_0x40a045,null))[_0xed97('0x21')](function(_0x24abeb){if(_0x24abeb){if(!fs[_0xed97('0x54')](path[_0xed97('0x55')](config[_0xed97('0x56')],_0xed97('0x57'),_0x24abeb[_0xed97('0x52')]))){throw new db['Sequelize']['ValidationError']('Report\x20not\x20found\x20or\x20empty');}if(_0x1e72fb[_0xed97('0x2f')][_0xed97('0x58')]){return _0x40a045[_0xed97('0x15')](0xc8);}return _0x40a045[_0xed97('0x51')](path[_0xed97('0x55')](config['root'],_0xed97('0x57'),_0x24abeb[_0xed97('0x52')]),util[_0xed97('0x59')](_0xed97('0x5a'),_0x24abeb[_0xed97('0x5b')]||_0x24abeb[_0xed97('0x26')],_0x24abeb['output'][_0xed97('0x5c')]()));}})[_0xed97('0x42')](handleError(_0x40a045,null));};