Built motion from commit (unavailable).|2.4.0
[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 _0x3e88=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','save','update','then','destroy','get','ExtractedReports','stack','name','send','AnalyticExtractedReport','rawAttributes','model','intersection','query','attributes','length','hasOwnProperty','nolimit','limit','order','sort','filters','pick','filter','where','merge','map','type','key','field','options','includeAll','include','rows','catch','show','keys','fields','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','download','basename','savename','output','existsSync','join','server/files/reports','Sequelize','Report\x20not\x20found\x20or\x20empty','exists','root','%s.%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js'];(function(_0x204a63,_0x4dc00a){var _0x389f09=function(_0x2e22c1){while(--_0x2e22c1){_0x204a63['push'](_0x204a63['shift']());}};_0x389f09(++_0x4dc00a);}(_0x3e88,0x111));var _0x83e8=function(_0xf9b62,_0x1a2210){_0xf9b62=_0xf9b62-0x0;var _0x42e775=_0x3e88[_0xf9b62];return _0x42e775;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x83e8('0x0'));var rimraf=require(_0x83e8('0x1'));var zipdir=require(_0x83e8('0x2'));var jsonpatch=require(_0x83e8('0x3'));var rp=require(_0x83e8('0x4'));var moment=require('moment');var BPromise=require(_0x83e8('0x5'));var Mustache=require(_0x83e8('0x6'));var util=require(_0x83e8('0x7'));var path=require(_0x83e8('0x8'));var sox=require(_0x83e8('0x9'));var csv=require(_0x83e8('0xa'));var ejs=require(_0x83e8('0xb'));var fs=require('fs');var _=require(_0x83e8('0xc'));var squel=require('squel');var crypto=require(_0x83e8('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x83e8('0xe'));var toCsv=require('to-csv');var querystring=require(_0x83e8('0xf'));var Papa=require(_0x83e8('0x10'));var Redis=require(_0x83e8('0x11'));var authService=require(_0x83e8('0x12'));var qs=require(_0x83e8('0x13'));var hardwareService=require(_0x83e8('0x14'));var logger=require('../../config/logger')(_0x83e8('0x15'));var utils=require(_0x83e8('0x16'));var config=require(_0x83e8('0x17'));var db=require(_0x83e8('0x18'))['db'];function respondWithStatusCode(_0x2df05a,_0x5392fd){_0x5392fd=_0x5392fd||0xcc;return function(_0x5b665e){if(_0x5b665e){return _0x2df05a[_0x83e8('0x19')](_0x5392fd);}return _0x2df05a[_0x83e8('0x1a')](_0x5392fd)[_0x83e8('0x1b')]();};}function respondWithResult(_0x2d0641,_0x359dac){_0x359dac=_0x359dac||0xc8;return function(_0x599250){if(_0x599250){return _0x2d0641[_0x83e8('0x1a')](_0x359dac)[_0x83e8('0x1c')](_0x599250);}};}function respondWithFilteredResult(_0x4bdac6,_0x3ce647){return function(_0x1d9e31){if(_0x1d9e31){var _0x32f773=_0x1d9e31[_0x83e8('0x1d')],_0x44df6e=_0x3ce647['offset'],_0x6e03ff=_0x3ce647[_0x83e8('0x1e')]+_0x3ce647['limit'],_0xb9c14e;if(_0x6e03ff>=_0x32f773){_0x6e03ff=_0x32f773;_0xb9c14e=0xc8;}else{_0xb9c14e=0xce;}_0x4bdac6[_0x83e8('0x1a')](_0xb9c14e);return _0x4bdac6[_0x83e8('0x1f')](_0x83e8('0x20'),_0x44df6e+'-'+_0x6e03ff+'/'+_0x32f773)[_0x83e8('0x1c')](_0x1d9e31);}return null;};}function patchUpdates(_0x1edf1f){return function(_0x4d2072){try{jsonpatch['apply'](_0x4d2072,_0x1edf1f,!![]);}catch(_0x48b0a2){return BPromise['reject'](_0x48b0a2);}return _0x4d2072[_0x83e8('0x21')]();};}function saveUpdates(_0x402fde,_0x517667){return function(_0x495732){if(_0x495732){return _0x495732[_0x83e8('0x22')](_0x402fde)[_0x83e8('0x23')](function(_0x3b55eb){return _0x3b55eb;});}return null;};}function removeEntity(_0x2d4396,_0xa6558b){return function(_0x2bc974){if(_0x2bc974){return _0x2bc974[_0x83e8('0x24')]()[_0x83e8('0x23')](function(){var _0x1ab71e=_0x2bc974[_0x83e8('0x25')]({'plain':!![]});var _0x169a6e=_0x83e8('0x26');return db['UserProfileResource'][_0x83e8('0x24')]({'where':{'type':_0x169a6e,'resourceId':_0x1ab71e['id']}})[_0x83e8('0x23')](function(){return _0x2bc974;});})[_0x83e8('0x23')](function(){_0x2d4396['status'](0xcc)[_0x83e8('0x1b')]();});}};}function handleEntityNotFound(_0x7e3fab,_0x36e4c9){return function(_0xe5dfb8){if(!_0xe5dfb8){_0x7e3fab[_0x83e8('0x19')](0x194);}return _0xe5dfb8;};}function handleError(_0x211bcd,_0x220933){_0x220933=_0x220933||0x1f4;return function(_0x74fba0){logger['error'](_0x74fba0[_0x83e8('0x27')]);if(_0x74fba0[_0x83e8('0x28')]){delete _0x74fba0[_0x83e8('0x28')];}_0x211bcd[_0x83e8('0x1a')](_0x220933)[_0x83e8('0x29')](_0x74fba0);};}exports['index']=function(_0x40cf96,_0x4f1005){var _0x2df70a={},_0x19ce25={},_0x32fa32={'count':0x0,'rows':[]};var _0x1bffab=db[_0x83e8('0x2a')][_0x83e8('0x2b')];_0x19ce25[_0x83e8('0x2c')]=_['keys'](_0x1bffab);_0x19ce25['query']=_['keys'](_0x40cf96['query']);_0x19ce25['filters']=_[_0x83e8('0x2d')](_0x19ce25[_0x83e8('0x2c')],_0x19ce25[_0x83e8('0x2e')]);_0x2df70a[_0x83e8('0x2f')]=_[_0x83e8('0x2d')](_0x19ce25[_0x83e8('0x2c')],qs['fields'](_0x40cf96['query']['fields']));_0x2df70a[_0x83e8('0x2f')]=_0x2df70a[_0x83e8('0x2f')][_0x83e8('0x30')]?_0x2df70a['attributes']:_0x19ce25[_0x83e8('0x2c')];if(!_0x40cf96[_0x83e8('0x2e')][_0x83e8('0x31')](_0x83e8('0x32'))){_0x2df70a[_0x83e8('0x33')]=qs[_0x83e8('0x33')](_0x40cf96['query']['limit']);_0x2df70a[_0x83e8('0x1e')]=qs['offset'](_0x40cf96[_0x83e8('0x2e')][_0x83e8('0x1e')]);}_0x2df70a[_0x83e8('0x34')]=qs['sort'](_0x40cf96[_0x83e8('0x2e')][_0x83e8('0x35')]);_0x2df70a['where']=qs[_0x83e8('0x36')](_[_0x83e8('0x37')](_0x40cf96[_0x83e8('0x2e')],_0x19ce25['filters']));if(_0x40cf96[_0x83e8('0x2e')][_0x83e8('0x38')]){_0x2df70a[_0x83e8('0x39')]=_[_0x83e8('0x3a')](_0x2df70a[_0x83e8('0x39')],{'$or':_[_0x83e8('0x3b')](_0x1bffab,function(_0x3f15d5){if(_0x3f15d5[_0x83e8('0x3c')][_0x83e8('0x3d')]!=='VIRTUAL'){var _0x3ea47e={};_0x3ea47e[_0x3f15d5[_0x83e8('0x3e')]]={'$like':'%'+_0x40cf96['query'][_0x83e8('0x38')]+'%'};return _0x3ea47e;}})});}_0x2df70a=_[_0x83e8('0x3a')]({},_0x2df70a,_0x40cf96[_0x83e8('0x3f')]);var _0x1cd2b9={'where':_0x2df70a[_0x83e8('0x39')]};return db[_0x83e8('0x2a')]['count'](_0x1cd2b9)[_0x83e8('0x23')](function(_0x485805){_0x32fa32[_0x83e8('0x1d')]=_0x485805;if(_0x40cf96[_0x83e8('0x2e')][_0x83e8('0x40')]){_0x2df70a[_0x83e8('0x41')]=[{'all':!![]}];}return db[_0x83e8('0x2a')]['findAll'](_0x2df70a);})['then'](function(_0x55abc6){_0x32fa32[_0x83e8('0x42')]=_0x55abc6;return _0x32fa32;})[_0x83e8('0x23')](respondWithFilteredResult(_0x4f1005,_0x2df70a))[_0x83e8('0x43')](handleError(_0x4f1005,null));};exports[_0x83e8('0x44')]=function(_0x5c95a8,_0x41bac8){var _0x458ffd={'raw':!![],'where':{'id':_0x5c95a8['params']['id']}},_0x2d44c8={};_0x2d44c8[_0x83e8('0x2c')]=_[_0x83e8('0x45')](db[_0x83e8('0x2a')]['rawAttributes']);_0x2d44c8[_0x83e8('0x2e')]=_[_0x83e8('0x45')](_0x5c95a8[_0x83e8('0x2e')]);_0x2d44c8[_0x83e8('0x36')]=_[_0x83e8('0x2d')](_0x2d44c8[_0x83e8('0x2c')],_0x2d44c8[_0x83e8('0x2e')]);_0x458ffd['attributes']=_[_0x83e8('0x2d')](_0x2d44c8[_0x83e8('0x2c')],qs[_0x83e8('0x46')](_0x5c95a8['query']['fields']));_0x458ffd['attributes']=_0x458ffd[_0x83e8('0x2f')][_0x83e8('0x30')]?_0x458ffd[_0x83e8('0x2f')]:_0x2d44c8[_0x83e8('0x2c')];if(_0x5c95a8[_0x83e8('0x2e')][_0x83e8('0x40')]){_0x458ffd[_0x83e8('0x41')]=[{'all':!![]}];}_0x458ffd=_[_0x83e8('0x3a')]({},_0x458ffd,_0x5c95a8[_0x83e8('0x3f')]);return db['AnalyticExtractedReport']['find'](_0x458ffd)[_0x83e8('0x23')](handleEntityNotFound(_0x41bac8,null))[_0x83e8('0x23')](respondWithResult(_0x41bac8,null))[_0x83e8('0x43')](handleError(_0x41bac8,null));};exports[_0x83e8('0x47')]=function(_0x45deb0,_0x31a882){return db[_0x83e8('0x2a')][_0x83e8('0x47')](_0x45deb0['body'],{})['then'](function(_0x554476){var _0x5e4918=_0x45deb0[_0x83e8('0x48')][_0x83e8('0x25')]({'plain':!![]});if(!_0x5e4918)throw new Error(_0x83e8('0x49'));if(_0x5e4918[_0x83e8('0x4a')]==='user'){var _0x3eef93=_0x554476[_0x83e8('0x25')]({'plain':!![]});var _0x510ece=_0x83e8('0x26');return db[_0x83e8('0x4b')][_0x83e8('0x4c')]({'where':{'name':_0x510ece,'userProfileId':_0x5e4918[_0x83e8('0x4d')]},'raw':!![]})['then'](function(_0x328ddc){if(_0x328ddc&&_0x328ddc[_0x83e8('0x4e')]===0x0){return db[_0x83e8('0x4f')][_0x83e8('0x47')]({'name':_0x3eef93[_0x83e8('0x28')],'resourceId':_0x3eef93['id'],'type':_0x328ddc[_0x83e8('0x28')],'sectionId':_0x328ddc['id']},{})['then'](function(){return _0x554476;});}else{return _0x554476;}})[_0x83e8('0x43')](function(_0x33a257){logger[_0x83e8('0x50')](_0x83e8('0x51'),_0x33a257);throw _0x33a257;});}return _0x554476;})[_0x83e8('0x23')](respondWithResult(_0x31a882,0xc9))[_0x83e8('0x43')](handleError(_0x31a882,null));};exports['update']=function(_0x43f5ba,_0x3a62e8){if(_0x43f5ba[_0x83e8('0x52')]['id']){delete _0x43f5ba[_0x83e8('0x52')]['id'];}return db[_0x83e8('0x2a')][_0x83e8('0x4c')]({'where':{'id':_0x43f5ba['params']['id']}})[_0x83e8('0x23')](handleEntityNotFound(_0x3a62e8,null))[_0x83e8('0x23')](saveUpdates(_0x43f5ba['body'],null))['then'](respondWithResult(_0x3a62e8,null))[_0x83e8('0x43')](handleError(_0x3a62e8,null));};exports['destroy']=function(_0x40d621,_0x24e8d8){return db['AnalyticExtractedReport']['find']({'where':{'id':_0x40d621[_0x83e8('0x53')]['id']}})[_0x83e8('0x23')](handleEntityNotFound(_0x24e8d8,null))[_0x83e8('0x23')](removeEntity(_0x24e8d8,null))[_0x83e8('0x43')](handleError(_0x24e8d8,null));};exports[_0x83e8('0x54')]=function(_0xfb348c,_0x58f3d8,_0x1fb5a7){return db[_0x83e8('0x2a')][_0x83e8('0x4c')]({'where':{'id':_0xfb348c[_0x83e8('0x53')]['id']},'attributes':[_0x83e8('0x28'),_0x83e8('0x55'),_0x83e8('0x56'),_0x83e8('0x57')],'raw':!![]})[_0x83e8('0x23')](handleEntityNotFound(_0x58f3d8,null))[_0x83e8('0x23')](function(_0x4bbc43){if(_0x4bbc43){if(!fs[_0x83e8('0x58')](path[_0x83e8('0x59')](config['root'],_0x83e8('0x5a'),_0x4bbc43[_0x83e8('0x56')]))){throw new db[(_0x83e8('0x5b'))]['ValidationError'](_0x83e8('0x5c'));}if(_0xfb348c[_0x83e8('0x2e')][_0x83e8('0x5d')]){return _0x58f3d8[_0x83e8('0x19')](0xc8);}return _0x58f3d8[_0x83e8('0x54')](path[_0x83e8('0x59')](config[_0x83e8('0x5e')],'server/files/reports',_0x4bbc43[_0x83e8('0x56')]),util['format'](_0x83e8('0x5f'),_0x4bbc43[_0x83e8('0x55')]||_0x4bbc43[_0x83e8('0x28')],_0x4bbc43[_0x83e8('0x57')]['toLowerCase']()));}})[_0x83e8('0x43')](handleError(_0x58f3d8,null));};