What are the system collection triggers for Hook extensions?
Hook extensions function on a trigger such as an action or filter when an item is created, updated or deleted. Normally you would use something like item.create
as the trigger, however, this does not include system collections. This article will show you how to use system collections in a hook extension.
To use system collections, you'll need to remove the directus_
prefix from the name, followed by the required action/filter such as .update
.
Here is an example of hook extension that runs whenever the settings change:
export default defineHook(({ action }) => {
action('settings.update', async ({ collection, payload }) => {
});
});
System collections triggers
Here is a list of system collection triggers:
directus_access
access.create
access.read
access.update
access.delete
directus_activity
activity.create
activity.read
activity.update
activity.delete
directus_collections
collections.create
<does not emit read>
collections.update
collections.delete
directus_dashboards
dashboards.create
dashboards.read
dashboards.update
dashboards.delete
directus_fields
fields.create
<does not emit read>
fields.update
fields.delete
directus_files
files.upload
files.update
files.delete
Note: not triggered by file upload. Only metadata
directus_flows
flows.create
flows.read
flows.update
flows.delete
directus_folders
folders.create
folders.read
folders.update
folders.delete
directus_notifications
notifications.create
notifications.read
notifications.update
notifications.delete
directus_operations
operations.create
operations.read
operations.update
operations.delete
directus_panels
panels.create
panels.read
panels.update
panels.delete
directus_permissions
permissions.create
permissions.read
permissions.update
permissions.delete
directus_policies
policies.create
policies.read
policies.update
policies.delete
directus_presets
presets.create
presets.read
presets.update
presets.delete
directus_relations
relations.create
relations.read
relations.update
<does not emit delete>
directus_revisions
revisions.create
revisions.read
revisions.update
revisions.delete
directus_roles
roles.create
roles.read
roles.update
roles.delete
directus_settings
<singleton collection, no create>
settings.read
settings.update
settings.delete
directus_shares
shares.create
shares.read
shares.update
shares.delete
directus_translations
translations.create
translations.read
translations.update
translations.delete
directus_users
users.create
users.read
users.update
users.delete
directus_versions
versions.create
versions.read
versions.update
versions.delete
directus_webhooks
webhooks.create
webhooks.read
webhooks.update
webhooks.delete
Documentation for Hook Extensions
