Built motion from commit (unavailable).|2.5.26
[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 _0x4ded=['sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','then','destroy','get','ExtractedReports','UserProfileResource','error','name','send','index','map','fieldName','key','model','keys','query','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','filters','filter','merge','VIRTUAL','options','include','AnalyticExtractedReport','findAll','rows','show','params','rawAttributes','length','includeAll','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','download','output','join','root','server/files/reports','savename','ValidationError','Report\x20not\x20found\x20or\x20empty','exists','%s.%s','basename','toLowerCase','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x2cfef8,_0x230aa3){var _0x12167a=function(_0x2744db){while(--_0x2744db){_0x2cfef8['push'](_0x2cfef8['shift']());}};_0x12167a(++_0x230aa3);}(_0x4ded,0x116));var _0xd4de=function(_0x585e07,_0x42d8cd){_0x585e07=_0x585e07-0x0;var _0x22fed8=_0x4ded[_0x585e07];return _0x22fed8;};'use strict';var emlformat=require(_0xd4de('0x0'));var rimraf=require(_0xd4de('0x1'));var zipdir=require(_0xd4de('0x2'));var jsonpatch=require(_0xd4de('0x3'));var rp=require(_0xd4de('0x4'));var moment=require(_0xd4de('0x5'));var BPromise=require(_0xd4de('0x6'));var Mustache=require(_0xd4de('0x7'));var util=require(_0xd4de('0x8'));var path=require(_0xd4de('0x9'));var sox=require(_0xd4de('0xa'));var csv=require(_0xd4de('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd4de('0xc'));var _=require(_0xd4de('0xd'));var squel=require(_0xd4de('0xe'));var crypto=require(_0xd4de('0xf'));var jsforce=require(_0xd4de('0x10'));var deskjs=require(_0xd4de('0x11'));var toCsv=require('to-csv');var querystring=require(_0xd4de('0x12'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd4de('0x13'));var as=require(_0xd4de('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xd4de('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xd4de('0x16'));var db=require(_0xd4de('0x17'))['db'];function respondWithStatusCode(_0x104dad,_0x2aa09d){_0x2aa09d=_0x2aa09d||0xcc;return function(_0x3ffc72){if(_0x3ffc72){return _0x104dad[_0xd4de('0x18')](_0x2aa09d);}return _0x104dad[_0xd4de('0x19')](_0x2aa09d)[_0xd4de('0x1a')]();};}function respondWithResult(_0x3e3735,_0x37cb9f){_0x37cb9f=_0x37cb9f||0xc8;return function(_0x691ba9){if(_0x691ba9){return _0x3e3735[_0xd4de('0x19')](_0x37cb9f)[_0xd4de('0x1b')](_0x691ba9);}};}function respondWithFilteredResult(_0xbb4f7e,_0x102e5b){return function(_0xa7c18b){if(_0xa7c18b){var _0x325fba=_0xa7c18b[_0xd4de('0x1c')],_0x4b0a95=_0x102e5b[_0xd4de('0x1d')],_0x5d0aeb=_0x102e5b[_0xd4de('0x1d')]+_0x102e5b['limit'],_0x3df820;if(_0x5d0aeb>=_0x325fba){_0x5d0aeb=_0x325fba;_0x3df820=0xc8;}else{_0x3df820=0xce;}_0xbb4f7e['status'](_0x3df820);return _0xbb4f7e[_0xd4de('0x1e')]('Content-Range',_0x4b0a95+'-'+_0x5d0aeb+'/'+_0x325fba)[_0xd4de('0x1b')](_0xa7c18b);}return null;};}function patchUpdates(_0x29c028){return function(_0x50b9e3){try{jsonpatch[_0xd4de('0x1f')](_0x50b9e3,_0x29c028,!![]);}catch(_0x57c078){return BPromise[_0xd4de('0x20')](_0x57c078);}return _0x50b9e3[_0xd4de('0x21')]();};}function saveUpdates(_0x2bad14,_0x8e8712){return function(_0x5368f5){if(_0x5368f5){return _0x5368f5[_0xd4de('0x22')](_0x2bad14)[_0xd4de('0x23')](function(_0x360e3d){return _0x360e3d;});}return null;};}function removeEntity(_0xdb3fc,_0x1c631a){return function(_0x2d092a){if(_0x2d092a){return _0x2d092a[_0xd4de('0x24')]()[_0xd4de('0x23')](function(){var _0x2f9de6=_0x2d092a[_0xd4de('0x25')]({'plain':!![]});var _0x534b37=_0xd4de('0x26');return db[_0xd4de('0x27')][_0xd4de('0x24')]({'where':{'type':_0x534b37,'resourceId':_0x2f9de6['id']}})[_0xd4de('0x23')](function(){return _0x2d092a;});})[_0xd4de('0x23')](function(){_0xdb3fc[_0xd4de('0x19')](0xcc)[_0xd4de('0x1a')]();});}};}function handleEntityNotFound(_0x36308c,_0x2aa82a){return function(_0x260c5c){if(!_0x260c5c){_0x36308c[_0xd4de('0x18')](0x194);}return _0x260c5c;};}function handleError(_0xb2d8a1,_0x586126){_0x586126=_0x586126||0x1f4;return function(_0xe64e4e){logger[_0xd4de('0x28')](_0xe64e4e['stack']);if(_0xe64e4e[_0xd4de('0x29')]){delete _0xe64e4e['name'];}_0xb2d8a1[_0xd4de('0x19')](_0x586126)[_0xd4de('0x2a')](_0xe64e4e);};}exports[_0xd4de('0x2b')]=function(_0x4fa53a,_0xd4de93){var _0x36f2f1={},_0x17f0a={},_0x50cb73={'count':0x0,'rows':[]};var _0x3615b8=_[_0xd4de('0x2c')](db['AnalyticExtractedReport']['rawAttributes'],function(_0x5706fe){return{'name':_0x5706fe[_0xd4de('0x2d')],'type':_0x5706fe['type'][_0xd4de('0x2e')]};});_0x17f0a[_0xd4de('0x2f')]=_[_0xd4de('0x2c')](_0x3615b8,_0xd4de('0x29'));_0x17f0a['query']=_[_0xd4de('0x30')](_0x4fa53a[_0xd4de('0x31')]);_0x17f0a['filters']=_[_0xd4de('0x32')](_0x17f0a[_0xd4de('0x2f')],_0x17f0a['query']);_0x36f2f1['attributes']=_[_0xd4de('0x32')](_0x17f0a[_0xd4de('0x2f')],qs[_0xd4de('0x33')](_0x4fa53a[_0xd4de('0x31')]['fields']));_0x36f2f1[_0xd4de('0x34')]=_0x36f2f1[_0xd4de('0x34')]['length']?_0x36f2f1[_0xd4de('0x34')]:_0x17f0a[_0xd4de('0x2f')];if(!_0x4fa53a[_0xd4de('0x31')][_0xd4de('0x35')](_0xd4de('0x36'))){_0x36f2f1[_0xd4de('0x37')]=qs['limit'](_0x4fa53a['query'][_0xd4de('0x37')]);_0x36f2f1[_0xd4de('0x1d')]=qs[_0xd4de('0x1d')](_0x4fa53a['query'][_0xd4de('0x1d')]);}_0x36f2f1[_0xd4de('0x38')]=qs['sort'](_0x4fa53a[_0xd4de('0x31')][_0xd4de('0x39')]);_0x36f2f1[_0xd4de('0x3a')]=qs[_0xd4de('0x3b')](_['pick'](_0x4fa53a['query'],_0x17f0a[_0xd4de('0x3b')]),_0x3615b8);if(_0x4fa53a['query'][_0xd4de('0x3c')]){_0x36f2f1['where']=_[_0xd4de('0x3d')](_0x36f2f1[_0xd4de('0x3a')],{'$or':_[_0xd4de('0x2c')](_0x3615b8,function(_0x1e1937){if(_0x1e1937['type']!==_0xd4de('0x3e')){var _0x4bd6ed={};_0x4bd6ed[_0x1e1937[_0xd4de('0x29')]]={'$like':'%'+_0x4fa53a[_0xd4de('0x31')][_0xd4de('0x3c')]+'%'};return _0x4bd6ed;}})});}_0x36f2f1=_[_0xd4de('0x3d')]({},_0x36f2f1,_0x4fa53a[_0xd4de('0x3f')]);var _0x13c256={'where':_0x36f2f1[_0xd4de('0x3a')]};return db['AnalyticExtractedReport'][_0xd4de('0x1c')](_0x13c256)[_0xd4de('0x23')](function(_0x3cc600){_0x50cb73[_0xd4de('0x1c')]=_0x3cc600;if(_0x4fa53a[_0xd4de('0x31')]['includeAll']){_0x36f2f1[_0xd4de('0x40')]=[{'all':!![]}];}return db[_0xd4de('0x41')][_0xd4de('0x42')](_0x36f2f1);})['then'](function(_0x3eaa14){_0x50cb73[_0xd4de('0x43')]=_0x3eaa14;return _0x50cb73;})[_0xd4de('0x23')](respondWithFilteredResult(_0xd4de93,_0x36f2f1))['catch'](handleError(_0xd4de93,null));};exports[_0xd4de('0x44')]=function(_0x10a42c,_0x419c49){var _0x3f1e22={'raw':!![],'where':{'id':_0x10a42c[_0xd4de('0x45')]['id']}},_0x3267bd={};_0x3267bd[_0xd4de('0x2f')]=_['keys'](db[_0xd4de('0x41')][_0xd4de('0x46')]);_0x3267bd[_0xd4de('0x31')]=_['keys'](_0x10a42c[_0xd4de('0x31')]);_0x3267bd[_0xd4de('0x3b')]=_[_0xd4de('0x32')](_0x3267bd['model'],_0x3267bd['query']);_0x3f1e22[_0xd4de('0x34')]=_[_0xd4de('0x32')](_0x3267bd['model'],qs[_0xd4de('0x33')](_0x10a42c[_0xd4de('0x31')][_0xd4de('0x33')]));_0x3f1e22[_0xd4de('0x34')]=_0x3f1e22['attributes'][_0xd4de('0x47')]?_0x3f1e22[_0xd4de('0x34')]:_0x3267bd[_0xd4de('0x2f')];if(_0x10a42c[_0xd4de('0x31')][_0xd4de('0x48')]){_0x3f1e22[_0xd4de('0x40')]=[{'all':!![]}];}_0x3f1e22=_['merge']({},_0x3f1e22,_0x10a42c[_0xd4de('0x3f')]);return db[_0xd4de('0x41')][_0xd4de('0x49')](_0x3f1e22)[_0xd4de('0x23')](handleEntityNotFound(_0x419c49,null))[_0xd4de('0x23')](respondWithResult(_0x419c49,null))[_0xd4de('0x4a')](handleError(_0x419c49,null));};exports[_0xd4de('0x4b')]=function(_0x425a7e,_0xaf442c){return db[_0xd4de('0x41')]['create'](_0x425a7e[_0xd4de('0x4c')],{})[_0xd4de('0x23')](function(_0x178daf){var _0x518bfe=_0x425a7e[_0xd4de('0x4d')][_0xd4de('0x25')]({'plain':!![]});if(!_0x518bfe)throw new Error(_0xd4de('0x4e'));if(_0x518bfe[_0xd4de('0x4f')]===_0xd4de('0x4d')){var _0xa24bb7=_0x178daf[_0xd4de('0x25')]({'plain':!![]});var _0x29cb16=_0xd4de('0x26');return db[_0xd4de('0x50')]['find']({'where':{'name':_0x29cb16,'userProfileId':_0x518bfe[_0xd4de('0x51')]},'raw':!![]})[_0xd4de('0x23')](function(_0x215f85){if(_0x215f85&&_0x215f85[_0xd4de('0x52')]===0x0){return db[_0xd4de('0x27')]['create']({'name':_0xa24bb7['name'],'resourceId':_0xa24bb7['id'],'type':_0x215f85[_0xd4de('0x29')],'sectionId':_0x215f85['id']},{})[_0xd4de('0x23')](function(){return _0x178daf;});}else{return _0x178daf;}})['catch'](function(_0x48cb7d){logger[_0xd4de('0x28')](_0xd4de('0x53'),_0x48cb7d);throw _0x48cb7d;});}return _0x178daf;})[_0xd4de('0x23')](respondWithResult(_0xaf442c,0xc9))[_0xd4de('0x4a')](handleError(_0xaf442c,null));};exports[_0xd4de('0x22')]=function(_0x15c8cd,_0x4177a9){if(_0x15c8cd[_0xd4de('0x4c')]['id']){delete _0x15c8cd[_0xd4de('0x4c')]['id'];}return db[_0xd4de('0x41')][_0xd4de('0x49')]({'where':{'id':_0x15c8cd[_0xd4de('0x45')]['id']}})['then'](handleEntityNotFound(_0x4177a9,null))[_0xd4de('0x23')](saveUpdates(_0x15c8cd[_0xd4de('0x4c')],null))[_0xd4de('0x23')](respondWithResult(_0x4177a9,null))[_0xd4de('0x4a')](handleError(_0x4177a9,null));};exports[_0xd4de('0x24')]=function(_0x176025,_0x53be94){return db[_0xd4de('0x41')]['find']({'where':{'id':_0x176025['params']['id']}})[_0xd4de('0x23')](handleEntityNotFound(_0x53be94,null))[_0xd4de('0x23')](removeEntity(_0x53be94,null))[_0xd4de('0x4a')](handleError(_0x53be94,null));};exports[_0xd4de('0x54')]=function(_0x4e533c,_0xfc79e7,_0x3d62c2){return db[_0xd4de('0x41')][_0xd4de('0x49')]({'where':{'id':_0x4e533c[_0xd4de('0x45')]['id']},'attributes':['name','basename','savename',_0xd4de('0x55')],'raw':!![]})[_0xd4de('0x23')](handleEntityNotFound(_0xfc79e7,null))[_0xd4de('0x23')](function(_0x3c5f7a){if(_0x3c5f7a){if(!fs['existsSync'](path[_0xd4de('0x56')](config[_0xd4de('0x57')],_0xd4de('0x58'),_0x3c5f7a[_0xd4de('0x59')]))){throw new db['Sequelize'][(_0xd4de('0x5a'))](_0xd4de('0x5b'));}if(_0x4e533c[_0xd4de('0x31')][_0xd4de('0x5c')]){return _0xfc79e7['sendStatus'](0xc8);}return _0xfc79e7['download'](path['join'](config[_0xd4de('0x57')],_0xd4de('0x58'),_0x3c5f7a[_0xd4de('0x59')]),util['format'](_0xd4de('0x5d'),_0x3c5f7a[_0xd4de('0x5e')]||_0x3c5f7a[_0xd4de('0x29')],_0x3c5f7a['output'][_0xd4de('0x5f')]()));}})['catch'](handleError(_0xfc79e7,null));};