Built motion from commit (unavailable).|2.5.27
[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 _0x1d2d=['map','AnalyticExtractedReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','offset','sort','where','VIRTUAL','filter','merge','options','include','findAll','rows','show','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','download','output','join','root','server/files/reports','savename','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','format','%s.%s','toLowerCase','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','limit','set','Content-Range','update','then','get','ExtractedReports','UserProfileResource','destroy','error','name','send','index'];(function(_0x2b28f4,_0x524546){var _0x3d3557=function(_0x28dc0a){while(--_0x28dc0a){_0x2b28f4['push'](_0x2b28f4['shift']());}};_0x3d3557(++_0x524546);}(_0x1d2d,0xf0));var _0xd1d2=function(_0x2ee8fd,_0x50524a){_0x2ee8fd=_0x2ee8fd-0x0;var _0x14b028=_0x1d2d[_0x2ee8fd];return _0x14b028;};'use strict';var emlformat=require(_0xd1d2('0x0'));var rimraf=require(_0xd1d2('0x1'));var zipdir=require(_0xd1d2('0x2'));var jsonpatch=require(_0xd1d2('0x3'));var rp=require(_0xd1d2('0x4'));var moment=require('moment');var BPromise=require(_0xd1d2('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd1d2('0x6'));var sox=require(_0xd1d2('0x7'));var csv=require(_0xd1d2('0x8'));var ejs=require(_0xd1d2('0x9'));var fs=require('fs');var fs_extra=require(_0xd1d2('0xa'));var _=require(_0xd1d2('0xb'));var squel=require('squel');var crypto=require(_0xd1d2('0xc'));var jsforce=require(_0xd1d2('0xd'));var deskjs=require(_0xd1d2('0xe'));var toCsv=require(_0xd1d2('0x8'));var querystring=require(_0xd1d2('0xf'));var Papa=require(_0xd1d2('0x10'));var Redis=require(_0xd1d2('0x11'));var authService=require(_0xd1d2('0x12'));var qs=require(_0xd1d2('0x13'));var as=require(_0xd1d2('0x14'));var hardwareService=require(_0xd1d2('0x15'));var logger=require(_0xd1d2('0x16'))(_0xd1d2('0x17'));var utils=require('../../config/utils');var config=require(_0xd1d2('0x18'));var licenseUtil=require(_0xd1d2('0x19'));var db=require(_0xd1d2('0x1a'))['db'];function respondWithStatusCode(_0x33f088,_0x129d8f){_0x129d8f=_0x129d8f||0xcc;return function(_0xc3ee82){if(_0xc3ee82){return _0x33f088[_0xd1d2('0x1b')](_0x129d8f);}return _0x33f088[_0xd1d2('0x1c')](_0x129d8f)[_0xd1d2('0x1d')]();};}function respondWithResult(_0x3f670f,_0x4cf702){_0x4cf702=_0x4cf702||0xc8;return function(_0x2e7fec){if(_0x2e7fec){return _0x3f670f[_0xd1d2('0x1c')](_0x4cf702)[_0xd1d2('0x1e')](_0x2e7fec);}};}function respondWithFilteredResult(_0x56de25,_0x35381b){return function(_0xc36ce){if(_0xc36ce){var _0x208425=_0xc36ce[_0xd1d2('0x1f')],_0x2f4cf9=_0x35381b['offset'],_0xecac1f=_0x35381b['offset']+_0x35381b[_0xd1d2('0x20')],_0x2723b3;if(_0xecac1f>=_0x208425){_0xecac1f=_0x208425;_0x2723b3=0xc8;}else{_0x2723b3=0xce;}_0x56de25['status'](_0x2723b3);return _0x56de25[_0xd1d2('0x21')](_0xd1d2('0x22'),_0x2f4cf9+'-'+_0xecac1f+'/'+_0x208425)[_0xd1d2('0x1e')](_0xc36ce);}return null;};}function patchUpdates(_0x40d3dd){return function(_0x4ab386){try{jsonpatch['apply'](_0x4ab386,_0x40d3dd,!![]);}catch(_0xb43456){return BPromise['reject'](_0xb43456);}return _0x4ab386['save']();};}function saveUpdates(_0x1ab67c,_0x27e26b){return function(_0x3414ce){if(_0x3414ce){return _0x3414ce[_0xd1d2('0x23')](_0x1ab67c)['then'](function(_0x1cacad){return _0x1cacad;});}return null;};}function removeEntity(_0xbb4d27,_0x24b8db){return function(_0x4eb082){if(_0x4eb082){return _0x4eb082['destroy']()[_0xd1d2('0x24')](function(){var _0x3a1078=_0x4eb082[_0xd1d2('0x25')]({'plain':!![]});var _0x2f92ee=_0xd1d2('0x26');return db[_0xd1d2('0x27')][_0xd1d2('0x28')]({'where':{'type':_0x2f92ee,'resourceId':_0x3a1078['id']}})['then'](function(){return _0x4eb082;});})[_0xd1d2('0x24')](function(){_0xbb4d27[_0xd1d2('0x1c')](0xcc)[_0xd1d2('0x1d')]();});}};}function handleEntityNotFound(_0x2e1709,_0x5d3ee1){return function(_0x39e991){if(!_0x39e991){_0x2e1709[_0xd1d2('0x1b')](0x194);}return _0x39e991;};}function handleError(_0x34faf7,_0xe6ef3c){_0xe6ef3c=_0xe6ef3c||0x1f4;return function(_0x384460){logger[_0xd1d2('0x29')](_0x384460['stack']);if(_0x384460['name']){delete _0x384460[_0xd1d2('0x2a')];}_0x34faf7[_0xd1d2('0x1c')](_0xe6ef3c)[_0xd1d2('0x2b')](_0x384460);};}exports[_0xd1d2('0x2c')]=function(_0xc815ea,_0x48ade1){var _0x39d694={},_0x41171c={},_0x383947={'count':0x0,'rows':[]};var _0x4b4134=_[_0xd1d2('0x2d')](db[_0xd1d2('0x2e')][_0xd1d2('0x2f')],function(_0x56557d){return{'name':_0x56557d[_0xd1d2('0x30')],'type':_0x56557d[_0xd1d2('0x31')][_0xd1d2('0x32')]};});_0x41171c[_0xd1d2('0x33')]=_[_0xd1d2('0x2d')](_0x4b4134,_0xd1d2('0x2a'));_0x41171c[_0xd1d2('0x34')]=_[_0xd1d2('0x35')](_0xc815ea[_0xd1d2('0x34')]);_0x41171c[_0xd1d2('0x36')]=_[_0xd1d2('0x37')](_0x41171c[_0xd1d2('0x33')],_0x41171c[_0xd1d2('0x34')]);_0x39d694[_0xd1d2('0x38')]=_[_0xd1d2('0x37')](_0x41171c[_0xd1d2('0x33')],qs[_0xd1d2('0x39')](_0xc815ea[_0xd1d2('0x34')]['fields']));_0x39d694[_0xd1d2('0x38')]=_0x39d694[_0xd1d2('0x38')][_0xd1d2('0x3a')]?_0x39d694['attributes']:_0x41171c[_0xd1d2('0x33')];if(!_0xc815ea['query']['hasOwnProperty'](_0xd1d2('0x3b'))){_0x39d694[_0xd1d2('0x20')]=qs[_0xd1d2('0x20')](_0xc815ea[_0xd1d2('0x34')][_0xd1d2('0x20')]);_0x39d694[_0xd1d2('0x3c')]=qs['offset'](_0xc815ea[_0xd1d2('0x34')][_0xd1d2('0x3c')]);}_0x39d694['order']=qs[_0xd1d2('0x3d')](_0xc815ea[_0xd1d2('0x34')][_0xd1d2('0x3d')]);_0x39d694[_0xd1d2('0x3e')]=qs['filters'](_['pick'](_0xc815ea[_0xd1d2('0x34')],_0x41171c['filters']),_0x4b4134);if(_0xc815ea['query']['filter']){_0x39d694[_0xd1d2('0x3e')]=_['merge'](_0x39d694[_0xd1d2('0x3e')],{'$or':_['map'](_0x4b4134,function(_0x47996a){if(_0x47996a['type']!==_0xd1d2('0x3f')){var _0x3bf13c={};_0x3bf13c[_0x47996a[_0xd1d2('0x2a')]]={'$like':'%'+_0xc815ea[_0xd1d2('0x34')][_0xd1d2('0x40')]+'%'};return _0x3bf13c;}})});}_0x39d694=_[_0xd1d2('0x41')]({},_0x39d694,_0xc815ea[_0xd1d2('0x42')]);var _0x38bf16={'where':_0x39d694[_0xd1d2('0x3e')]};return db[_0xd1d2('0x2e')][_0xd1d2('0x1f')](_0x38bf16)[_0xd1d2('0x24')](function(_0x1c2835){_0x383947[_0xd1d2('0x1f')]=_0x1c2835;if(_0xc815ea['query']['includeAll']){_0x39d694[_0xd1d2('0x43')]=[{'all':!![]}];}return db[_0xd1d2('0x2e')][_0xd1d2('0x44')](_0x39d694);})['then'](function(_0x4f70c1){_0x383947[_0xd1d2('0x45')]=_0x4f70c1;return _0x383947;})[_0xd1d2('0x24')](respondWithFilteredResult(_0x48ade1,_0x39d694))['catch'](handleError(_0x48ade1,null));};exports[_0xd1d2('0x46')]=function(_0x4c5d49,_0x5a3790){var _0x21eb24={'raw':!![],'where':{'id':_0x4c5d49['params']['id']}},_0x5114df={};_0x5114df[_0xd1d2('0x33')]=_[_0xd1d2('0x35')](db[_0xd1d2('0x2e')]['rawAttributes']);_0x5114df[_0xd1d2('0x34')]=_[_0xd1d2('0x35')](_0x4c5d49[_0xd1d2('0x34')]);_0x5114df[_0xd1d2('0x36')]=_['intersection'](_0x5114df[_0xd1d2('0x33')],_0x5114df[_0xd1d2('0x34')]);_0x21eb24['attributes']=_[_0xd1d2('0x37')](_0x5114df['model'],qs[_0xd1d2('0x39')](_0x4c5d49[_0xd1d2('0x34')][_0xd1d2('0x39')]));_0x21eb24[_0xd1d2('0x38')]=_0x21eb24[_0xd1d2('0x38')]['length']?_0x21eb24['attributes']:_0x5114df[_0xd1d2('0x33')];if(_0x4c5d49[_0xd1d2('0x34')]['includeAll']){_0x21eb24[_0xd1d2('0x43')]=[{'all':!![]}];}_0x21eb24=_[_0xd1d2('0x41')]({},_0x21eb24,_0x4c5d49[_0xd1d2('0x42')]);return db[_0xd1d2('0x2e')][_0xd1d2('0x47')](_0x21eb24)[_0xd1d2('0x24')](handleEntityNotFound(_0x5a3790,null))[_0xd1d2('0x24')](respondWithResult(_0x5a3790,null))['catch'](handleError(_0x5a3790,null));};exports[_0xd1d2('0x48')]=function(_0xc10c10,_0x5594f5){return db[_0xd1d2('0x2e')][_0xd1d2('0x48')](_0xc10c10['body'],{})['then'](function(_0x3d4fe3){var _0x182ea8=_0xc10c10['user'][_0xd1d2('0x25')]({'plain':!![]});if(!_0x182ea8)throw new Error(_0xd1d2('0x49'));if(_0x182ea8[_0xd1d2('0x4a')]===_0xd1d2('0x4b')){var _0x404ad2=_0x3d4fe3['get']({'plain':!![]});var _0x4dd22e=_0xd1d2('0x26');return db['UserProfileSection'][_0xd1d2('0x47')]({'where':{'name':_0x4dd22e,'userProfileId':_0x182ea8[_0xd1d2('0x4c')]},'raw':!![]})['then'](function(_0x389fcb){if(_0x389fcb&&_0x389fcb[_0xd1d2('0x4d')]===0x0){return db['UserProfileResource']['create']({'name':_0x404ad2[_0xd1d2('0x2a')],'resourceId':_0x404ad2['id'],'type':_0x389fcb[_0xd1d2('0x2a')],'sectionId':_0x389fcb['id']},{})[_0xd1d2('0x24')](function(){return _0x3d4fe3;});}else{return _0x3d4fe3;}})[_0xd1d2('0x4e')](function(_0xa013ce){logger[_0xd1d2('0x29')](_0xd1d2('0x4f'),_0xa013ce);throw _0xa013ce;});}return _0x3d4fe3;})[_0xd1d2('0x24')](respondWithResult(_0x5594f5,0xc9))[_0xd1d2('0x4e')](handleError(_0x5594f5,null));};exports['update']=function(_0x1958f3,_0x530db0){if(_0x1958f3['body']['id']){delete _0x1958f3[_0xd1d2('0x50')]['id'];}return db[_0xd1d2('0x2e')][_0xd1d2('0x47')]({'where':{'id':_0x1958f3[_0xd1d2('0x51')]['id']}})[_0xd1d2('0x24')](handleEntityNotFound(_0x530db0,null))[_0xd1d2('0x24')](saveUpdates(_0x1958f3[_0xd1d2('0x50')],null))[_0xd1d2('0x24')](respondWithResult(_0x530db0,null))[_0xd1d2('0x4e')](handleError(_0x530db0,null));};exports[_0xd1d2('0x28')]=function(_0x28173a,_0x14ba8d){return db[_0xd1d2('0x2e')]['find']({'where':{'id':_0x28173a['params']['id']}})[_0xd1d2('0x24')](handleEntityNotFound(_0x14ba8d,null))[_0xd1d2('0x24')](removeEntity(_0x14ba8d,null))[_0xd1d2('0x4e')](handleError(_0x14ba8d,null));};exports[_0xd1d2('0x52')]=function(_0x344b6f,_0x1d1d31,_0x306e2b){return db[_0xd1d2('0x2e')][_0xd1d2('0x47')]({'where':{'id':_0x344b6f[_0xd1d2('0x51')]['id']},'attributes':[_0xd1d2('0x2a'),'basename','savename',_0xd1d2('0x53')],'raw':!![]})[_0xd1d2('0x24')](handleEntityNotFound(_0x1d1d31,null))[_0xd1d2('0x24')](function(_0x1c6a46){if(_0x1c6a46){if(!fs['existsSync'](path[_0xd1d2('0x54')](config[_0xd1d2('0x55')],_0xd1d2('0x56'),_0x1c6a46[_0xd1d2('0x57')]))){throw new db[(_0xd1d2('0x58'))][(_0xd1d2('0x59'))](_0xd1d2('0x5a'));}if(_0x344b6f['query'][_0xd1d2('0x5b')]){return _0x1d1d31[_0xd1d2('0x1b')](0xc8);}return _0x1d1d31[_0xd1d2('0x52')](path['join'](config['root'],_0xd1d2('0x56'),_0x1c6a46[_0xd1d2('0x57')]),util[_0xd1d2('0x5c')](_0xd1d2('0x5d'),_0x1c6a46['basename']||_0x1c6a46[_0xd1d2('0x2a')],_0x1c6a46[_0xd1d2('0x53')][_0xd1d2('0x5e')]()));}})['catch'](handleError(_0x1d1d31,null));};