Plugins
A project can define it's own plugins, these are universally available:
Permissions
To give permission for usage of plugin to a certain agenda, the corresponding action for the plugin must be used and then registered for the agenda:
POST /data/system/agenda_action/create
"agenda" : 5,
"action" : 7,
To get the agenda id:
POST /data/system/agenda/query
{
"conds" : {
"name" : "admin_agenda"
}
}
To get the action id:
POST /data/system/action/query
{
"conds" : {
"is_functional" : true,
"entity.name" : "plugin_name",
"me.name" : "execute"
},
"attrs" :
}
SELECT action.id from system.action join system.entity on entity.id=entity and is_functional=true where action.name='execute' and entity.name='client_create'