a39d8a7b0b15d9dd9d183df9b34840c6f7fabd71
[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 _0x90fb=['VIRTUAL','options','count','includeAll','include','findAll','rows','params','keys','find','create','body','catch','bulkCreate','destroy','bulkDestroy','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','html-pdf','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../mysqldb','sendStatus','status','json','offset','set','Content-Range','apply','reject','save','update','then','end','name','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x90fb,0xb6));var _0xb90f=function(_0x26a906,_0x3d135c){_0x26a906=_0x26a906-0x0;var _0x495575=_0x90fb[_0x26a906];return _0x495575;};'use strict';var pdf=require(_0xb90f('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb90f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xb90f('0x2'));var moment=require(_0xb90f('0x3'));var BPromise=require(_0xb90f('0x4'));var Mustache=require(_0xb90f('0x5'));var util=require(_0xb90f('0x6'));var path=require(_0xb90f('0x7'));var sox=require(_0xb90f('0x8'));var csv=require(_0xb90f('0x9'));var ejs=require(_0xb90f('0xa'));var fs=require('fs');var _=require(_0xb90f('0xb'));var squel=require(_0xb90f('0xc'));var crypto=require(_0xb90f('0xd'));var jsforce=require(_0xb90f('0xe'));var deskjs=require(_0xb90f('0xf'));var toCsv=require(_0xb90f('0x9'));var querystring=require('querystring');var Papa=require(_0xb90f('0x10'));var Redis=require(_0xb90f('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xb90f('0x12'));var as=require(_0xb90f('0x13'));var hardwareService=require(_0xb90f('0x14'));var logger=require('../../config/logger')(_0xb90f('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb90f('0x16'))['db'];function respondWithStatusCode(_0x1025d9,_0x57c8f5){_0x57c8f5=_0x57c8f5||0xcc;return function(_0x5149fe){if(_0x5149fe){return _0x1025d9[_0xb90f('0x17')](_0x57c8f5);}return _0x1025d9[_0xb90f('0x18')](_0x57c8f5)['end']();};}function respondWithResult(_0x37d95a,_0x4155e3){_0x4155e3=_0x4155e3||0xc8;return function(_0x1679d1){if(_0x1679d1){return _0x37d95a[_0xb90f('0x18')](_0x4155e3)[_0xb90f('0x19')](_0x1679d1);}};}function respondWithFilteredResult(_0x1d1502,_0x327233){return function(_0x28491d){if(_0x28491d){var _0x16cd6a=_0x28491d['count'],_0x744483=_0x327233[_0xb90f('0x1a')],_0x3066bc=_0x327233[_0xb90f('0x1a')]+_0x327233['limit'],_0xe34896;if(_0x3066bc>=_0x16cd6a){_0x3066bc=_0x16cd6a;_0xe34896=0xc8;}else{_0xe34896=0xce;}_0x1d1502[_0xb90f('0x18')](_0xe34896);return _0x1d1502[_0xb90f('0x1b')](_0xb90f('0x1c'),_0x744483+'-'+_0x3066bc+'/'+_0x16cd6a)[_0xb90f('0x19')](_0x28491d);}return null;};}function patchUpdates(_0xacb310){return function(_0x35bb9c){try{jsonpatch[_0xb90f('0x1d')](_0x35bb9c,_0xacb310,!![]);}catch(_0x116cfe){return BPromise[_0xb90f('0x1e')](_0x116cfe);}return _0x35bb9c[_0xb90f('0x1f')]();};}function saveUpdates(_0x4d3ca3,_0x128156){return function(_0x20272d){if(_0x20272d){return _0x20272d[_0xb90f('0x20')](_0x4d3ca3)[_0xb90f('0x21')](function(_0x4a4938){return _0x4a4938;});}return null;};}function removeEntity(_0x127c58,_0x1b27e9){return function(_0x4fe8c8){if(_0x4fe8c8){return _0x4fe8c8['destroy']()[_0xb90f('0x21')](function(){_0x127c58[_0xb90f('0x18')](0xcc)[_0xb90f('0x22')]();});}};}function handleEntityNotFound(_0x4e6976,_0xddc54b){return function(_0x4f80e5){if(!_0x4f80e5){_0x4e6976[_0xb90f('0x17')](0x194);}return _0x4f80e5;};}function handleError(_0x2ffcf3,_0xd1a4c2){_0xd1a4c2=_0xd1a4c2||0x1f4;return function(_0x916bfa){logger['error'](_0x916bfa['stack']);if(_0x916bfa[_0xb90f('0x23')]){delete _0x916bfa[_0xb90f('0x23')];}_0x2ffcf3[_0xb90f('0x18')](_0xd1a4c2)['send'](_0x916bfa);};}exports['index']=function(_0xf4aad6,_0x231ffe){var _0x733475={},_0x144a9a={},_0x157a17={'count':0x0,'rows':[]};var _0x1f6392=_['map'](db[_0xb90f('0x24')][_0xb90f('0x25')],function(_0x4773eb){return{'name':_0x4773eb[_0xb90f('0x26')],'type':_0x4773eb[_0xb90f('0x27')][_0xb90f('0x28')]};});_0x144a9a[_0xb90f('0x29')]=_[_0xb90f('0x2a')](_0x1f6392,_0xb90f('0x23'));_0x144a9a[_0xb90f('0x2b')]=_['keys'](_0xf4aad6[_0xb90f('0x2b')]);_0x144a9a[_0xb90f('0x2c')]=_[_0xb90f('0x2d')](_0x144a9a[_0xb90f('0x29')],_0x144a9a['query']);_0x733475['attributes']=_[_0xb90f('0x2d')](_0x144a9a[_0xb90f('0x29')],qs[_0xb90f('0x2e')](_0xf4aad6[_0xb90f('0x2b')]['fields']));_0x733475[_0xb90f('0x2f')]=_0x733475[_0xb90f('0x2f')][_0xb90f('0x30')]?_0x733475[_0xb90f('0x2f')]:_0x144a9a[_0xb90f('0x29')];if(!_0xf4aad6[_0xb90f('0x2b')][_0xb90f('0x31')](_0xb90f('0x32'))){_0x733475['limit']=qs[_0xb90f('0x33')](_0xf4aad6[_0xb90f('0x2b')][_0xb90f('0x33')]);_0x733475[_0xb90f('0x1a')]=qs[_0xb90f('0x1a')](_0xf4aad6[_0xb90f('0x2b')][_0xb90f('0x1a')]);}_0x733475[_0xb90f('0x34')]=qs[_0xb90f('0x35')](_0xf4aad6['query']['sort']);_0x733475['where']=qs[_0xb90f('0x2c')](_[_0xb90f('0x36')](_0xf4aad6[_0xb90f('0x2b')],_0x144a9a['filters']),_0x1f6392);if(_0xf4aad6[_0xb90f('0x2b')][_0xb90f('0x37')]){_0x733475[_0xb90f('0x38')]=_[_0xb90f('0x39')](_0x733475[_0xb90f('0x38')],{'$or':_[_0xb90f('0x2a')](_0x1f6392,function(_0x1677db){if(_0x1677db['type']!==_0xb90f('0x3a')){var _0x433627={};_0x433627[_0x1677db[_0xb90f('0x23')]]={'$like':'%'+_0xf4aad6[_0xb90f('0x2b')][_0xb90f('0x37')]+'%'};return _0x433627;}})});}_0x733475=_[_0xb90f('0x39')]({},_0x733475,_0xf4aad6[_0xb90f('0x3b')]);var _0x1fdddc={'where':_0x733475[_0xb90f('0x38')]};return db[_0xb90f('0x24')][_0xb90f('0x3c')](_0x1fdddc)[_0xb90f('0x21')](function(_0x208e51){_0x157a17['count']=_0x208e51;if(_0xf4aad6[_0xb90f('0x2b')][_0xb90f('0x3d')]){_0x733475[_0xb90f('0x3e')]=[{'all':!![]}];}return db[_0xb90f('0x24')][_0xb90f('0x3f')](_0x733475);})['then'](function(_0x47d30b){_0x157a17[_0xb90f('0x40')]=_0x47d30b;return _0x157a17;})[_0xb90f('0x21')](respondWithFilteredResult(_0x231ffe,_0x733475))['catch'](handleError(_0x231ffe,null));};exports['show']=function(_0x41640f,_0x44f7a){var _0x72abb9={'raw':![],'where':{'id':_0x41640f[_0xb90f('0x41')]['id']}},_0x2dda68={};_0x2dda68[_0xb90f('0x29')]=_[_0xb90f('0x42')](db[_0xb90f('0x24')][_0xb90f('0x25')]);_0x2dda68['query']=_[_0xb90f('0x42')](_0x41640f['query']);_0x2dda68[_0xb90f('0x2c')]=_[_0xb90f('0x2d')](_0x2dda68['model'],_0x2dda68[_0xb90f('0x2b')]);_0x72abb9['attributes']=_[_0xb90f('0x2d')](_0x2dda68['model'],qs[_0xb90f('0x2e')](_0x41640f['query'][_0xb90f('0x2e')]));_0x72abb9[_0xb90f('0x2f')]=_0x72abb9['attributes']['length']?_0x72abb9[_0xb90f('0x2f')]:_0x2dda68[_0xb90f('0x29')];if(_0x41640f[_0xb90f('0x2b')][_0xb90f('0x3d')]){_0x72abb9[_0xb90f('0x3e')]=[{'all':!![]}];}_0x72abb9=_[_0xb90f('0x39')]({},_0x72abb9,_0x41640f[_0xb90f('0x3b')]);return db[_0xb90f('0x24')][_0xb90f('0x43')](_0x72abb9)[_0xb90f('0x21')](handleEntityNotFound(_0x44f7a,null))[_0xb90f('0x21')](respondWithResult(_0x44f7a,null))['catch'](handleError(_0x44f7a,null));};exports[_0xb90f('0x44')]=function(_0x778b1a,_0x2d44db){return db['AnalyticFieldReport'][_0xb90f('0x44')](_0x778b1a[_0xb90f('0x45')],{})[_0xb90f('0x21')](respondWithResult(_0x2d44db,0xc9))[_0xb90f('0x46')](handleError(_0x2d44db,null));};exports[_0xb90f('0x47')]=function(_0x5b6d0a,_0x7b11b1){return db[_0xb90f('0x24')]['bulkCreate'](_0x5b6d0a[_0xb90f('0x45')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x7b11b1,0xc9))['catch'](handleError(_0x7b11b1,null));};exports[_0xb90f('0x20')]=function(_0x1b91f8,_0x1a2130){if(_0x1b91f8[_0xb90f('0x45')]['id']){delete _0x1b91f8['body']['id'];}return db[_0xb90f('0x24')][_0xb90f('0x43')]({'where':{'id':_0x1b91f8['params']['id']}})[_0xb90f('0x21')](handleEntityNotFound(_0x1a2130,null))[_0xb90f('0x21')](saveUpdates(_0x1b91f8['body'],null))[_0xb90f('0x21')](respondWithResult(_0x1a2130,null))['catch'](handleError(_0x1a2130,null));};exports[_0xb90f('0x48')]=function(_0x560bf7,_0x141828){return db[_0xb90f('0x24')][_0xb90f('0x43')]({'where':{'id':_0x560bf7[_0xb90f('0x41')]['id']}})['then'](handleEntityNotFound(_0x141828,null))['then'](removeEntity(_0x141828,null))['catch'](handleError(_0x141828,null));};exports[_0xb90f('0x49')]=function(_0x28c15c,_0x26fafb){return db[_0xb90f('0x24')][_0xb90f('0x48')]({'where':{'id':_0x28c15c['query']['ids']||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x26fafb,0xcc))[_0xb90f('0x46')](handleError(_0x26fafb,null));};exports[_0xb90f('0x4a')]=function(_0x365760,_0x4bce62,_0x2d279c){return db[_0xb90f('0x4b')][_0xb90f('0x4c')]({'where':{'id':_0x365760[_0xb90f('0x41')]['id']}})[_0xb90f('0x21')](handleEntityNotFound(_0x4bce62,null))[_0xb90f('0x21')](function(_0x19397f){if(_0x19397f){return db[_0xb90f('0x4d')][_0xb90f('0x4e')](function(_0x565d29){return db[_0xb90f('0x24')][_0xb90f('0x48')]({'where':{'CustomReportId':_0x365760[_0xb90f('0x41')]['id']},'transaction':_0x565d29})['then'](function(_0x2999ec){var _0x175d56=_[_0xb90f('0x2a')](_0x365760[_0xb90f('0x45')],function(_0x2c2792){delete _0x2c2792['id'];_0x2c2792[_0xb90f('0x4f')]=_0x365760[_0xb90f('0x41')]['id'];return _0x2c2792;});return db[_0xb90f('0x24')][_0xb90f('0x47')](_0x175d56,{'transaction':_0x565d29});});})[_0xb90f('0x21')](function(){return db['AnalyticFieldReport'][_0xb90f('0x3f')]({'where':{'CustomReportId':_0x365760[_0xb90f('0x41')]['id']}});});}})[_0xb90f('0x21')](respondWithResult(_0x4bce62,null))['catch'](handleError(_0x4bce62,null));};