Skip to content

Glossary ​

The terms these docs use, in alphabetical order.

TermMeaning
Access controlDeciding whether a logged-in user may call a route, and with what input. Done by the access control interceptor using permissions.
Additional data serviceA data service a domain service can use besides its main one, under a name - e.g. cache. See Multiple data services.
Anonymous routeA route listed in anonymousAccessRoutes - callable without a token, and skipped by access control.
API moduleA NestJS module extending HTTPAPIModule: one set of controllers plus the request pipeline. Each app module has exactly one. See HTTP API module.
App moduleThe NestJS module passed to NodeCApp.start, importing the config, logger, data, domain and API modules. One app module is one NestJS application.
Auth serviceOne login method - userLocal, okta, passthrough, a consumer - registered in the authentication manager under its authType. See Authentication.
Consumer / providerIn a federated login, the consumer app forwards logins to the provider (SSO) app and uses its tokens. See Federated login.
Data entity service (data service)The service that reads and writes one entity in one storage - e.g. DataDBTasksService. The data layer's public face.
Data moduleA module that connects to one storage and registers its entity modules - e.g. DataDBModule, configured under config.data.<name>.
Domain entity service (domain service)The service with an entity's business logic, built on one or more data services - e.g. DomainTasksService. See Domain services.
Domain moduleA global module that registers a set of domain services.
EntityThe schema of a stored item: a TypeORM EntitySchema, a Redis EntitySchema or a ClickHouse schema. See Defining entities.
Entity moduleA module that registers the repository for one entity and provides its data service.
First serviceThe first entry in dataServices for a call - its result is the call's result.
Id tokenThe JWT issued at login that carries the user and their permissions - the source of req.locals.user.
Index fileA file that re-exports everything in a folder (db.entities.ts, tasks.services.ts), read by loadDynamicModules.
Main data serviceA domain service's first constructor argument - 'main' in dataServices.
Module nameThe key a module's config lives under (config.data.db, config.api.tasks) and its name in register(...). For permissions, the API module's ACCESS_CONTROL_MODULE_NAME.
PermissionA rule giving a role access to resources in a resource context, optionally with fine-grained input and output rules.
Private optionsThe second options argument of data and domain methods (withDeleted, requirePrimaryKeys, ...) - for code only, never filled from a request.
ProfileThe per-environment part of the config - appConfigProfile<Env>. See Configuration.
Reference appapps/test - the full example app the e2e tests run against.
ResourceWhat a permission covers within a resource context - by default, the controller handler's name (find, findOne, ...).
Resource contextThe controller a permission applies to - its @AccessControlContext value, or its class name.
Soft deleteSetting deletedAt instead of removing the row. The default for RDB entities with a deleted column.

Previous: FAQ and troubleshooting · Next: Migration guide

Last updated: