Skip to content

fix(predicate): Fix address related layers detection - #1317

Merged
orangejulius merged 1 commit into
masterfrom
fix-address-related-queries
Jun 18, 2019
Merged

fix(predicate): Fix address related layers detection#1317
orangejulius merged 1 commit into
masterfrom
fix-address-related-queries

Conversation

@orangejulius

Copy link
Copy Markdown
Member

This fixes an error in the logic from #1307.

The address_search_with_ids query can only return results in the address or street layers. Admin results would come from a previous query to the Placeholder service.

However, the predicate logic was allowing the query to execute if an admin layer was specified, which could result in the API returning results from the street or address layers when not intended.

@orangejulius
orangejulius force-pushed the fix-address-related-queries branch from 53cbfd5 to 8688d8f Compare June 17, 2019 21:05

@missinglink missinglink left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks fine, I don't think I have a deep enough understanding of this to give any feedback on its intended function.

@Joxit Joxit left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No regression found 👍

@orangejulius

orangejulius commented Jun 18, 2019

Copy link
Copy Markdown
Member Author

@missinglink the code is a bit confusing, and takes a bit of reading through to grasp. Fundamentally, the issue this PR (and the previous PR) intend to fix is as follows:

Take any address input with an admin area, and append layers=coarse. You'll still get the address record back in violation of the layers parameter. For example:

https://pelias.github.io/compare/#/v1/search%3Flayers=coarse&text=1705%20E%202nd%20St,%20Casper,%20WY%2082601
Screenshot_2019-06-18_08-45-23

This fixes an error in the logic from
#1307.

The `address_search_with_ids` query can only return results in the
address or street layers. However, the predicate logic was allowing the
query to execute if _any_ admin layer was specified, which could allow
such a query to return street or address layers when not intended.
@orangejulius
orangejulius force-pushed the fix-address-related-queries branch from 8688d8f to 3a05567 Compare June 18, 2019 13:08
@orangejulius
orangejulius merged commit 106a90a into master Jun 18, 2019
@orangejulius
orangejulius deleted the fix-address-related-queries branch June 18, 2019 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants