9a3f26ff8abc38247f96de7f5787a7574171559b
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.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 _0x7288=['includeAll','include','findAll','rows','catch','params','find','create','bulkCreate','body','bulkDestroy','ids','AnalyticCustomReport','sequelize','transaction','CustomReportId','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','index','AnalyticFieldReport','rawAttributes','type','key','model','map','keys','intersection','fields','attributes','length','query','nolimit','limit','order','where','filters','pick','merge','VIRTUAL','filter','options'];(function(_0x45171f,_0x3d9457){var _0x3d0c0b=function(_0x59c310){while(--_0x59c310){_0x45171f['push'](_0x45171f['shift']());}};_0x3d0c0b(++_0x3d9457);}(_0x7288,0x144));var _0x8728=function(_0x18f3bf,_0x178de0){_0x18f3bf=_0x18f3bf-0x0;var _0x5690d2=_0x7288[_0x18f3bf];return _0x5690d2;};'use strict';var pdf=require(_0x8728('0x0'));var emlformat=require(_0x8728('0x1'));var rimraf=require(_0x8728('0x2'));var zipdir=require(_0x8728('0x3'));var jsonpatch=require(_0x8728('0x4'));var rp=require('request-promise');var moment=require(_0x8728('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x8728('0x6'));var util=require('util');var path=require('path');var sox=require(_0x8728('0x7'));var csv=require(_0x8728('0x8'));var ejs=require(_0x8728('0x9'));var fs=require('fs');var _=require(_0x8728('0xa'));var squel=require('squel');var crypto=require(_0x8728('0xb'));var jsforce=require(_0x8728('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x8728('0x8'));var querystring=require(_0x8728('0xd'));var Papa=require(_0x8728('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8728('0xf'));var as=require(_0x8728('0x10'));var hardwareService=require(_0x8728('0x11'));var logger=require(_0x8728('0x12'))('api');var utils=require(_0x8728('0x13'));var config=require(_0x8728('0x14'));var db=require(_0x8728('0x15'))['db'];function respondWithStatusCode(_0x49d952,_0x219cbd){_0x219cbd=_0x219cbd||0xcc;return function(_0x764595){if(_0x764595){return _0x49d952[_0x8728('0x16')](_0x219cbd);}return _0x49d952[_0x8728('0x17')](_0x219cbd)[_0x8728('0x18')]();};}function respondWithResult(_0x224270,_0x57832e){_0x57832e=_0x57832e||0xc8;return function(_0x21768a){if(_0x21768a){return _0x224270[_0x8728('0x17')](_0x57832e)[_0x8728('0x19')](_0x21768a);}};}function respondWithFilteredResult(_0x9e6683,_0x150cc2){return function(_0x55c8c3){if(_0x55c8c3){var _0xb6e69c=_0x55c8c3[_0x8728('0x1a')],_0x27b91d=_0x150cc2[_0x8728('0x1b')],_0x11f9e3=_0x150cc2['offset']+_0x150cc2['limit'],_0x50c985;if(_0x11f9e3>=_0xb6e69c){_0x11f9e3=_0xb6e69c;_0x50c985=0xc8;}else{_0x50c985=0xce;}_0x9e6683[_0x8728('0x17')](_0x50c985);return _0x9e6683[_0x8728('0x1c')](_0x8728('0x1d'),_0x27b91d+'-'+_0x11f9e3+'/'+_0xb6e69c)[_0x8728('0x19')](_0x55c8c3);}return null;};}function patchUpdates(_0x406c05){return function(_0x74c0d2){try{jsonpatch[_0x8728('0x1e')](_0x74c0d2,_0x406c05,!![]);}catch(_0x26ad7d){return BPromise[_0x8728('0x1f')](_0x26ad7d);}return _0x74c0d2[_0x8728('0x20')]();};}function saveUpdates(_0x364034,_0x3e18e6){return function(_0xaaf9f){if(_0xaaf9f){return _0xaaf9f[_0x8728('0x21')](_0x364034)[_0x8728('0x22')](function(_0xb0278d){return _0xb0278d;});}return null;};}function removeEntity(_0x5ad95c,_0x599ec4){return function(_0x1400b9){if(_0x1400b9){return _0x1400b9[_0x8728('0x23')]()[_0x8728('0x22')](function(){_0x5ad95c[_0x8728('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x545809,_0x46fe40){return function(_0x89d7d8){if(!_0x89d7d8){_0x545809[_0x8728('0x16')](0x194);}return _0x89d7d8;};}function handleError(_0x2b6f2f,_0x3cf226){_0x3cf226=_0x3cf226||0x1f4;return function(_0x27e9bd){logger['error'](_0x27e9bd[_0x8728('0x24')]);if(_0x27e9bd[_0x8728('0x25')]){delete _0x27e9bd[_0x8728('0x25')];}_0x2b6f2f[_0x8728('0x17')](_0x3cf226)['send'](_0x27e9bd);};}exports[_0x8728('0x26')]=function(_0x407568,_0x317521){var _0x105913={},_0x13c8e3={},_0x105abf={'count':0x0,'rows':[]};var _0x286389=_['map'](db[_0x8728('0x27')][_0x8728('0x28')],function(_0xc110c4){return{'name':_0xc110c4['fieldName'],'type':_0xc110c4[_0x8728('0x29')][_0x8728('0x2a')]};});_0x13c8e3[_0x8728('0x2b')]=_[_0x8728('0x2c')](_0x286389,_0x8728('0x25'));_0x13c8e3['query']=_[_0x8728('0x2d')](_0x407568['query']);_0x13c8e3['filters']=_[_0x8728('0x2e')](_0x13c8e3[_0x8728('0x2b')],_0x13c8e3['query']);_0x105913['attributes']=_[_0x8728('0x2e')](_0x13c8e3[_0x8728('0x2b')],qs[_0x8728('0x2f')](_0x407568['query']['fields']));_0x105913[_0x8728('0x30')]=_0x105913[_0x8728('0x30')][_0x8728('0x31')]?_0x105913['attributes']:_0x13c8e3[_0x8728('0x2b')];if(!_0x407568[_0x8728('0x32')]['hasOwnProperty'](_0x8728('0x33'))){_0x105913[_0x8728('0x34')]=qs[_0x8728('0x34')](_0x407568[_0x8728('0x32')][_0x8728('0x34')]);_0x105913[_0x8728('0x1b')]=qs['offset'](_0x407568[_0x8728('0x32')][_0x8728('0x1b')]);}_0x105913[_0x8728('0x35')]=qs['sort'](_0x407568[_0x8728('0x32')]['sort']);_0x105913[_0x8728('0x36')]=qs[_0x8728('0x37')](_[_0x8728('0x38')](_0x407568[_0x8728('0x32')],_0x13c8e3['filters']),_0x286389);if(_0x407568[_0x8728('0x32')]['filter']){_0x105913[_0x8728('0x36')]=_[_0x8728('0x39')](_0x105913[_0x8728('0x36')],{'$or':_[_0x8728('0x2c')](_0x286389,function(_0x29f48e){if(_0x29f48e[_0x8728('0x29')]!==_0x8728('0x3a')){var _0xcd18da={};_0xcd18da[_0x29f48e[_0x8728('0x25')]]={'$like':'%'+_0x407568[_0x8728('0x32')][_0x8728('0x3b')]+'%'};return _0xcd18da;}})});}_0x105913=_[_0x8728('0x39')]({},_0x105913,_0x407568[_0x8728('0x3c')]);var _0x5be3ad={'where':_0x105913['where']};return db[_0x8728('0x27')]['count'](_0x5be3ad)[_0x8728('0x22')](function(_0x26d99f){_0x105abf[_0x8728('0x1a')]=_0x26d99f;if(_0x407568[_0x8728('0x32')][_0x8728('0x3d')]){_0x105913[_0x8728('0x3e')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x8728('0x3f')](_0x105913);})['then'](function(_0xbae6fd){_0x105abf[_0x8728('0x40')]=_0xbae6fd;return _0x105abf;})[_0x8728('0x22')](respondWithFilteredResult(_0x317521,_0x105913))[_0x8728('0x41')](handleError(_0x317521,null));};exports['show']=function(_0x425be8,_0x1944c5){var _0x48ed9f={'raw':![],'where':{'id':_0x425be8[_0x8728('0x42')]['id']}},_0x33b3e0={};_0x33b3e0['model']=_[_0x8728('0x2d')](db[_0x8728('0x27')][_0x8728('0x28')]);_0x33b3e0[_0x8728('0x32')]=_['keys'](_0x425be8[_0x8728('0x32')]);_0x33b3e0[_0x8728('0x37')]=_[_0x8728('0x2e')](_0x33b3e0[_0x8728('0x2b')],_0x33b3e0['query']);_0x48ed9f[_0x8728('0x30')]=_[_0x8728('0x2e')](_0x33b3e0[_0x8728('0x2b')],qs[_0x8728('0x2f')](_0x425be8[_0x8728('0x32')][_0x8728('0x2f')]));_0x48ed9f[_0x8728('0x30')]=_0x48ed9f[_0x8728('0x30')]['length']?_0x48ed9f[_0x8728('0x30')]:_0x33b3e0[_0x8728('0x2b')];if(_0x425be8['query'][_0x8728('0x3d')]){_0x48ed9f[_0x8728('0x3e')]=[{'all':!![]}];}_0x48ed9f=_[_0x8728('0x39')]({},_0x48ed9f,_0x425be8[_0x8728('0x3c')]);return db[_0x8728('0x27')][_0x8728('0x43')](_0x48ed9f)[_0x8728('0x22')](handleEntityNotFound(_0x1944c5,null))[_0x8728('0x22')](respondWithResult(_0x1944c5,null))[_0x8728('0x41')](handleError(_0x1944c5,null));};exports[_0x8728('0x44')]=function(_0x821845,_0x2c50ff){return db[_0x8728('0x27')][_0x8728('0x44')](_0x821845['body'],{})[_0x8728('0x22')](respondWithResult(_0x2c50ff,0xc9))['catch'](handleError(_0x2c50ff,null));};exports['bulkCreate']=function(_0x10c4bc,_0x8f79f8){return db[_0x8728('0x27')][_0x8728('0x45')](_0x10c4bc[_0x8728('0x46')],{'raw':![],'individualHooks':!![]})[_0x8728('0x22')](respondWithResult(_0x8f79f8,0xc9))[_0x8728('0x41')](handleError(_0x8f79f8,null));};exports[_0x8728('0x21')]=function(_0x4a587b,_0x66520a){if(_0x4a587b[_0x8728('0x46')]['id']){delete _0x4a587b[_0x8728('0x46')]['id'];}return db[_0x8728('0x27')][_0x8728('0x43')]({'where':{'id':_0x4a587b[_0x8728('0x42')]['id']}})[_0x8728('0x22')](handleEntityNotFound(_0x66520a,null))['then'](saveUpdates(_0x4a587b[_0x8728('0x46')],null))[_0x8728('0x22')](respondWithResult(_0x66520a,null))['catch'](handleError(_0x66520a,null));};exports[_0x8728('0x23')]=function(_0x214245,_0x17b995){return db[_0x8728('0x27')][_0x8728('0x43')]({'where':{'id':_0x214245[_0x8728('0x42')]['id']}})[_0x8728('0x22')](handleEntityNotFound(_0x17b995,null))[_0x8728('0x22')](removeEntity(_0x17b995,null))[_0x8728('0x41')](handleError(_0x17b995,null));};exports[_0x8728('0x47')]=function(_0x2ea82d,_0x27985f){return db[_0x8728('0x27')][_0x8728('0x23')]({'where':{'id':_0x2ea82d[_0x8728('0x32')][_0x8728('0x48')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x27985f,0xcc))[_0x8728('0x41')](handleError(_0x27985f,null));};exports['addFields']=function(_0xf74868,_0x2c09d6,_0x497bb9){return db[_0x8728('0x49')]['findOne']({'where':{'id':_0xf74868[_0x8728('0x42')]['id']}})[_0x8728('0x22')](handleEntityNotFound(_0x2c09d6,null))[_0x8728('0x22')](function(_0x3a0149){if(_0x3a0149){return db[_0x8728('0x4a')][_0x8728('0x4b')](function(_0x56bf9b){return db[_0x8728('0x27')][_0x8728('0x23')]({'where':{'CustomReportId':_0xf74868['params']['id']},'transaction':_0x56bf9b})['then'](function(_0x5200d2){var _0x4b108b=_['map'](_0xf74868[_0x8728('0x46')],function(_0x62b2b7){delete _0x62b2b7['id'];_0x62b2b7[_0x8728('0x4c')]=_0xf74868[_0x8728('0x42')]['id'];return _0x62b2b7;});return db[_0x8728('0x27')]['bulkCreate'](_0x4b108b,{'transaction':_0x56bf9b});});})[_0x8728('0x22')](function(){return db[_0x8728('0x27')]['findAll']({'where':{'CustomReportId':_0xf74868['params']['id']}});});}})['then'](respondWithResult(_0x2c09d6,null))[_0x8728('0x41')](handleError(_0x2c09d6,null));};