@ -25,58 +25,50 @@ MapConfigOverviewsAdapter.prototype.getMapConfig = function (user, requestMapCon
layers . forEach ( layer => augmentLayersQueue . defer ( this . _augmentLayer . bind ( this ) , user , layer , analysesResults ) ) ;
augmentLayersQueue . awaitAll ( function layersAugmentQueueFinish ( err , result s) {
augmentLayersQueue . awaitAll ( function layersAugmentQueueFinish ( err , layer s) {
if ( err ) {
return callback ( err ) ;
}
const layers = results . map ( result => result . layer ) ;
const overviewsAddedToMapconfig = results . some ( result => result . overviewsAddedToMapconfig ) ;
if ( ! layers || layers . length === 0 ) {
return callback ( new Error ( 'Missing layers array from layergroup config' ) ) ;
}
requestMapConfig . layers = layers ;
const stats = { overviewsAddedToMapconfig } ;
return callback ( null , requestMapConfig , stats ) ;
return callback ( null , requestMapConfig ) ;
} ) ;
} ;
MapConfigOverviewsAdapter . prototype . _augmentLayer = function ( user , layer , analysesResults , callback ) {
let overviewsAddedToMapconfig = false ;
if ( layer . type !== 'mapnik' && layer . type !== 'cartodb' ) {
return callback ( null , { layer , overviewsAddedToMapconfig } ) ;
return callback ( null , layer ) ;
}
this . overviewsMetadataBackend . getOverviewsMetadata ( user , layer . options . sql , ( err , metadata ) => {
if ( err ) {
return callback ( err , { layer , overviewsAddedToMapconfig } );
return callback ( err );
}
if ( _ . isEmpty ( metadata ) ) {
return callback ( null , { layer , overviewsAddedToMapconfig } ) ;
return callback ( null , layer ) ;
}
var filters = getFilters ( analysesResults , layer ) ;
overviewsAddedToMapconfig = true ;
if ( ! filters ) {
layer . options = Object . assign ( { } , layer . options , getQueryRewriteData ( layer , analysesResults , {
overviews : metadata
} ) ) ;
return callback ( null , { layer , overviewsAddedToMapconfig } ) ;
return callback ( null , layer ) ;
}
var unfilteredQuery = getUnfilteredQuery ( analysesResults , layer ) ;
this . filterStatsBackend . getFilterStats ( user , unfilteredQuery , filters , function ( err , stats ) {
if ( err ) {
return callback ( null , { layer , overviewsAddedToMapconfig } ) ;
return callback ( null , layer ) ;
}
layer . options = Object . assign ( { } , layer . options , getQueryRewriteData ( layer , analysesResults , {
@ -84,7 +76,7 @@ MapConfigOverviewsAdapter.prototype._augmentLayer = function (user, layer, analy
filter _stats : stats
} ) ) ;
return callback ( null , { layer , overviewsAddedToMapconfig } ) ;
return callback ( null , layer ) ;
} ) ;
} ) ;
} ;