-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(feat:) in the REST API controllers support passing all request params to WP_Query #25
base: master
Are you sure you want to change the base?
Conversation
Aha. Ik kon het al niet zo snel vinden in openpub. Niet geheel logisch om de method dan nog |
Nee, dat gaat zo te zien allemaal al goed: de call vanuit portal naar PDC wordt nu dan bijv. zoiets: https://buren-pdc.lndo.site/wp-json/owc/pdc/v1/items/?limit=-1&include-connected=true&tax_query%5B0%5D%5Btaxonomy%5D=pdc-type&tax_query%5B0%5D%5Bfield%5D=slug&tax_query%5B0%5D%5Bterms%5D=melding, en in |
Method hernoemen: ja, willen we dat wel? In OpenPub heet ie dus ook zo — en dan moeten we het waarschijnlijk wel in alle branches wijzigen, om te voorkomen dat er verwarrende verschillen ontstaan? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je hebt gelijk. Let's keep it simple.
@SimonvanWijhe had je de query al getest op gevoelige data als output? |
@SimonvanWijhe @mvdhoek1 De zorg was of door deze wijziging niet ongewenste queries uitgevoerd / ongewenste data opgehaald kan worden, niet waar? Volgens mij niet (maar misschien zie ik iets over het hoofd): want door deze wijziging worden weliswaar alle ge-poste query-vars doorgegeven aan WP-query, maar die leiden volgens mij altijd tot additionale En ook het overschrijven van bijv. het filter op maar die latere overschrijft de eerdere en in de SQL die uitgevoerd wordt, staat dan enkel de "juiste": |
Zonder goed door de code te spitten: kun je de post_status, post_type, etc. wijzigen via de URL parameters? Want dat is wellicht wel problematisch. |
@sanderdekroon Ha, inderdaad, dat had ik niet gezien, de |
Interne chat: Mike:
Simon: |
Kunnen we niet een allowlist/blocklist implementeren? Dingen als Je kan dan een lijst van toegestane parameters bijhouden voor niet-ingelogde requests. Als iemand geauthenticeerd is sta je (nagenoeg) alles toe. Of rek ik deze PR dan weer heel erg op? 😬 |
6028ddd
to
9b0fc04
Compare
@colin-yard-nl ik heb vast een opzet/voorbeeld gemaakt met de whitelisting en wat extra validaties. Kijk maar even wat jullie hiervan vinden. -> 9b0fc04 |
Ik heb het doorgeven van de params uit het request nu net zo gedaan als in de OpenPub-plugin gebeurt (in
\OWC\OpenPub\Base\RestAPI\Controllers\BaseController::getPaginatorParams()
).Sommige van de controllers doen na die aanroep nog andere dingen om de
AbstractRepository::$queryArgs
vervolgens nog te manipuleren/overschrijven (bijv. inItemController::convertParameters()
), maar door deze wijziging kunnen in principe alle params uit het request (zoalstax_query
enmeta_query
) aanWP_Query
doorgegeven worden.