Skip to content

Class: EdmRegistry

Defined in: packages/core/src/edm/edm-registry.ts:14

EdmRegistry — NestJS injectable singleton that stores all registered OData entity types and entity sets.

Per threat model T-02-01: throws on duplicate registration to prevent silent override of entity types (Tampering mitigation).

Constructors

Constructor

new EdmRegistry(): EdmRegistry

Returns

EdmRegistry

Methods

getEntitySecurityOptions()

getEntitySecurityOptions(entitySetName): ODataEntitySecurityOptions | undefined

Defined in: packages/core/src/edm/edm-registry.ts:71

Retrieve per-entity security options for a given entity set name. Returns undefined if no overrides have been set.

Parameters

entitySetName

string

Returns

ODataEntitySecurityOptions | undefined


getEntitySet()

getEntitySet(name): EdmEntitySet | undefined

Defined in: packages/core/src/edm/edm-registry.ts:45

Retrieve a registered entity set by name. Returns undefined if not found.

Parameters

name

string

Returns

EdmEntitySet | undefined


getEntitySets()

getEntitySets(): ReadonlyMap<string, EdmEntitySet>

Defined in: packages/core/src/edm/edm-registry.ts:55

All registered entity sets as a read-only map.

Returns

ReadonlyMap<string, EdmEntitySet>


getEntityType()

getEntityType(name): EdmEntityType | undefined

Defined in: packages/core/src/edm/edm-registry.ts:40

Retrieve a registered entity type by name. Returns undefined if not found.

Parameters

name

string

Returns

EdmEntityType | undefined


getEntityTypes()

getEntityTypes(): ReadonlyMap<string, EdmEntityType>

Defined in: packages/core/src/edm/edm-registry.ts:50

All registered entity types as a read-only map.

Returns

ReadonlyMap<string, EdmEntityType>


register()

register(entityType, entitySet): void

Defined in: packages/core/src/edm/edm-registry.ts:30

Register an entity type and its corresponding entity set.

Idempotent: if the same entity type name is already registered (e.g. from multiple ODataTypeOrmModule.forFeature() calls in different feature modules), the registration is silently skipped. This supports the common pattern of importing forFeature() in both a root AppModule and a feature module for the same entity.

Throws only if a DIFFERENT entity type is registered under the same name (name collision).

Parameters

entityType

EdmEntityType

entitySet

EdmEntitySet

Returns

void


setEntitySecurityOptions()

setEntitySecurityOptions(entitySetName, options): void

Defined in: packages/core/src/edm/edm-registry.ts:63

Store per-entity security option overrides for a given entity set name. These override global ODataModuleResolvedOptions values (per D-07).

Parameters

entitySetName

string

options

ODataEntitySecurityOptions

Returns

void