CORE-2197: Add metadata filtering to the app search endpoint. - #308
CORE-2197: Add metadata filtering to the app search endpoint.#308slr71 wants to merge 2 commits into
Conversation
The following new query parameters have been added: - `attribute`: must be used in conjunction with `attribute_value`. If specfied, only apps that have been tagged with the specified attribute/value pair will be inclued in the listing. - `attribute_value`: must be used in conjunction with `attribute`. If specified, only apps that have been tagged with the given attribute/value pair will be included in the listing.
psarando
left a comment
There was a problem hiding this comment.
LGTM 👍 🎉
I had a minor question about the Tapis app listings, but also note:
You may already have planned for this in the next PR, but I think we will also need to filter by avus in the list-apps-in-group function, or at least add support in the list-apps-in-real-group function, and in the virtual listing functions for shared-with-me and featured-apps.
| @@ -120,7 +120,7 @@ | |||
| (listings/list-app tapis app-id)) | |||
|
|
|||
| (adminSearchApps [self search-term params] | |||
| (when (user-has-access-token?) | |||
| (when (and (user-has-access-token?) (every? string/blank? ((juxt :attribute :attribute_value) params))) | |||
There was a problem hiding this comment.
Should these attribute checks be part of the (if (apps-util/app-type-qualifies? self params) ...) check, so that an emptyAppListing is returned instead of nil?
There was a problem hiding this comment.
Ah, that's a good idea. The end result should be the same in both cases, but your suggestion is clearer. 👍
|
Ah, thanks for mentioning the other endpoints. I'll update those endpoints as well next week. |
|
It looks like |
|
In the meantime, I think that the PRs for |
The following new query parameters have been added:
attribute: must be used in conjunction withattribute_value. If specfied, only apps that have been tagged with the specified attribute/value pair will be inclued in the listing.attribute_value: must be used in conjunction withattribute. If specified, only apps that have been tagged with the given attribute/value pair will be included in the listing.