Skip to content

Commit 24a9329

Browse files
committed
Remove duplicate query-based predicates code
1 parent 84ea68b commit 24a9329

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

services/features.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,21 @@ function buildQueryColumns(query) {
122122
return queryColumns;
123123
}
124124

125+
function addQueryPredicates(sql, query) {
126+
if (query.layer) {
127+
sql += ` AND layer = ${escapeSql(query.layer)}`;
128+
}
129+
130+
return sql;
131+
}
132+
125133
function getByBoundingBox(query, callback) {
126134
let boundingBoxQuery = `SELECT ${buildQueryColumns(query)} FROM features WHERE ST_Intersects(hull, ST_MakeEnvelope(
127135
${query.west}, ${query.south},
128136
${query.east}, ${query.north}, 4326
129137
))`;
130138

131-
if (query.layer) {
132-
boundingBoxQuery += ` AND layer=${escapeSql(query.layer)}`;
133-
}
139+
boundingBoxQuery = addQueryPredicates(boundingBoxQuery, query);
134140

135141
return executeQuery(boundingBoxQuery, callback);
136142
}
@@ -140,9 +146,7 @@ function getByPoint(query, callback) {
140146
'POINT(${query.longitude} ${query.latitude})', 4326)
141147
)`;
142148

143-
if (query.layer) {
144-
pointQuery += ` AND layer=${escapeSql(query.layer)}`;
145-
}
149+
pointQuery = addQueryPredicates(pointQuery, query);
146150

147151
return executeQuery(pointQuery, callback);
148152
}
@@ -155,9 +159,7 @@ function getByName(query, callback) {
155159
}).join(" OR ")})`;
156160
let nameQuery = `SELECT ${buildQueryColumns(query)} FROM features WHERE ${namesDisjunction}`;
157161

158-
if (query.layer) {
159-
nameQuery += ` AND layer=${escapeSql(query.layer)}`;
160-
}
162+
nameQuery = addQueryPredicates(nameQuery, query);
161163

162164
executeQuery(nameQuery, callback);
163165
}

0 commit comments

Comments
 (0)