Built motion from commit da617fac.|2.6.6
[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 _0xd3c3=['../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','map','AnalyticFieldReport','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','find','create','bulkCreate','body','AnalyticCustomReport','findOne','sequelize','CustomReportId','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x3a0c4f,_0x5dd1a3){var _0x247049=function(_0x144695){while(--_0x144695){_0x3a0c4f['push'](_0x3a0c4f['shift']());}};_0x247049(++_0x5dd1a3);}(_0xd3c3,0x16c));var _0x3d3c=function(_0x7aad0b,_0x1cbbcc){_0x7aad0b=_0x7aad0b-0x0;var _0x39dbe7=_0xd3c3[_0x7aad0b];return _0x39dbe7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3d3c('0x0'));var zipdir=require(_0x3d3c('0x1'));var jsonpatch=require(_0x3d3c('0x2'));var rp=require(_0x3d3c('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3d3c('0x4'));var util=require('util');var path=require(_0x3d3c('0x5'));var sox=require(_0x3d3c('0x6'));var csv=require(_0x3d3c('0x7'));var ejs=require(_0x3d3c('0x8'));var fs=require('fs');var fs_extra=require(_0x3d3c('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x3d3c('0xa'));var jsforce=require(_0x3d3c('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x3d3c('0x7'));var querystring=require('querystring');var Papa=require(_0x3d3c('0xc'));var Redis=require(_0x3d3c('0xd'));var authService=require(_0x3d3c('0xe'));var qs=require(_0x3d3c('0xf'));var as=require(_0x3d3c('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3d3c('0x11'))('api');var utils=require(_0x3d3c('0x12'));var config=require(_0x3d3c('0x13'));var licenseUtil=require(_0x3d3c('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1d6459,_0x4ad449){_0x4ad449=_0x4ad449||0xcc;return function(_0x4545fc){if(_0x4545fc){return _0x1d6459[_0x3d3c('0x15')](_0x4ad449);}return _0x1d6459[_0x3d3c('0x16')](_0x4ad449)[_0x3d3c('0x17')]();};}function respondWithResult(_0x7e89fd,_0x3d0e76){_0x3d0e76=_0x3d0e76||0xc8;return function(_0x1f4dae){if(_0x1f4dae){return _0x7e89fd[_0x3d3c('0x16')](_0x3d0e76)[_0x3d3c('0x18')](_0x1f4dae);}};}function respondWithFilteredResult(_0x3efe96,_0x3b5ef1){return function(_0x49c367){if(_0x49c367){var _0x22e35e=typeof _0x3b5ef1[_0x3d3c('0x19')]===_0x3d3c('0x1a')&&typeof _0x3b5ef1['limit']===_0x3d3c('0x1a');var _0x298526=_0x49c367[_0x3d3c('0x1b')];var _0x351551=_0x22e35e?0x0:_0x3b5ef1[_0x3d3c('0x19')];var _0x31bed7=_0x22e35e?_0x49c367[_0x3d3c('0x1b')]:_0x3b5ef1[_0x3d3c('0x19')]+_0x3b5ef1['limit'];var _0x13fb0a;if(_0x31bed7>=_0x298526){_0x31bed7=_0x298526;_0x13fb0a=0xc8;}else{_0x13fb0a=0xce;}_0x3efe96[_0x3d3c('0x16')](_0x13fb0a);return _0x3efe96[_0x3d3c('0x1c')](_0x3d3c('0x1d'),_0x351551+'-'+_0x31bed7+'/'+_0x298526)['json'](_0x49c367);}return null;};}function patchUpdates(_0x958550){return function(_0x570eb8){try{jsonpatch[_0x3d3c('0x1e')](_0x570eb8,_0x958550,!![]);}catch(_0x58692a){return BPromise[_0x3d3c('0x1f')](_0x58692a);}return _0x570eb8[_0x3d3c('0x20')]();};}function saveUpdates(_0x185bcd,_0x41862f){return function(_0x29d818){if(_0x29d818){return _0x29d818[_0x3d3c('0x21')](_0x185bcd)[_0x3d3c('0x22')](function(_0x59ae0c){return _0x59ae0c;});}return null;};}function removeEntity(_0x4d42a5,_0x48ecfd){return function(_0x4a686a){if(_0x4a686a){return _0x4a686a[_0x3d3c('0x23')]()[_0x3d3c('0x22')](function(){_0x4d42a5[_0x3d3c('0x16')](0xcc)[_0x3d3c('0x17')]();});}};}function handleEntityNotFound(_0x499480,_0x3fd41e){return function(_0x45cfce){if(!_0x45cfce){_0x499480['sendStatus'](0x194);}return _0x45cfce;};}function handleError(_0x5d62bb,_0x34c020){_0x34c020=_0x34c020||0x1f4;return function(_0x202cee){logger[_0x3d3c('0x24')](_0x202cee[_0x3d3c('0x25')]);if(_0x202cee['name']){delete _0x202cee[_0x3d3c('0x26')];}_0x5d62bb[_0x3d3c('0x16')](_0x34c020)[_0x3d3c('0x27')](_0x202cee);};}exports['index']=function(_0x203f94,_0x4164c0){var _0x6fa54c={},_0x2b1522={},_0x5e98f2={'count':0x0,'rows':[]};var _0x194a30=_[_0x3d3c('0x28')](db[_0x3d3c('0x29')][_0x3d3c('0x2a')],function(_0x3fe718){return{'name':_0x3fe718['fieldName'],'type':_0x3fe718[_0x3d3c('0x2b')][_0x3d3c('0x2c')]};});_0x2b1522[_0x3d3c('0x2d')]=_[_0x3d3c('0x28')](_0x194a30,'name');_0x2b1522[_0x3d3c('0x2e')]=_[_0x3d3c('0x2f')](_0x203f94[_0x3d3c('0x2e')]);_0x2b1522[_0x3d3c('0x30')]=_[_0x3d3c('0x31')](_0x2b1522['model'],_0x2b1522['query']);_0x6fa54c[_0x3d3c('0x32')]=_['intersection'](_0x2b1522[_0x3d3c('0x2d')],qs[_0x3d3c('0x33')](_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x33')]));_0x6fa54c[_0x3d3c('0x32')]=_0x6fa54c[_0x3d3c('0x32')][_0x3d3c('0x34')]?_0x6fa54c[_0x3d3c('0x32')]:_0x2b1522[_0x3d3c('0x2d')];if(!_0x203f94[_0x3d3c('0x2e')]['hasOwnProperty'](_0x3d3c('0x35'))){_0x6fa54c[_0x3d3c('0x36')]=qs[_0x3d3c('0x36')](_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x36')]);_0x6fa54c[_0x3d3c('0x19')]=qs[_0x3d3c('0x19')](_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x19')]);}_0x6fa54c[_0x3d3c('0x37')]=qs[_0x3d3c('0x38')](_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x38')]);_0x6fa54c['where']=qs[_0x3d3c('0x30')](_[_0x3d3c('0x39')](_0x203f94[_0x3d3c('0x2e')],_0x2b1522[_0x3d3c('0x30')]),_0x194a30);if(_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x3a')]){_0x6fa54c[_0x3d3c('0x3b')]=_[_0x3d3c('0x3c')](_0x6fa54c[_0x3d3c('0x3b')],{'$or':_[_0x3d3c('0x28')](_0x194a30,function(_0x5836ef){if(_0x5836ef['type']!==_0x3d3c('0x3d')){var _0x5f1b74={};_0x5f1b74[_0x5836ef['name']]={'$like':'%'+_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x3a')]+'%'};return _0x5f1b74;}})});}_0x6fa54c=_[_0x3d3c('0x3c')]({},_0x6fa54c,_0x203f94[_0x3d3c('0x3e')]);var _0x56bbe7={'where':_0x6fa54c[_0x3d3c('0x3b')]};return db[_0x3d3c('0x29')][_0x3d3c('0x1b')](_0x56bbe7)[_0x3d3c('0x22')](function(_0x254282){_0x5e98f2[_0x3d3c('0x1b')]=_0x254282;if(_0x203f94[_0x3d3c('0x2e')][_0x3d3c('0x3f')]){_0x6fa54c['include']=[{'all':!![]}];}return db[_0x3d3c('0x29')][_0x3d3c('0x40')](_0x6fa54c);})['then'](function(_0x113cc0){_0x5e98f2[_0x3d3c('0x41')]=_0x113cc0;return _0x5e98f2;})[_0x3d3c('0x22')](respondWithFilteredResult(_0x4164c0,_0x6fa54c))[_0x3d3c('0x42')](handleError(_0x4164c0,null));};exports['show']=function(_0x2cea50,_0x27924c){var _0x280759={'raw':![],'where':{'id':_0x2cea50[_0x3d3c('0x43')]['id']}},_0x43093e={};_0x43093e[_0x3d3c('0x2d')]=_[_0x3d3c('0x2f')](db[_0x3d3c('0x29')][_0x3d3c('0x2a')]);_0x43093e[_0x3d3c('0x2e')]=_[_0x3d3c('0x2f')](_0x2cea50['query']);_0x43093e[_0x3d3c('0x30')]=_['intersection'](_0x43093e['model'],_0x43093e['query']);_0x280759[_0x3d3c('0x32')]=_[_0x3d3c('0x31')](_0x43093e[_0x3d3c('0x2d')],qs[_0x3d3c('0x33')](_0x2cea50['query']['fields']));_0x280759['attributes']=_0x280759['attributes'][_0x3d3c('0x34')]?_0x280759[_0x3d3c('0x32')]:_0x43093e[_0x3d3c('0x2d')];if(_0x2cea50[_0x3d3c('0x2e')][_0x3d3c('0x3f')]){_0x280759['include']=[{'all':!![]}];}_0x280759=_[_0x3d3c('0x3c')]({},_0x280759,_0x2cea50[_0x3d3c('0x3e')]);return db[_0x3d3c('0x29')][_0x3d3c('0x44')](_0x280759)[_0x3d3c('0x22')](handleEntityNotFound(_0x27924c,null))[_0x3d3c('0x22')](respondWithResult(_0x27924c,null))['catch'](handleError(_0x27924c,null));};exports[_0x3d3c('0x45')]=function(_0x42ab1a,_0x7e93b){return db[_0x3d3c('0x29')][_0x3d3c('0x45')](_0x42ab1a['body'],{})[_0x3d3c('0x22')](respondWithResult(_0x7e93b,0xc9))[_0x3d3c('0x42')](handleError(_0x7e93b,null));};exports[_0x3d3c('0x46')]=function(_0x1d6231,_0x3f5b0b){return db['AnalyticFieldReport'][_0x3d3c('0x46')](_0x1d6231[_0x3d3c('0x47')],{'raw':![],'individualHooks':!![]})[_0x3d3c('0x22')](respondWithResult(_0x3f5b0b,0xc9))[_0x3d3c('0x42')](handleError(_0x3f5b0b,null));};exports[_0x3d3c('0x21')]=function(_0x599959,_0x19b16c){if(_0x599959[_0x3d3c('0x47')]['id']){delete _0x599959[_0x3d3c('0x47')]['id'];}return db[_0x3d3c('0x29')][_0x3d3c('0x44')]({'where':{'id':_0x599959['params']['id']}})[_0x3d3c('0x22')](handleEntityNotFound(_0x19b16c,null))[_0x3d3c('0x22')](saveUpdates(_0x599959['body'],null))[_0x3d3c('0x22')](respondWithResult(_0x19b16c,null))[_0x3d3c('0x42')](handleError(_0x19b16c,null));};exports[_0x3d3c('0x23')]=function(_0x3ac25e,_0x471268){return db['AnalyticFieldReport'][_0x3d3c('0x44')]({'where':{'id':_0x3ac25e['params']['id']}})['then'](handleEntityNotFound(_0x471268,null))[_0x3d3c('0x22')](removeEntity(_0x471268,null))[_0x3d3c('0x42')](handleError(_0x471268,null));};exports['bulkDestroy']=function(_0x1564dc,_0x445d21){return db[_0x3d3c('0x29')][_0x3d3c('0x23')]({'where':{'id':_0x1564dc['query']['ids']||[]},'raw':![],'individualHooks':!![]})[_0x3d3c('0x22')](respondWithResult(_0x445d21,0xcc))[_0x3d3c('0x42')](handleError(_0x445d21,null));};exports['addFields']=function(_0x4531f1,_0xbcc20f,_0x14508f){return db[_0x3d3c('0x48')][_0x3d3c('0x49')]({'where':{'id':_0x4531f1[_0x3d3c('0x43')]['id']}})[_0x3d3c('0x22')](handleEntityNotFound(_0xbcc20f,null))[_0x3d3c('0x22')](function(_0x1d93a2){if(_0x1d93a2){return db[_0x3d3c('0x4a')]['transaction'](function(_0x1cee91){return db[_0x3d3c('0x29')][_0x3d3c('0x23')]({'where':{'CustomReportId':_0x4531f1['params']['id']},'transaction':_0x1cee91})['then'](function(_0x32e324){var _0x35167c=_[_0x3d3c('0x28')](_0x4531f1['body'],function(_0x4c9745){delete _0x4c9745['id'];_0x4c9745[_0x3d3c('0x4b')]=_0x4531f1[_0x3d3c('0x43')]['id'];return _0x4c9745;});return db[_0x3d3c('0x29')][_0x3d3c('0x46')](_0x35167c,{'transaction':_0x1cee91});});})[_0x3d3c('0x22')](function(){return db['AnalyticFieldReport'][_0x3d3c('0x40')]({'where':{'CustomReportId':_0x4531f1[_0x3d3c('0x43')]['id']}});});}})[_0x3d3c('0x22')](respondWithResult(_0xbcc20f,null))[_0x3d3c('0x42')](handleError(_0xbcc20f,null));};