Built motion from commit (unavailable).|2.5.16
[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 _0x8cbe=['catch','params','include','merge','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','autoAssociation','body','download','basename','savename','output','existsSync','join','server/files/reports','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','sendStatus','toLowerCase','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','count','offset','limit','json','apply','reject','save','update','destroy','then','get','ExtractedReports','UserProfileResource','end','error','stack','name','send','map','AnalyticExtractedReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','VIRTUAL','options','includeAll','findAll'];(function(_0x3efe87,_0x35ad48){var _0x56a4cc=function(_0x47869e){while(--_0x47869e){_0x3efe87['push'](_0x3efe87['shift']());}};_0x56a4cc(++_0x35ad48);}(_0x8cbe,0x77));var _0xe8cb=function(_0x506792,_0x212709){_0x506792=_0x506792-0x0;var _0x53e69f=_0x8cbe[_0x506792];return _0x53e69f;};'use strict';var pdf=require(_0xe8cb('0x0'));var emlformat=require(_0xe8cb('0x1'));var rimraf=require(_0xe8cb('0x2'));var zipdir=require(_0xe8cb('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xe8cb('0x4'));var BPromise=require(_0xe8cb('0x5'));var Mustache=require(_0xe8cb('0x6'));var util=require('util');var path=require(_0xe8cb('0x7'));var sox=require(_0xe8cb('0x8'));var csv=require('to-csv');var ejs=require(_0xe8cb('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe8cb('0xa'));var crypto=require(_0xe8cb('0xb'));var jsforce=require(_0xe8cb('0xc'));var deskjs=require(_0xe8cb('0xd'));var toCsv=require(_0xe8cb('0xe'));var querystring=require(_0xe8cb('0xf'));var Papa=require(_0xe8cb('0x10'));var Redis=require(_0xe8cb('0x11'));var authService=require(_0xe8cb('0x12'));var qs=require(_0xe8cb('0x13'));var as=require(_0xe8cb('0x14'));var hardwareService=require(_0xe8cb('0x15'));var logger=require(_0xe8cb('0x16'))('api');var utils=require(_0xe8cb('0x17'));var config=require(_0xe8cb('0x18'));var licenseUtil=require(_0xe8cb('0x19'));var db=require(_0xe8cb('0x1a'))['db'];function respondWithStatusCode(_0x2d914c,_0x30f115){_0x30f115=_0x30f115||0xcc;return function(_0x42fdc3){if(_0x42fdc3){return _0x2d914c['sendStatus'](_0x30f115);}return _0x2d914c[_0xe8cb('0x1b')](_0x30f115)['end']();};}function respondWithResult(_0x195406,_0x3f79bb){_0x3f79bb=_0x3f79bb||0xc8;return function(_0xc2b3a7){if(_0xc2b3a7){return _0x195406[_0xe8cb('0x1b')](_0x3f79bb)['json'](_0xc2b3a7);}};}function respondWithFilteredResult(_0x11b557,_0x5e39ba){return function(_0x197b36){if(_0x197b36){var _0x30a551=_0x197b36[_0xe8cb('0x1c')],_0x4242cf=_0x5e39ba[_0xe8cb('0x1d')],_0xb84f0=_0x5e39ba[_0xe8cb('0x1d')]+_0x5e39ba[_0xe8cb('0x1e')],_0x24e9d8;if(_0xb84f0>=_0x30a551){_0xb84f0=_0x30a551;_0x24e9d8=0xc8;}else{_0x24e9d8=0xce;}_0x11b557[_0xe8cb('0x1b')](_0x24e9d8);return _0x11b557['set']('Content-Range',_0x4242cf+'-'+_0xb84f0+'/'+_0x30a551)[_0xe8cb('0x1f')](_0x197b36);}return null;};}function patchUpdates(_0x542fed){return function(_0x5510cc){try{jsonpatch[_0xe8cb('0x20')](_0x5510cc,_0x542fed,!![]);}catch(_0x1eddd0){return BPromise[_0xe8cb('0x21')](_0x1eddd0);}return _0x5510cc[_0xe8cb('0x22')]();};}function saveUpdates(_0x16c52f,_0x2d9143){return function(_0x495b91){if(_0x495b91){return _0x495b91[_0xe8cb('0x23')](_0x16c52f)['then'](function(_0x5a284e){return _0x5a284e;});}return null;};}function removeEntity(_0x38b322,_0x558b95){return function(_0x260371){if(_0x260371){return _0x260371[_0xe8cb('0x24')]()[_0xe8cb('0x25')](function(){var _0x9a86d8=_0x260371[_0xe8cb('0x26')]({'plain':!![]});var _0x5ea99f=_0xe8cb('0x27');return db[_0xe8cb('0x28')][_0xe8cb('0x24')]({'where':{'type':_0x5ea99f,'resourceId':_0x9a86d8['id']}})[_0xe8cb('0x25')](function(){return _0x260371;});})[_0xe8cb('0x25')](function(){_0x38b322[_0xe8cb('0x1b')](0xcc)[_0xe8cb('0x29')]();});}};}function handleEntityNotFound(_0x501ad2,_0x55013f){return function(_0x56effe){if(!_0x56effe){_0x501ad2['sendStatus'](0x194);}return _0x56effe;};}function handleError(_0xdce5d0,_0x163114){_0x163114=_0x163114||0x1f4;return function(_0x5a7468){logger[_0xe8cb('0x2a')](_0x5a7468[_0xe8cb('0x2b')]);if(_0x5a7468[_0xe8cb('0x2c')]){delete _0x5a7468['name'];}_0xdce5d0[_0xe8cb('0x1b')](_0x163114)[_0xe8cb('0x2d')](_0x5a7468);};}exports['index']=function(_0x4facd2,_0x463105){var _0x3d5e9b={},_0x2839d7={},_0x47adcb={'count':0x0,'rows':[]};var _0x15b4bd=_[_0xe8cb('0x2e')](db[_0xe8cb('0x2f')][_0xe8cb('0x30')],function(_0x491a88){return{'name':_0x491a88[_0xe8cb('0x31')],'type':_0x491a88[_0xe8cb('0x32')][_0xe8cb('0x33')]};});_0x2839d7[_0xe8cb('0x34')]=_[_0xe8cb('0x2e')](_0x15b4bd,_0xe8cb('0x2c'));_0x2839d7[_0xe8cb('0x35')]=_[_0xe8cb('0x36')](_0x4facd2[_0xe8cb('0x35')]);_0x2839d7[_0xe8cb('0x37')]=_[_0xe8cb('0x38')](_0x2839d7[_0xe8cb('0x34')],_0x2839d7['query']);_0x3d5e9b['attributes']=_[_0xe8cb('0x38')](_0x2839d7[_0xe8cb('0x34')],qs[_0xe8cb('0x39')](_0x4facd2[_0xe8cb('0x35')][_0xe8cb('0x39')]));_0x3d5e9b[_0xe8cb('0x3a')]=_0x3d5e9b[_0xe8cb('0x3a')][_0xe8cb('0x3b')]?_0x3d5e9b['attributes']:_0x2839d7['model'];if(!_0x4facd2[_0xe8cb('0x35')][_0xe8cb('0x3c')]('nolimit')){_0x3d5e9b[_0xe8cb('0x1e')]=qs['limit'](_0x4facd2[_0xe8cb('0x35')]['limit']);_0x3d5e9b[_0xe8cb('0x1d')]=qs[_0xe8cb('0x1d')](_0x4facd2[_0xe8cb('0x35')][_0xe8cb('0x1d')]);}_0x3d5e9b[_0xe8cb('0x3d')]=qs[_0xe8cb('0x3e')](_0x4facd2[_0xe8cb('0x35')]['sort']);_0x3d5e9b[_0xe8cb('0x3f')]=qs[_0xe8cb('0x37')](_[_0xe8cb('0x40')](_0x4facd2['query'],_0x2839d7[_0xe8cb('0x37')]),_0x15b4bd);if(_0x4facd2['query']['filter']){_0x3d5e9b[_0xe8cb('0x3f')]=_['merge'](_0x3d5e9b[_0xe8cb('0x3f')],{'$or':_[_0xe8cb('0x2e')](_0x15b4bd,function(_0x48b075){if(_0x48b075[_0xe8cb('0x32')]!==_0xe8cb('0x41')){var _0x32b11a={};_0x32b11a[_0x48b075[_0xe8cb('0x2c')]]={'$like':'%'+_0x4facd2[_0xe8cb('0x35')]['filter']+'%'};return _0x32b11a;}})});}_0x3d5e9b=_['merge']({},_0x3d5e9b,_0x4facd2[_0xe8cb('0x42')]);var _0x2b3950={'where':_0x3d5e9b['where']};return db['AnalyticExtractedReport'][_0xe8cb('0x1c')](_0x2b3950)['then'](function(_0x420af6){_0x47adcb['count']=_0x420af6;if(_0x4facd2[_0xe8cb('0x35')][_0xe8cb('0x43')]){_0x3d5e9b['include']=[{'all':!![]}];}return db[_0xe8cb('0x2f')][_0xe8cb('0x44')](_0x3d5e9b);})[_0xe8cb('0x25')](function(_0x3e4731){_0x47adcb['rows']=_0x3e4731;return _0x47adcb;})[_0xe8cb('0x25')](respondWithFilteredResult(_0x463105,_0x3d5e9b))[_0xe8cb('0x45')](handleError(_0x463105,null));};exports['show']=function(_0x238cb6,_0x5d0365){var _0x4b8ae8={'raw':!![],'where':{'id':_0x238cb6[_0xe8cb('0x46')]['id']}},_0x5a6f2c={};_0x5a6f2c['model']=_[_0xe8cb('0x36')](db['AnalyticExtractedReport']['rawAttributes']);_0x5a6f2c['query']=_[_0xe8cb('0x36')](_0x238cb6[_0xe8cb('0x35')]);_0x5a6f2c[_0xe8cb('0x37')]=_[_0xe8cb('0x38')](_0x5a6f2c['model'],_0x5a6f2c[_0xe8cb('0x35')]);_0x4b8ae8['attributes']=_[_0xe8cb('0x38')](_0x5a6f2c[_0xe8cb('0x34')],qs['fields'](_0x238cb6[_0xe8cb('0x35')]['fields']));_0x4b8ae8[_0xe8cb('0x3a')]=_0x4b8ae8[_0xe8cb('0x3a')][_0xe8cb('0x3b')]?_0x4b8ae8[_0xe8cb('0x3a')]:_0x5a6f2c[_0xe8cb('0x34')];if(_0x238cb6[_0xe8cb('0x35')][_0xe8cb('0x43')]){_0x4b8ae8[_0xe8cb('0x47')]=[{'all':!![]}];}_0x4b8ae8=_[_0xe8cb('0x48')]({},_0x4b8ae8,_0x238cb6[_0xe8cb('0x42')]);return db[_0xe8cb('0x2f')]['find'](_0x4b8ae8)[_0xe8cb('0x25')](handleEntityNotFound(_0x5d0365,null))[_0xe8cb('0x25')](respondWithResult(_0x5d0365,null))[_0xe8cb('0x45')](handleError(_0x5d0365,null));};exports[_0xe8cb('0x49')]=function(_0x16f873,_0x12fce6){return db['AnalyticExtractedReport']['create'](_0x16f873['body'],{})[_0xe8cb('0x25')](function(_0x2cc85e){var _0x357aec=_0x16f873[_0xe8cb('0x4a')]['get']({'plain':!![]});if(!_0x357aec)throw new Error(_0xe8cb('0x4b'));if(_0x357aec[_0xe8cb('0x4c')]==='user'){var _0x1e8ccd=_0x2cc85e[_0xe8cb('0x26')]({'plain':!![]});var _0x601630=_0xe8cb('0x27');return db['UserProfileSection'][_0xe8cb('0x4d')]({'where':{'name':_0x601630,'userProfileId':_0x357aec[_0xe8cb('0x4e')]},'raw':!![]})[_0xe8cb('0x25')](function(_0x6613c8){if(_0x6613c8&&_0x6613c8[_0xe8cb('0x4f')]===0x0){return db[_0xe8cb('0x28')]['create']({'name':_0x1e8ccd['name'],'resourceId':_0x1e8ccd['id'],'type':_0x6613c8[_0xe8cb('0x2c')],'sectionId':_0x6613c8['id']},{})[_0xe8cb('0x25')](function(){return _0x2cc85e;});}else{return _0x2cc85e;}})['catch'](function(_0xa305){logger[_0xe8cb('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xa305);throw _0xa305;});}return _0x2cc85e;})[_0xe8cb('0x25')](respondWithResult(_0x12fce6,0xc9))['catch'](handleError(_0x12fce6,null));};exports[_0xe8cb('0x23')]=function(_0x597acf,_0x31b6d3){if(_0x597acf[_0xe8cb('0x50')]['id']){delete _0x597acf['body']['id'];}return db['AnalyticExtractedReport'][_0xe8cb('0x4d')]({'where':{'id':_0x597acf['params']['id']}})[_0xe8cb('0x25')](handleEntityNotFound(_0x31b6d3,null))[_0xe8cb('0x25')](saveUpdates(_0x597acf[_0xe8cb('0x50')],null))['then'](respondWithResult(_0x31b6d3,null))[_0xe8cb('0x45')](handleError(_0x31b6d3,null));};exports[_0xe8cb('0x24')]=function(_0x317add,_0x478fd4){return db[_0xe8cb('0x2f')]['find']({'where':{'id':_0x317add[_0xe8cb('0x46')]['id']}})[_0xe8cb('0x25')](handleEntityNotFound(_0x478fd4,null))[_0xe8cb('0x25')](removeEntity(_0x478fd4,null))[_0xe8cb('0x45')](handleError(_0x478fd4,null));};exports[_0xe8cb('0x51')]=function(_0x4332ba,_0x57afa7,_0x4f066d){return db[_0xe8cb('0x2f')]['find']({'where':{'id':_0x4332ba[_0xe8cb('0x46')]['id']},'attributes':[_0xe8cb('0x2c'),_0xe8cb('0x52'),_0xe8cb('0x53'),_0xe8cb('0x54')],'raw':!![]})[_0xe8cb('0x25')](handleEntityNotFound(_0x57afa7,null))[_0xe8cb('0x25')](function(_0x29298f){if(_0x29298f){if(!fs[_0xe8cb('0x55')](path[_0xe8cb('0x56')](config['root'],_0xe8cb('0x57'),_0x29298f[_0xe8cb('0x53')]))){throw new db[(_0xe8cb('0x58'))][(_0xe8cb('0x59'))](_0xe8cb('0x5a'));}if(_0x4332ba[_0xe8cb('0x35')][_0xe8cb('0x5b')]){return _0x57afa7[_0xe8cb('0x5c')](0xc8);}return _0x57afa7[_0xe8cb('0x51')](path[_0xe8cb('0x56')](config['root'],_0xe8cb('0x57'),_0x29298f[_0xe8cb('0x53')]),util['format']('%s.%s',_0x29298f[_0xe8cb('0x52')]||_0x29298f[_0xe8cb('0x2c')],_0x29298f['output'][_0xe8cb('0x5d')]()));}})[_0xe8cb('0x45')](handleError(_0x57afa7,null));};