Plugins
Minimal example
Using plugins
# The .use() method can be called both on the agent and on collections.
agent.use(
# Some plugins do not require options
RemoveTimestamps
# Others do
).customize_collection('accounts').use(CreateFileField, { "fieldname": 'avatar' })Writing plugins
from forestadmin.datasource_toolkit.plugins.plugin import Plugin
# from forestadmin.datasource_toolkit.datasource_customizer.collection_customizer import (
# CollectionCustomizer
# )
# from forestadmin.datasource_toolkit.datasource_customizer.datasource_customizer import (
# DatasourceCustomizer
# )
class RemoveTimestamps(Plugin):
async def run(
self,
datasource_customizer: "DatasourceCustomizer", # noqa: F821
collection_customizer: Optional["CollectionCustomizer"] = None, # noqa: F821
options: Optional[Dict] = {},
):
# Allow the plugin to be used both on the dataSource or on individual collections
collections = (
[collection_customizer]
if collection_customizer
else datasource_customizer.collections
)
for current_collection in collections:
collection.remove_field("createdAt")
collection.remove_field("updatedAt")Last updated