Katharina Irrgang
9d7c3bd726
🐛 Fixed all known filter limitations ( #10159 )
...
refs #10105 , closes #10108 , closes https://github.com/TryGhost/Ghost/issues/9950 , refs https://github.com/TryGhost/Ghost/issues/9923 , refs https://github.com/TryGhost/Ghost/issues/9916 , refs https://github.com/TryGhost/Ghost/issues/9574 , refs https://github.com/TryGhost/Ghost/issues/6345 , refs https://github.com/TryGhost/Ghost/issues/6309 , refs https://github.com/TryGhost/Ghost/issues/6158 , refs https://github.com/TryGhost/GQL/issues/16
- removed GQL dependency
- replaced GQL with our brand new NQL implementation
- fixed all known filter limitations
- GQL suffered from some underlying filter bugs, which NQL tried to fix
- the bugs were mostly in how we query the database for relation filtering
- the underlying problem was caused by a too simple implementation of querying the relations
- mongo-knex has implemented a more robust and complex filtering mechanism for relations
- replaced logic in our bookshelf filter plugin
- we pass the custom, default and override filters from Ghost to NQL, which then are getting parsed and merged into a mongo JSON object. The mongo JSON is getting attached by mongo-knex.
NQL: https://github.com/NexesJS/NQL
mongo-knex: https://github.com/NexesJS/mongo-knex
2018-12-11 11:53:40 +01:00