Reduce cyclomatic complexity

This commit is contained in:
Daniel García Aubert
2018-07-31 12:43:54 +02:00
parent 70ac0587db
commit 18603ad24f
+18 -16
View File
@@ -152,30 +152,18 @@ DataviewBackend.prototype.search = function (mapConfigProvider, user, dataviewNa
}
var pg;
var query;
var dataview;
try {
pg = new PSQL(dbParamsFromReqParams(params));
query = getQueryWithFilters(dataviewDefinition, params);
dataview = DataviewFactory.getDataview(query, dataviewDefinition);
} catch (error) {
return callback(error);
}
var ownFilter = +params.own_filter;
ownFilter = !!ownFilter;
var query = (ownFilter) ? dataviewDefinition.sql.own_filter_on : dataviewDefinition.sql.own_filter_off;
if (params.bbox) {
try {
var bboxFilter = new BBoxFilter({ column: 'the_geom', srid: 4326 }, { bbox: params.bbox });
query = bboxFilter.sql(query);
} catch (error) {
return callback(error);
}
}
var userQuery = params.q;
var dataview = DataviewFactory.getDataview(query, dataviewDefinition);
dataview.search(pg, userQuery, function (err, result) {
if (err) {
return callback(err);
@@ -186,6 +174,20 @@ DataviewBackend.prototype.search = function (mapConfigProvider, user, dataviewNa
});
};
function getQueryWithFilters (dataviewDefinition, params) {
var ownFilter = +params.own_filter;
ownFilter = !!ownFilter;
var query = (ownFilter) ? dataviewDefinition.sql.own_filter_on : dataviewDefinition.sql.own_filter_off;
if (params.bbox) {
var bboxFilter = new BBoxFilter({ column: 'the_geom', srid: 4326 }, { bbox: params.bbox });
query = bboxFilter.sql(query);
}
return query;
}
function getDataviewDefinition(mapConfig, dataviewName) {
var dataviews = mapConfig.dataviews || {};
return dataviews[dataviewName];