Ghost/core/server/models
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
..
base 🐛 Fixed all known filter limitations (#10159) 2018-12-11 11:53:40 +01:00
plugins 🐛 Fixed all known filter limitations (#10159) 2018-12-11 11:53:40 +01:00
relations 🐛 Fixed contributors being able to delete draft posts as co-author (#10239) 2018-12-04 13:31:02 +01:00
accesstoken.js 🔥 Drop Node v4 Support 2018-05-01 14:06:18 +02:00
api-key.js Updated ApiKey onSaving to forward options (#9994) 2018-10-14 16:54:10 +07:00
app-field.js Misc cleanup: moving files & naming functions 2015-06-15 09:43:19 +01:00
app-setting.js Misc cleanup: moving files & naming functions 2015-06-15 09:43:19 +01:00
app.js Updated permittedOptions to correctly call super 2018-09-21 12:15:29 +02:00
client-trusted-domain.js Add table columns for OAuth 2015-09-02 13:39:22 +01:00
client.js Updated permittedOptions to correctly call super 2018-09-21 12:15:29 +02:00
index.js Added members related db changes and models 2018-12-11 11:53:55 +07:00
integration.js Added HTTP BREAD for integrations resource (#9985) 2018-10-18 14:03:56 +01:00
invite.js Replaced options.where GQL statements with filter notation (#10160) 2018-11-15 15:53:24 +01:00
member.js Added members related db changes and models 2018-12-11 11:53:55 +07:00
mobiledoc-revision.js Added mobiledoc revisions functionality 2018-10-09 15:31:09 +02:00
permission.js 🔥 Drop Node v4 Support 2018-05-01 14:06:18 +02:00
post.js 🐛 Fixed all known filter limitations (#10159) 2018-12-11 11:53:40 +01:00
refreshtoken.js Switched to eslint-plugin-ghost (#9835) 2018-09-17 20:49:30 +02:00
role.js Stopped api key from assigning the 'Owner' role (#9971) 2018-10-12 15:38:57 +07:00
session.js Removed user_id constraint when upserting session (#10085) 2018-10-30 16:15:48 +07:00
settings.js Added members related db changes and models 2018-12-11 11:53:55 +07:00
subscriber.js Replaced options.where GQL statements with filter notation (#10160) 2018-11-15 15:53:24 +01:00
tag.js Replaced options.where GQL statements with filter notation (#10160) 2018-11-15 15:53:24 +01:00
user.js Replaced options.where GQL statements with filter notation (#10160) 2018-11-15 15:53:24 +01:00
webhook.js Updated webhooks schema and add relation (#10018) 2018-10-17 18:17:13 +07:00