Configuration
Global Options
Set once per runtime with acl.setGlobalOptions(...).
requestPermissionFielddefaults to_permissionsglobalPermissions(req)returns the permission set for the current requestloggerreceivesdebug,info,warn, anderrorcalls
acl.setGlobalOptions({
requestPermissionField: '_permissions',
globalPermissions(req) {
return req.headers.user === 'admin' ? ['isAdmin'] : [];
},
});
Default Model Options
These values are inherited by every model router unless overridden.
listHardLimitdefaults to1000documentPermissionFielddefaults to_permissionsidParamdefaults toididFielddefaults to_idparentPathdefaults to/queryRouteSegmentdefaults to__querymutationRouteSegmentdefaults to__mutationoperationAccessdefaults tofalsemodelPermissionPrefixdefaults to an empty string
Model Router Options
Common model options:
basePathpermissionSchemaaccepts booleans, permission names, or per-operation rule objectsalwaysSelectFieldsdocPermissionsbaseFilteroverrideFilterdecoratedecorateAllvalidatepreparetransformafterPersistonChangebeforeDeleteafterDeleterequestSchemasdefaults
Router-specific options are also available through the mutable property helpers:
listHardLimitdocumentPermissionFieldidParamidFieldresolveIdFilterparentPathqueryRouteSegmentmutationRouteSegment
OpenAPI Router Options
createOpenApiRouter(...) accepts:
titleversiondescriptionserversjsonPathdefaulting to/openapi.jsondocsPathdefaulting to/docs, orfalseto disable Swagger UIswaggerUiCssUrlswaggerUiBundleUrl
Data Router Options
Common data options:
databasePathpermissionSchemaaccepts booleans, permission names, or per-operation rule objectsbaseFilteroverrideFilterdecoratedecorateAllrequestSchemas
Router-specific options:
listHardLimitidParamidFieldresolveIdFilterparentPathqueryRouteSegmentoperationAccessdataName
Option APIs
The runtime exposes getter/setter pairs for each option group:
acl.setGlobalOptions(...),acl.setGlobalOption(...),acl.getGlobalOptions(),acl.getGlobalOption(...)acl.setModelOptions(...),acl.setModelOption(...),acl.getModelOptions(),acl.getModelOption(...)acl.setDefaultModelOptions(...),acl.setDefaultModelOption(...),acl.getDefaultModelOptions(),acl.getDefaultModelOption(...)
Use router instance methods when you want to mutate one router in place.