@koikorn/list-plugins
v7.0.2
Published
List level plugins which can update list config during list initialization including adding additional fields
Downloads
4
Readme
List Plugins
atTracking
Adds createdAt and updatedAt fields to a list. These fields are read-only by will be updated automatically when items are created or updated.
Usage
const { atTracking } = require('@koikorn/list-plugins');
keystone.createList('ListWithPlugin', {
fields: {
// ...
},
plugins: [
atTracking({
/* ...config */
}),
],
});Config
| Option | Type | Default | Description |
| ---------------- | -------- | ------------------- | ----------------------------------------- |
| createdAtField | String | createdAt | Name of the createdAt field. |
| updatedAtField | String | updatedAt | Name of the createdAt field. |
| format | String | MM/DD/YYYY h:mm A | Format of the generated DateTime field. |
| access | Object | See: access | Change default access controls. |
access
By default access control on at tracking fields is read only:
{
read: true,
create: false,
update: false
}Disabling created or updated
You can import either createdAt or updatedAt to apply a single tracking field:
const { createdAt, updatedAt } = require('@koikorn/list-plugins');Note: The API is the same.
byTracking
Adds createdBy and updatedBy fields to a list. These fields are read-only by will be updated automatically when items are created or updated.
Usage
const { byTracking } = require('@koikorn/list-plugins');
keystone.createList('ListWithPlugin', {
fields: {
// ...
},
plugins: [
byTracking({
/* ...config */
}),
],
});Config
| Option | Type | Default | Description |
| ---------------- | -------- | ----------- | ---------------------------------------------------- |
| createdByField | String | createdBy | Name of the createdBy field. |
| updatedByField | String | updatedBy | Name of the createdBy field. |
| ref | String | User | A reference to the list authenticated items (users). |
| access | Object | See: access | Change default access controls. |
access
By default access control on at tracking fields is read only:
{
read: true,
create: false,
update: false
}Disabling created or updated
You can import either createdBy or updatedBy to apply a single tracking field:
const { createdBy, updatedBy } = require('@koikorn/list-plugins');Note: The API is the same.
singleton
This plugin makes a list singleton by allowing only one item in the list. Useful for list which must contain only one items.
Usage
const { singleton } = require('@koikorn/list-plugins');
keystone.createList('ListWithPlugin', {
fields: {...},
plugins: [
singleton(),
],
});