Built motion from commit (unavailable).|2.5.28
[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 _0x6898=['rows','catch','params','fields','options','find','create','body','user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','download','join','server/files/reports','savename','Sequelize','Report\x20not\x20found\x20or\x20empty','root','format','%s.%s','basename','toLowerCase','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','set','Content-Range','apply','update','then','destroy','get','ExtractedReports','UserProfileResource','error','stack','name','send','index','AnalyticExtractedReport','rawAttributes','fieldName','key','model','map','query','keys','intersection','attributes','length','nolimit','order','where','filters','pick','filter','merge','type','VIRTUAL','count','includeAll','include','findAll'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6898,0x194));var _0x8689=function(_0xa7b232,_0x33a3ef){_0xa7b232=_0xa7b232-0x0;var _0x16d5f2=_0x6898[_0xa7b232];return _0x16d5f2;};'use strict';var emlformat=require(_0x8689('0x0'));var rimraf=require(_0x8689('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8689('0x2'));var rp=require('request-promise');var moment=require(_0x8689('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x8689('0x4'));var util=require(_0x8689('0x5'));var path=require(_0x8689('0x6'));var sox=require(_0x8689('0x7'));var csv=require(_0x8689('0x8'));var ejs=require(_0x8689('0x9'));var fs=require('fs');var fs_extra=require(_0x8689('0xa'));var _=require(_0x8689('0xb'));var squel=require(_0x8689('0xc'));var crypto=require(_0x8689('0xd'));var jsforce=require(_0x8689('0xe'));var deskjs=require(_0x8689('0xf'));var toCsv=require(_0x8689('0x8'));var querystring=require(_0x8689('0x10'));var Papa=require(_0x8689('0x11'));var Redis=require(_0x8689('0x12'));var authService=require(_0x8689('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x8689('0x14'));var hardwareService=require(_0x8689('0x15'));var logger=require(_0x8689('0x16'))('api');var utils=require(_0x8689('0x17'));var config=require(_0x8689('0x18'));var licenseUtil=require(_0x8689('0x19'));var db=require(_0x8689('0x1a'))['db'];function respondWithStatusCode(_0xcf4ac4,_0x5e617c){_0x5e617c=_0x5e617c||0xcc;return function(_0x35dbcb){if(_0x35dbcb){return _0xcf4ac4[_0x8689('0x1b')](_0x5e617c);}return _0xcf4ac4['status'](_0x5e617c)[_0x8689('0x1c')]();};}function respondWithResult(_0x10e54e,_0x37bcdf){_0x37bcdf=_0x37bcdf||0xc8;return function(_0x4c3d5d){if(_0x4c3d5d){return _0x10e54e[_0x8689('0x1d')](_0x37bcdf)[_0x8689('0x1e')](_0x4c3d5d);}};}function respondWithFilteredResult(_0x5394ea,_0xac4111){return function(_0x3818ab){if(_0x3818ab){var _0x2e6303=_0x3818ab['count'],_0x20cf0d=_0xac4111[_0x8689('0x1f')],_0x323ce1=_0xac4111[_0x8689('0x1f')]+_0xac4111[_0x8689('0x20')],_0x315530;if(_0x323ce1>=_0x2e6303){_0x323ce1=_0x2e6303;_0x315530=0xc8;}else{_0x315530=0xce;}_0x5394ea['status'](_0x315530);return _0x5394ea[_0x8689('0x21')](_0x8689('0x22'),_0x20cf0d+'-'+_0x323ce1+'/'+_0x2e6303)[_0x8689('0x1e')](_0x3818ab);}return null;};}function patchUpdates(_0x548713){return function(_0x50c649){try{jsonpatch[_0x8689('0x23')](_0x50c649,_0x548713,!![]);}catch(_0x1fc878){return BPromise['reject'](_0x1fc878);}return _0x50c649['save']();};}function saveUpdates(_0x2568a6,_0x1d3786){return function(_0x105b25){if(_0x105b25){return _0x105b25[_0x8689('0x24')](_0x2568a6)[_0x8689('0x25')](function(_0x425a2b){return _0x425a2b;});}return null;};}function removeEntity(_0x261832,_0x409d70){return function(_0x2c665f){if(_0x2c665f){return _0x2c665f[_0x8689('0x26')]()[_0x8689('0x25')](function(){var _0x5b1257=_0x2c665f[_0x8689('0x27')]({'plain':!![]});var _0x554c73=_0x8689('0x28');return db[_0x8689('0x29')][_0x8689('0x26')]({'where':{'type':_0x554c73,'resourceId':_0x5b1257['id']}})[_0x8689('0x25')](function(){return _0x2c665f;});})['then'](function(){_0x261832['status'](0xcc)[_0x8689('0x1c')]();});}};}function handleEntityNotFound(_0x241f8d,_0x2fadcf){return function(_0x468911){if(!_0x468911){_0x241f8d[_0x8689('0x1b')](0x194);}return _0x468911;};}function handleError(_0x4a2e98,_0x32cff6){_0x32cff6=_0x32cff6||0x1f4;return function(_0x501537){logger[_0x8689('0x2a')](_0x501537[_0x8689('0x2b')]);if(_0x501537[_0x8689('0x2c')]){delete _0x501537[_0x8689('0x2c')];}_0x4a2e98['status'](_0x32cff6)[_0x8689('0x2d')](_0x501537);};}exports[_0x8689('0x2e')]=function(_0x4e6e38,_0x1e3f6e){var _0x5435f8={},_0x356bbf={},_0x37db9d={'count':0x0,'rows':[]};var _0x392f71=_['map'](db[_0x8689('0x2f')][_0x8689('0x30')],function(_0x3e61cd){return{'name':_0x3e61cd[_0x8689('0x31')],'type':_0x3e61cd['type'][_0x8689('0x32')]};});_0x356bbf[_0x8689('0x33')]=_[_0x8689('0x34')](_0x392f71,'name');_0x356bbf[_0x8689('0x35')]=_[_0x8689('0x36')](_0x4e6e38['query']);_0x356bbf['filters']=_[_0x8689('0x37')](_0x356bbf[_0x8689('0x33')],_0x356bbf[_0x8689('0x35')]);_0x5435f8[_0x8689('0x38')]=_[_0x8689('0x37')](_0x356bbf[_0x8689('0x33')],qs['fields'](_0x4e6e38[_0x8689('0x35')]['fields']));_0x5435f8[_0x8689('0x38')]=_0x5435f8[_0x8689('0x38')][_0x8689('0x39')]?_0x5435f8[_0x8689('0x38')]:_0x356bbf[_0x8689('0x33')];if(!_0x4e6e38[_0x8689('0x35')]['hasOwnProperty'](_0x8689('0x3a'))){_0x5435f8['limit']=qs['limit'](_0x4e6e38[_0x8689('0x35')][_0x8689('0x20')]);_0x5435f8[_0x8689('0x1f')]=qs[_0x8689('0x1f')](_0x4e6e38[_0x8689('0x35')][_0x8689('0x1f')]);}_0x5435f8[_0x8689('0x3b')]=qs['sort'](_0x4e6e38[_0x8689('0x35')]['sort']);_0x5435f8[_0x8689('0x3c')]=qs[_0x8689('0x3d')](_[_0x8689('0x3e')](_0x4e6e38[_0x8689('0x35')],_0x356bbf[_0x8689('0x3d')]),_0x392f71);if(_0x4e6e38['query'][_0x8689('0x3f')]){_0x5435f8['where']=_[_0x8689('0x40')](_0x5435f8[_0x8689('0x3c')],{'$or':_[_0x8689('0x34')](_0x392f71,function(_0x119763){if(_0x119763[_0x8689('0x41')]!==_0x8689('0x42')){var _0x485163={};_0x485163[_0x119763[_0x8689('0x2c')]]={'$like':'%'+_0x4e6e38[_0x8689('0x35')][_0x8689('0x3f')]+'%'};return _0x485163;}})});}_0x5435f8=_['merge']({},_0x5435f8,_0x4e6e38['options']);var _0x376c19={'where':_0x5435f8[_0x8689('0x3c')]};return db['AnalyticExtractedReport'][_0x8689('0x43')](_0x376c19)[_0x8689('0x25')](function(_0x426983){_0x37db9d[_0x8689('0x43')]=_0x426983;if(_0x4e6e38[_0x8689('0x35')][_0x8689('0x44')]){_0x5435f8[_0x8689('0x45')]=[{'all':!![]}];}return db[_0x8689('0x2f')][_0x8689('0x46')](_0x5435f8);})[_0x8689('0x25')](function(_0x2e17ae){_0x37db9d[_0x8689('0x47')]=_0x2e17ae;return _0x37db9d;})[_0x8689('0x25')](respondWithFilteredResult(_0x1e3f6e,_0x5435f8))[_0x8689('0x48')](handleError(_0x1e3f6e,null));};exports['show']=function(_0x271a19,_0x2d6e69){var _0x5ca9ea={'raw':!![],'where':{'id':_0x271a19[_0x8689('0x49')]['id']}},_0x1e0902={};_0x1e0902['model']=_[_0x8689('0x36')](db[_0x8689('0x2f')]['rawAttributes']);_0x1e0902[_0x8689('0x35')]=_[_0x8689('0x36')](_0x271a19[_0x8689('0x35')]);_0x1e0902[_0x8689('0x3d')]=_[_0x8689('0x37')](_0x1e0902['model'],_0x1e0902[_0x8689('0x35')]);_0x5ca9ea[_0x8689('0x38')]=_[_0x8689('0x37')](_0x1e0902[_0x8689('0x33')],qs[_0x8689('0x4a')](_0x271a19['query']['fields']));_0x5ca9ea[_0x8689('0x38')]=_0x5ca9ea['attributes'][_0x8689('0x39')]?_0x5ca9ea[_0x8689('0x38')]:_0x1e0902[_0x8689('0x33')];if(_0x271a19[_0x8689('0x35')][_0x8689('0x44')]){_0x5ca9ea[_0x8689('0x45')]=[{'all':!![]}];}_0x5ca9ea=_[_0x8689('0x40')]({},_0x5ca9ea,_0x271a19[_0x8689('0x4b')]);return db[_0x8689('0x2f')][_0x8689('0x4c')](_0x5ca9ea)[_0x8689('0x25')](handleEntityNotFound(_0x2d6e69,null))[_0x8689('0x25')](respondWithResult(_0x2d6e69,null))[_0x8689('0x48')](handleError(_0x2d6e69,null));};exports[_0x8689('0x4d')]=function(_0x76bb63,_0x151e20){return db[_0x8689('0x2f')][_0x8689('0x4d')](_0x76bb63[_0x8689('0x4e')],{})['then'](function(_0x482a23){var _0x4b3a9b=_0x76bb63[_0x8689('0x4f')][_0x8689('0x27')]({'plain':!![]});if(!_0x4b3a9b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4b3a9b[_0x8689('0x50')]===_0x8689('0x4f')){var _0x1a5c26=_0x482a23[_0x8689('0x27')]({'plain':!![]});var _0x130c0b=_0x8689('0x28');return db[_0x8689('0x51')][_0x8689('0x4c')]({'where':{'name':_0x130c0b,'userProfileId':_0x4b3a9b['userProfileId']},'raw':!![]})['then'](function(_0xb1ffa9){if(_0xb1ffa9&&_0xb1ffa9[_0x8689('0x52')]===0x0){return db[_0x8689('0x29')][_0x8689('0x4d')]({'name':_0x1a5c26[_0x8689('0x2c')],'resourceId':_0x1a5c26['id'],'type':_0xb1ffa9['name'],'sectionId':_0xb1ffa9['id']},{})[_0x8689('0x25')](function(){return _0x482a23;});}else{return _0x482a23;}})[_0x8689('0x48')](function(_0x3870e0){logger['error'](_0x8689('0x53'),_0x3870e0);throw _0x3870e0;});}return _0x482a23;})['then'](respondWithResult(_0x151e20,0xc9))[_0x8689('0x48')](handleError(_0x151e20,null));};exports['update']=function(_0x338bb9,_0x135d17){if(_0x338bb9[_0x8689('0x4e')]['id']){delete _0x338bb9[_0x8689('0x4e')]['id'];}return db['AnalyticExtractedReport'][_0x8689('0x4c')]({'where':{'id':_0x338bb9[_0x8689('0x49')]['id']}})[_0x8689('0x25')](handleEntityNotFound(_0x135d17,null))[_0x8689('0x25')](saveUpdates(_0x338bb9['body'],null))['then'](respondWithResult(_0x135d17,null))[_0x8689('0x48')](handleError(_0x135d17,null));};exports[_0x8689('0x26')]=function(_0xbc8637,_0x14f415){return db[_0x8689('0x2f')][_0x8689('0x4c')]({'where':{'id':_0xbc8637[_0x8689('0x49')]['id']}})[_0x8689('0x25')](handleEntityNotFound(_0x14f415,null))[_0x8689('0x25')](removeEntity(_0x14f415,null))[_0x8689('0x48')](handleError(_0x14f415,null));};exports[_0x8689('0x54')]=function(_0x514fbb,_0x28666a,_0xf8a43e){return db[_0x8689('0x2f')][_0x8689('0x4c')]({'where':{'id':_0x514fbb[_0x8689('0x49')]['id']},'attributes':[_0x8689('0x2c'),'basename','savename','output'],'raw':!![]})[_0x8689('0x25')](handleEntityNotFound(_0x28666a,null))[_0x8689('0x25')](function(_0x12c665){if(_0x12c665){if(!fs['existsSync'](path[_0x8689('0x55')](config['root'],_0x8689('0x56'),_0x12c665[_0x8689('0x57')]))){throw new db[(_0x8689('0x58'))]['ValidationError'](_0x8689('0x59'));}if(_0x514fbb['query']['exists']){return _0x28666a[_0x8689('0x1b')](0xc8);}return _0x28666a['download'](path['join'](config[_0x8689('0x5a')],_0x8689('0x56'),_0x12c665['savename']),util[_0x8689('0x5b')](_0x8689('0x5c'),_0x12c665[_0x8689('0x5d')]||_0x12c665['name'],_0x12c665['output'][_0x8689('0x5e')]()));}})['catch'](handleError(_0x28666a,null));};