Clarify hook register function parameter descriptions in docs (#9489)

* Clarify hook register function parameter descriptions in docs

* Update package-lock.json

* Update docs/extensions/hooks.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
This commit is contained in:
Nicola Krumschmidt
2021-11-04 22:03:15 +01:00
committed by GitHub
parent 21dbe06e4b
commit 7fcebf3768
2 changed files with 95 additions and 71 deletions

View File

@@ -53,9 +53,18 @@ module.exports = function registerHook({ filter }, { exceptions }) {
};
```
The first parameter of the filter register function is the event name. The second parameter is the modifiable payload.
The third argument is an event-specific meta object. The fourth argument is a context object with the following
properties:
The filter register function receives two parameters:
- The event name
- A callback function that is executed whenever the event fires.
The callback function itself receives three parameters:
- The modifiable payload
- An event-specific meta object
- A context object
The context object has the following properties:
- `database` — The current database transaction
- `schema` — The current API schema in use
@@ -88,8 +97,17 @@ properties:
An action event executes after a certain event and receives some data related to the event.
The first parameter of the action register function is the event name. The second argument is an event-specific meta
object. The third argument is a context object with the following properties:
The action register function receives two parameters:
- The event name
- A callback function that is executed whenever the event fires.
The callback function itself receives two parameters:
- An event-specific meta object
- A context object
The context object has the following properties:
- `database` — The current database transaction
- `schema` — The current API schema in use
@@ -124,8 +142,14 @@ object. The third argument is a context object with the following properties:
An init event executes at a certain point within the lifecycle of Directus. Init events can be used to inject logic into
internal services.
The first parameter of the init register function is the event name. The second parameter is an event-specific meta
object.
The init register function receives two parameters:
- The event name
- A callback function that is executed whenever the event fires.
The callback function itself receives one parameters:
- An event-specific meta object
#### Available Events
@@ -145,7 +169,7 @@ object.
### Schedule
A schedule event executes at certain points in time. This is supported through
[`node-cron`](https://www.npmjs.com/package/node-cron). To set this up, provide a cron statement as the first argument
[`node-cron`](https://www.npmjs.com/package/node-cron). To set this up, provide a cron statement as the first parameter
to the `schedule()` function, for example `schedule('15 14 1 * *', <...>)` (at 14:15 on day-of-month 1) or
`schedule('5 4 * * sun', <...>)` (at 04:05 on Sunday). See example below:

126
package-lock.json generated
View File

@@ -59,19 +59,19 @@
},
"api": {
"name": "directus",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "GPL-3.0-only",
"dependencies": {
"@directus/app": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.100",
"@directus/drive-azure": "9.0.0-rc.100",
"@directus/drive-gcs": "9.0.0-rc.100",
"@directus/drive-s3": "9.0.0-rc.100",
"@directus/extensions-sdk": "9.0.0-rc.100",
"@directus/format-title": "9.0.0-rc.100",
"@directus/schema": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.100",
"@directus/specs": "9.0.0-rc.100",
"@directus/app": "9.0.0-rc.101",
"@directus/drive": "9.0.0-rc.101",
"@directus/drive-azure": "9.0.0-rc.101",
"@directus/drive-gcs": "9.0.0-rc.101",
"@directus/drive-s3": "9.0.0-rc.101",
"@directus/extensions-sdk": "9.0.0-rc.101",
"@directus/format-title": "9.0.0-rc.101",
"@directus/schema": "9.0.0-rc.101",
"@directus/shared": "9.0.0-rc.101",
"@directus/specs": "9.0.0-rc.101",
"@godaddy/terminus": "^4.9.0",
"@rollup/plugin-alias": "^3.1.2",
"@rollup/plugin-virtual": "^2.0.3",
@@ -289,12 +289,12 @@
},
"app": {
"name": "@directus/app",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"devDependencies": {
"@directus/docs": "9.0.0-rc.100",
"@directus/extensions-sdk": "9.0.0-rc.100",
"@directus/format-title": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.100",
"@directus/docs": "9.0.0-rc.101",
"@directus/extensions-sdk": "9.0.0-rc.101",
"@directus/format-title": "9.0.0-rc.101",
"@directus/shared": "9.0.0-rc.101",
"@fortawesome/fontawesome-svg-core": "1.2.36",
"@fortawesome/free-brands-svg-icons": "5.15.4",
"@fullcalendar/core": "5.10.1",
@@ -429,7 +429,7 @@
},
"docs": {
"name": "@directus/docs",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "ISC",
"devDependencies": {
"directory-tree": "3.0.0",
@@ -44102,11 +44102,11 @@
},
"packages/cli": {
"name": "@directus/cli",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"@directus/format-title": "9.0.0-rc.100",
"@directus/sdk": "9.0.0-rc.100",
"@directus/format-title": "9.0.0-rc.101",
"@directus/sdk": "9.0.0-rc.101",
"@types/yargs": "^17.0.0",
"app-module-path": "^2.2.0",
"chalk": "^4.1.0",
@@ -44288,11 +44288,11 @@
}
},
"packages/create-directus-extension": {
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "GPL-3.0-only",
"dependencies": {
"@directus/extensions-sdk": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.100",
"@directus/extensions-sdk": "9.0.0-rc.101",
"@directus/shared": "9.0.0-rc.101",
"inquirer": "^8.1.2"
},
"bin": {
@@ -44335,7 +44335,7 @@
"license": "0BSD"
},
"packages/create-directus-project": {
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "GPL-3.0-only",
"dependencies": {
"chalk": "^4.1.1",
@@ -44371,7 +44371,7 @@
},
"packages/drive": {
"name": "@directus/drive",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"fs-extra": "^10.0.0",
@@ -44390,11 +44390,11 @@
},
"packages/drive-azure": {
"name": "@directus/drive-azure",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"@azure/storage-blob": "^12.6.0",
"@directus/drive": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.101",
"normalize-path": "^3.0.0"
},
"devDependencies": {
@@ -44425,10 +44425,10 @@
},
"packages/drive-gcs": {
"name": "@directus/drive-gcs",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"@directus/drive": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.101",
"@google-cloud/storage": "^5.8.5",
"lodash": "4.17.21",
"normalize-path": "^3.0.0"
@@ -44448,10 +44448,10 @@
},
"packages/drive-s3": {
"name": "@directus/drive-s3",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"@directus/drive": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.101",
"aws-sdk": "^2.928.0",
"normalize-path": "^3.0.0"
},
@@ -44496,9 +44496,9 @@
},
"packages/extensions-sdk": {
"name": "@directus/extensions-sdk",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"dependencies": {
"@directus/shared": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.101",
"@rollup/plugin-commonjs": "^21.0.0",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.0.0",
@@ -44548,7 +44548,7 @@
},
"packages/format-title": {
"name": "@directus/format-title",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"devDependencies": {
"@rollup/plugin-commonjs": "21.0.1",
@@ -44567,10 +44567,10 @@
},
"packages/gatsby-source-directus": {
"name": "@directus/gatsby-source-directus",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"@directus/sdk": "9.0.0-rc.100",
"@directus/sdk": "9.0.0-rc.101",
"chalk": "4.1.2",
"gatsby-source-filesystem": "4.1.0",
"gatsby-source-graphql": "4.1.0",
@@ -44584,7 +44584,7 @@
},
"packages/schema": {
"name": "@directus/schema",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "GPL-3.0",
"dependencies": {
"knex-schema-inspector": "1.6.4",
@@ -44597,7 +44597,7 @@
},
"packages/sdk": {
"name": "@directus/sdk",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "MIT",
"dependencies": {
"axios": "^0.24.0"
@@ -44626,7 +44626,7 @@
},
"packages/shared": {
"name": "@directus/shared",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"dependencies": {
"axios": "*",
"date-fns": "2.24.0",
@@ -44685,7 +44685,7 @@
},
"packages/specs": {
"name": "@directus/specs",
"version": "9.0.0-rc.100",
"version": "9.0.0-rc.101",
"license": "GPL-3.0",
"dependencies": {
"openapi3-ts": "^2.0.1"
@@ -46237,10 +46237,10 @@
"@directus/app": {
"version": "file:app",
"requires": {
"@directus/docs": "9.0.0-rc.100",
"@directus/extensions-sdk": "9.0.0-rc.100",
"@directus/format-title": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.100",
"@directus/docs": "9.0.0-rc.101",
"@directus/extensions-sdk": "9.0.0-rc.101",
"@directus/format-title": "9.0.0-rc.101",
"@directus/shared": "9.0.0-rc.101",
"@fortawesome/fontawesome-svg-core": "1.2.36",
"@fortawesome/free-brands-svg-icons": "5.15.4",
"@fullcalendar/core": "5.10.1",
@@ -46343,8 +46343,8 @@
"@directus/cli": {
"version": "file:packages/cli",
"requires": {
"@directus/format-title": "9.0.0-rc.100",
"@directus/sdk": "9.0.0-rc.100",
"@directus/format-title": "9.0.0-rc.101",
"@directus/sdk": "9.0.0-rc.101",
"@types/figlet": "1.5.4",
"@types/fs-extra": "9.0.13",
"@types/jest": "27.0.2",
@@ -46515,7 +46515,7 @@
"version": "file:packages/drive-azure",
"requires": {
"@azure/storage-blob": "^12.6.0",
"@directus/drive": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.101",
"@types/fs-extra": "9.0.13",
"@types/jest": "27.0.2",
"@types/node": "16.11.6",
@@ -46543,7 +46543,7 @@
"@directus/drive-gcs": {
"version": "file:packages/drive-gcs",
"requires": {
"@directus/drive": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.101",
"@google-cloud/storage": "^5.8.5",
"@lukeed/uuid": "2.0.0",
"@types/fs-extra": "9.0.13",
@@ -46562,7 +46562,7 @@
"@directus/drive-s3": {
"version": "file:packages/drive-s3",
"requires": {
"@directus/drive": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.101",
"@lukeed/uuid": "2.0.0",
"@types/fs-extra": "9.0.13",
"@types/jest": "27.0.2",
@@ -46592,7 +46592,7 @@
"@directus/extensions-sdk": {
"version": "file:packages/extensions-sdk",
"requires": {
"@directus/shared": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.101",
"@rollup/plugin-commonjs": "^21.0.0",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.0.0",
@@ -46643,7 +46643,7 @@
"@directus/gatsby-source-directus": {
"version": "file:packages/gatsby-source-directus",
"requires": {
"@directus/sdk": "9.0.0-rc.100",
"@directus/sdk": "9.0.0-rc.101",
"chalk": "4.1.2",
"gatsby-source-filesystem": "4.1.0",
"gatsby-source-graphql": "4.1.0",
@@ -55046,8 +55046,8 @@
"create-directus-extension": {
"version": "file:packages/create-directus-extension",
"requires": {
"@directus/extensions-sdk": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.100",
"@directus/extensions-sdk": "9.0.0-rc.101",
"@directus/shared": "9.0.0-rc.101",
"inquirer": "^8.1.2"
},
"dependencies": {
@@ -56398,16 +56398,16 @@
"directus": {
"version": "file:api",
"requires": {
"@directus/app": "9.0.0-rc.100",
"@directus/drive": "9.0.0-rc.100",
"@directus/drive-azure": "9.0.0-rc.100",
"@directus/drive-gcs": "9.0.0-rc.100",
"@directus/drive-s3": "9.0.0-rc.100",
"@directus/extensions-sdk": "9.0.0-rc.100",
"@directus/format-title": "9.0.0-rc.100",
"@directus/schema": "9.0.0-rc.100",
"@directus/shared": "9.0.0-rc.100",
"@directus/specs": "9.0.0-rc.100",
"@directus/app": "9.0.0-rc.101",
"@directus/drive": "9.0.0-rc.101",
"@directus/drive-azure": "9.0.0-rc.101",
"@directus/drive-gcs": "9.0.0-rc.101",
"@directus/drive-s3": "9.0.0-rc.101",
"@directus/extensions-sdk": "9.0.0-rc.101",
"@directus/format-title": "9.0.0-rc.101",
"@directus/schema": "9.0.0-rc.101",
"@directus/shared": "9.0.0-rc.101",
"@directus/specs": "9.0.0-rc.101",
"@godaddy/terminus": "^4.9.0",
"@keyv/redis": "^2.1.2",
"@rollup/plugin-alias": "^3.1.2",