Checkbox
A checkbox
field represents a boolean (true
/false
) value.
Options:
defaultValue
(default:false
): This value will be used for the field when creating items if no explicit value is set.db.map
: Adds a Prisma@map
attribute to this field which changes the column name in the databasegraphql.read.isNonNull
(default:false
): If you have no read access control and you don't intend to add any in the future, you can set this to true and the output field will be non-nullable. This is only allowed when you have no read access control because otherwise, when access is denied,null
will be returned which will cause an error since the field is non-nullable and the error will propagate up until a nullable field is found which means the entire item will be unreadable and when doing anitems
query, all the items will be unreadable.graphql.create.isNonNull
(default:false
): If you have no create access control and you want to explicitly show that this is field is non-nullable in the create input you can set this to true and the create field will be non-nullable and have a default value at the GraphQL level. This is only allowed when you have no create access control because otherwise, the item will always fail access control if a user doesn't have access to create the particular field regardless of whether or not they specify the field in the create.
import { config, list } from '@keystone-6/core';import { checkbox } from '@keystone-6/core/fields';export default config({lists: {SomeListName: list({fields: {someFieldName: checkbox({defaultValue: true,db: { map: 'my_checkbox' },graphql: {read: {isNonNull: true},create: {isNonNull: true},}}),/* ... */},}),/* ... */},/* ... */});