Skip to content

Commit e6fc2e7

Browse files
authored
Merge pull request #17 from CatalystCode/filter-namespace
Add option to filter results by namespace
2 parents 503d4b5 + 9fae5d6 commit e6fc2e7

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

controllers/features.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ exports.upsert = function(req, res) {
2323
exports.getById = function(req, res) {
2424
let query = {
2525
id: req.params.id.split(','),
26+
filter_namespace: req.query.filter_namespace,
2627
include: req.query.include
2728
};
2829

@@ -37,6 +38,7 @@ exports.getByPoint = function(req, res) {
3738
let query = {
3839
latitude: parseFloat(req.params.latitude),
3940
longitude: parseFloat(req.params.longitude),
41+
filter_namespace: req.query.filter_namespace,
4042
include: req.query.include
4143
};
4244

@@ -54,6 +56,7 @@ exports.getByPoint = function(req, res) {
5456
exports.getByName = function(req, res) {
5557
let query = {
5658
name: req.params.name.split(/,(?=[^ ])/),
59+
filter_namespace: req.query.filter_namespace,
5760
include: req.query.include
5861
};
5962

@@ -75,6 +78,7 @@ exports.getByBoundingBox = function(req, res) {
7578
south: parseFloat(req.params.south),
7679
east: parseFloat(req.params.east),
7780
filter_name: req.query.filter_name,
81+
filter_namespace: req.query.filter_namespace,
7882
include: req.query.include
7983
};
8084

schema.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ CREATE TABLE features
2525

2626
CREATE INDEX features_hull_index ON features USING gist (hull);
2727
CREATE INDEX features_name_lower_index ON features(lower(name));
28+
CREATE INDEX features_namespace_index ON features(lower(split_part(id, '-', 1)));
2829

2930
GRANT SELECT, UPDATE, INSERT, DELETE ON features TO frontend;
3031

services/features.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ function addQueryPredicates(sql, query) {
131131
sql += ` AND strpos(lower(name), lower(${escapeSql(query.filter_name)})) > 0`;
132132
}
133133

134+
if (query.filter_namespace) {
135+
sql += ` AND lower(split_part(id, '-', 1)) = lower(${escapeSql(query.filter_namespace)})`;
136+
}
137+
134138
return sql;
135139
}
136140

0 commit comments

Comments
 (0)