1
0
mirror of https://github.com/TryGhost/Ghost.git synced 2024-12-19 08:31:43 +03:00
Ghost/core/server/models/base
Katharina Irrgang dfd4afea19 Add bookshelf-relations ()
no issue

- added https://github.com/TryGhost/bookshelf-relations as dependency
- remove existing tag handling

--- 

* Important: Ensure we trigger parent initialize function

- otherwise the plugin is unable to listen on model events
- important: event order for listeners is Ghost -> Plugin
- Ghost should be able to listen on the events as first instance
- e.g. be able to modify/validate relationships

* Fix tag validation

- we detect lower/update case slugs for tags manually
- this can't be taken over from the plugin obviously
- ensure we update the target model e.g. this.set('tags', ...)

* override base fn: `permittedAttributes`

- ensure we call the base
- put relations on top
- each relation is allowed to be passed
- the plugin will auto-unset any relations to it does not reach the database

* Ensure we run add/edit/delete within a transaction

- updating nested relationships requires sql queries
- all sql statements have to run in a single transaction to ensure we rollback everything if an error occurs
- use es6
2017-11-21 13:28:05 +00:00
..
index.js Add bookshelf-relations () 2017-11-21 13:28:05 +00:00
listeners.js 🎨 do not run model listeners on import () 2017-07-21 09:58:58 +01:00
token.js Switch to Eslint () 2017-11-01 13:44:54 +00:00
utils.js Add bookshelf-relations () 2017-11-21 13:28:05 +00:00