Skip to content

Interface: ODataModuleOptions

Defined in: packages/core/src/odata.module.ts:28

Configuration options for ODataModule.forRoot().

Per threat model T-02-03: serviceRoot must be a non-empty string. Per threat model T-02-04: maxTop and maxExpandDepth have safe defaults.

Properties

controllers?

optional controllers?: (...args) => any[]

Defined in: packages/core/src/odata.module.ts:52

OData controller classes decorated with @ODataController(). Per D-17: forRoot() patches each controller's PATH_METADATA to prepend serviceRoot synchronously, before NestJS compiles the module. Controllers not listed here will NOT have serviceRoot applied.

Parameters

args

...any[]

Returns

any


maxDeepInsertDepth?

optional maxDeepInsertDepth?: number

Defined in: packages/core/src/odata.module.ts:45

Maximum nesting depth for deep insert POST bodies. Default: 5. Per T-10-05: prevents denial-of-service via unbounded recursion.


maxExpandDepth?

optional maxExpandDepth?: number

Defined in: packages/core/src/odata.module.ts:36

Maximum depth of $expand nesting. Default: 2


maxFilterDepth?

optional maxFilterDepth?: number

Defined in: packages/core/src/odata.module.ts:38

Maximum nesting depth of $filter expressions. Default: 10 (per SEC-04)


maxTop?

optional maxTop?: number

Defined in: packages/core/src/odata.module.ts:34

Maximum number of entities returned per query. Default: 1000


namespace?

optional namespace?: string

Defined in: packages/core/src/odata.module.ts:32

EDM namespace for all entity types. Default: 'Default' (per D-08)


serviceRoot

serviceRoot: string

Defined in: packages/core/src/odata.module.ts:30

Base path for the OData service, e.g. '/odata'


unmappedTypeStrategy?

optional unmappedTypeStrategy?: UnmappedTypeStrategy

Defined in: packages/core/src/odata.module.ts:40

Strategy when a TypeScript type cannot be mapped to an EDM primitive. Default: 'skip' (per D-10)