Built motion from commit (unavailable).|2.5.25
[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 _0xaeec=['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','status','json','offset','limit','set','apply','reject','save','update','then','destroy','get','UserProfileResource','end','error','stack','name','send','AnalyticExtractedReport','rawAttributes','fieldName','type','model','map','query','intersection','fields','length','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','count','include','findAll','rows','catch','params','keys','includeAll','options','find','create','body','user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','basename','savename','output','existsSync','join','root','Sequelize','ValidationError','Report\x20not\x20found\x20or\x20empty','download','format','%s.%s','toLowerCase','html-pdf','eml-format','zip-dir','request-promise','moment','mustache','util','to-csv','ejs','lodash','squel','jsforce'];(function(_0x92365c,_0x3bf098){var _0x55d973=function(_0x2888c1){while(--_0x2888c1){_0x92365c['push'](_0x92365c['shift']());}};_0x55d973(++_0x3bf098);}(_0xaeec,0xb0));var _0xcaee=function(_0x3ccf42,_0x1345a5){_0x3ccf42=_0x3ccf42-0x0;var _0x21d6f1=_0xaeec[_0x3ccf42];return _0x21d6f1;};'use strict';var pdf=require(_0xcaee('0x0'));var emlformat=require(_0xcaee('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xcaee('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcaee('0x3'));var moment=require(_0xcaee('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xcaee('0x5'));var util=require(_0xcaee('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xcaee('0x7'));var ejs=require(_0xcaee('0x8'));var fs=require('fs');var _=require(_0xcaee('0x9'));var squel=require(_0xcaee('0xa'));var crypto=require('crypto');var jsforce=require(_0xcaee('0xb'));var deskjs=require(_0xcaee('0xc'));var toCsv=require(_0xcaee('0x7'));var querystring=require(_0xcaee('0xd'));var Papa=require(_0xcaee('0xe'));var Redis=require(_0xcaee('0xf'));var authService=require(_0xcaee('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xcaee('0x11'));var hardwareService=require(_0xcaee('0x12'));var logger=require(_0xcaee('0x13'))('api');var utils=require(_0xcaee('0x14'));var config=require(_0xcaee('0x15'));var licenseUtil=require(_0xcaee('0x16'));var db=require(_0xcaee('0x17'))['db'];function respondWithStatusCode(_0x5bc865,_0x3fdeab){_0x3fdeab=_0x3fdeab||0xcc;return function(_0x4bb005){if(_0x4bb005){return _0x5bc865[_0xcaee('0x18')](_0x3fdeab);}return _0x5bc865[_0xcaee('0x19')](_0x3fdeab)['end']();};}function respondWithResult(_0x36dcfe,_0x5b469e){_0x5b469e=_0x5b469e||0xc8;return function(_0x5a7fe9){if(_0x5a7fe9){return _0x36dcfe[_0xcaee('0x19')](_0x5b469e)[_0xcaee('0x1a')](_0x5a7fe9);}};}function respondWithFilteredResult(_0x3571fe,_0x166949){return function(_0x285b42){if(_0x285b42){var _0x39b761=_0x285b42['count'],_0x473ab4=_0x166949[_0xcaee('0x1b')],_0x521f8a=_0x166949[_0xcaee('0x1b')]+_0x166949[_0xcaee('0x1c')],_0x3334ac;if(_0x521f8a>=_0x39b761){_0x521f8a=_0x39b761;_0x3334ac=0xc8;}else{_0x3334ac=0xce;}_0x3571fe[_0xcaee('0x19')](_0x3334ac);return _0x3571fe[_0xcaee('0x1d')]('Content-Range',_0x473ab4+'-'+_0x521f8a+'/'+_0x39b761)[_0xcaee('0x1a')](_0x285b42);}return null;};}function patchUpdates(_0x47e180){return function(_0x3dbbfd){try{jsonpatch[_0xcaee('0x1e')](_0x3dbbfd,_0x47e180,!![]);}catch(_0x59e1e5){return BPromise[_0xcaee('0x1f')](_0x59e1e5);}return _0x3dbbfd[_0xcaee('0x20')]();};}function saveUpdates(_0xbec166,_0x4f6b0f){return function(_0x2b9ab4){if(_0x2b9ab4){return _0x2b9ab4[_0xcaee('0x21')](_0xbec166)[_0xcaee('0x22')](function(_0x1663bf){return _0x1663bf;});}return null;};}function removeEntity(_0x56f890,_0x5aff70){return function(_0x897530){if(_0x897530){return _0x897530[_0xcaee('0x23')]()[_0xcaee('0x22')](function(){var _0x52d3fb=_0x897530[_0xcaee('0x24')]({'plain':!![]});var _0x4ceefe='ExtractedReports';return db[_0xcaee('0x25')][_0xcaee('0x23')]({'where':{'type':_0x4ceefe,'resourceId':_0x52d3fb['id']}})['then'](function(){return _0x897530;});})[_0xcaee('0x22')](function(){_0x56f890['status'](0xcc)[_0xcaee('0x26')]();});}};}function handleEntityNotFound(_0xc440b4,_0x653b62){return function(_0x5d9e78){if(!_0x5d9e78){_0xc440b4[_0xcaee('0x18')](0x194);}return _0x5d9e78;};}function handleError(_0x48059a,_0x16d9ae){_0x16d9ae=_0x16d9ae||0x1f4;return function(_0x51b33f){logger[_0xcaee('0x27')](_0x51b33f[_0xcaee('0x28')]);if(_0x51b33f['name']){delete _0x51b33f[_0xcaee('0x29')];}_0x48059a['status'](_0x16d9ae)[_0xcaee('0x2a')](_0x51b33f);};}exports['index']=function(_0x44f37f,_0x37da4a){var _0x4d3412={},_0x31d3e2={},_0x591879={'count':0x0,'rows':[]};var _0x3ed809=_['map'](db[_0xcaee('0x2b')][_0xcaee('0x2c')],function(_0x3019f7){return{'name':_0x3019f7[_0xcaee('0x2d')],'type':_0x3019f7[_0xcaee('0x2e')]['key']};});_0x31d3e2[_0xcaee('0x2f')]=_[_0xcaee('0x30')](_0x3ed809,_0xcaee('0x29'));_0x31d3e2[_0xcaee('0x31')]=_['keys'](_0x44f37f[_0xcaee('0x31')]);_0x31d3e2['filters']=_[_0xcaee('0x32')](_0x31d3e2[_0xcaee('0x2f')],_0x31d3e2['query']);_0x4d3412['attributes']=_[_0xcaee('0x32')](_0x31d3e2['model'],qs[_0xcaee('0x33')](_0x44f37f['query'][_0xcaee('0x33')]));_0x4d3412['attributes']=_0x4d3412['attributes'][_0xcaee('0x34')]?_0x4d3412[_0xcaee('0x35')]:_0x31d3e2['model'];if(!_0x44f37f['query'][_0xcaee('0x36')](_0xcaee('0x37'))){_0x4d3412[_0xcaee('0x1c')]=qs[_0xcaee('0x1c')](_0x44f37f[_0xcaee('0x31')][_0xcaee('0x1c')]);_0x4d3412[_0xcaee('0x1b')]=qs[_0xcaee('0x1b')](_0x44f37f[_0xcaee('0x31')][_0xcaee('0x1b')]);}_0x4d3412[_0xcaee('0x38')]=qs[_0xcaee('0x39')](_0x44f37f['query'][_0xcaee('0x39')]);_0x4d3412[_0xcaee('0x3a')]=qs[_0xcaee('0x3b')](_[_0xcaee('0x3c')](_0x44f37f['query'],_0x31d3e2[_0xcaee('0x3b')]),_0x3ed809);if(_0x44f37f[_0xcaee('0x31')][_0xcaee('0x3d')]){_0x4d3412[_0xcaee('0x3a')]=_['merge'](_0x4d3412['where'],{'$or':_[_0xcaee('0x30')](_0x3ed809,function(_0x151202){if(_0x151202[_0xcaee('0x2e')]!==_0xcaee('0x3e')){var _0x2f21f7={};_0x2f21f7[_0x151202[_0xcaee('0x29')]]={'$like':'%'+_0x44f37f['query'][_0xcaee('0x3d')]+'%'};return _0x2f21f7;}})});}_0x4d3412=_[_0xcaee('0x3f')]({},_0x4d3412,_0x44f37f['options']);var _0x44f3c3={'where':_0x4d3412['where']};return db[_0xcaee('0x2b')][_0xcaee('0x40')](_0x44f3c3)[_0xcaee('0x22')](function(_0x16e383){_0x591879[_0xcaee('0x40')]=_0x16e383;if(_0x44f37f['query']['includeAll']){_0x4d3412[_0xcaee('0x41')]=[{'all':!![]}];}return db[_0xcaee('0x2b')][_0xcaee('0x42')](_0x4d3412);})[_0xcaee('0x22')](function(_0x3f4d20){_0x591879[_0xcaee('0x43')]=_0x3f4d20;return _0x591879;})[_0xcaee('0x22')](respondWithFilteredResult(_0x37da4a,_0x4d3412))[_0xcaee('0x44')](handleError(_0x37da4a,null));};exports['show']=function(_0x1dda00,_0x984d28){var _0x1a2d1e={'raw':!![],'where':{'id':_0x1dda00[_0xcaee('0x45')]['id']}},_0x4dbee5={};_0x4dbee5[_0xcaee('0x2f')]=_['keys'](db[_0xcaee('0x2b')][_0xcaee('0x2c')]);_0x4dbee5[_0xcaee('0x31')]=_[_0xcaee('0x46')](_0x1dda00[_0xcaee('0x31')]);_0x4dbee5[_0xcaee('0x3b')]=_[_0xcaee('0x32')](_0x4dbee5[_0xcaee('0x2f')],_0x4dbee5[_0xcaee('0x31')]);_0x1a2d1e[_0xcaee('0x35')]=_[_0xcaee('0x32')](_0x4dbee5['model'],qs[_0xcaee('0x33')](_0x1dda00[_0xcaee('0x31')][_0xcaee('0x33')]));_0x1a2d1e['attributes']=_0x1a2d1e[_0xcaee('0x35')][_0xcaee('0x34')]?_0x1a2d1e['attributes']:_0x4dbee5[_0xcaee('0x2f')];if(_0x1dda00[_0xcaee('0x31')][_0xcaee('0x47')]){_0x1a2d1e[_0xcaee('0x41')]=[{'all':!![]}];}_0x1a2d1e=_[_0xcaee('0x3f')]({},_0x1a2d1e,_0x1dda00[_0xcaee('0x48')]);return db[_0xcaee('0x2b')][_0xcaee('0x49')](_0x1a2d1e)[_0xcaee('0x22')](handleEntityNotFound(_0x984d28,null))[_0xcaee('0x22')](respondWithResult(_0x984d28,null))[_0xcaee('0x44')](handleError(_0x984d28,null));};exports['create']=function(_0x3cff5d,_0x277bc0){return db[_0xcaee('0x2b')][_0xcaee('0x4a')](_0x3cff5d[_0xcaee('0x4b')],{})[_0xcaee('0x22')](function(_0xc6f837){var _0x16fccb=_0x3cff5d[_0xcaee('0x4c')][_0xcaee('0x24')]({'plain':!![]});if(!_0x16fccb)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x16fccb[_0xcaee('0x4d')]===_0xcaee('0x4c')){var _0x5574b1=_0xc6f837[_0xcaee('0x24')]({'plain':!![]});var _0x4e794b='ExtractedReports';return db[_0xcaee('0x4e')][_0xcaee('0x49')]({'where':{'name':_0x4e794b,'userProfileId':_0x16fccb[_0xcaee('0x4f')]},'raw':!![]})[_0xcaee('0x22')](function(_0x524bee){if(_0x524bee&&_0x524bee['autoAssociation']===0x0){return db[_0xcaee('0x25')][_0xcaee('0x4a')]({'name':_0x5574b1['name'],'resourceId':_0x5574b1['id'],'type':_0x524bee[_0xcaee('0x29')],'sectionId':_0x524bee['id']},{})[_0xcaee('0x22')](function(){return _0xc6f837;});}else{return _0xc6f837;}})['catch'](function(_0xd8e5fe){logger[_0xcaee('0x27')](_0xcaee('0x50'),_0xd8e5fe);throw _0xd8e5fe;});}return _0xc6f837;})[_0xcaee('0x22')](respondWithResult(_0x277bc0,0xc9))[_0xcaee('0x44')](handleError(_0x277bc0,null));};exports[_0xcaee('0x21')]=function(_0x175141,_0x4179c5){if(_0x175141[_0xcaee('0x4b')]['id']){delete _0x175141[_0xcaee('0x4b')]['id'];}return db['AnalyticExtractedReport'][_0xcaee('0x49')]({'where':{'id':_0x175141['params']['id']}})[_0xcaee('0x22')](handleEntityNotFound(_0x4179c5,null))[_0xcaee('0x22')](saveUpdates(_0x175141['body'],null))[_0xcaee('0x22')](respondWithResult(_0x4179c5,null))[_0xcaee('0x44')](handleError(_0x4179c5,null));};exports[_0xcaee('0x23')]=function(_0x33fdfe,_0x1f155b){return db[_0xcaee('0x2b')][_0xcaee('0x49')]({'where':{'id':_0x33fdfe[_0xcaee('0x45')]['id']}})[_0xcaee('0x22')](handleEntityNotFound(_0x1f155b,null))[_0xcaee('0x22')](removeEntity(_0x1f155b,null))[_0xcaee('0x44')](handleError(_0x1f155b,null));};exports['download']=function(_0x4514a2,_0x2848c9,_0x704892){return db[_0xcaee('0x2b')]['find']({'where':{'id':_0x4514a2['params']['id']},'attributes':['name',_0xcaee('0x51'),_0xcaee('0x52'),_0xcaee('0x53')],'raw':!![]})[_0xcaee('0x22')](handleEntityNotFound(_0x2848c9,null))[_0xcaee('0x22')](function(_0xbf6c59){if(_0xbf6c59){if(!fs[_0xcaee('0x54')](path[_0xcaee('0x55')](config[_0xcaee('0x56')],'server/files/reports',_0xbf6c59[_0xcaee('0x52')]))){throw new db[(_0xcaee('0x57'))][(_0xcaee('0x58'))](_0xcaee('0x59'));}if(_0x4514a2[_0xcaee('0x31')]['exists']){return _0x2848c9[_0xcaee('0x18')](0xc8);}return _0x2848c9[_0xcaee('0x5a')](path[_0xcaee('0x55')](config['root'],'server/files/reports',_0xbf6c59[_0xcaee('0x52')]),util[_0xcaee('0x5b')](_0xcaee('0x5c'),_0xbf6c59[_0xcaee('0x51')]||_0xbf6c59[_0xcaee('0x29')],_0xbf6c59[_0xcaee('0x53')][_0xcaee('0x5d')]()));}})[_0xcaee('0x44')](handleError(_0x2848c9,null));};