event

Class Parameter Unassigned

A ClassParameter binding between an ObjectClass and a ParameterKey was removed.

EventStatus: Implemented in api-v1

Purpose

Records removal of a ClassParameter binding. markUnassigned only stages the event — the actual removal is the use case’s job — so the payload still describes the binding that existed.

Removing a binding shrinks the set of object classes contributing to the key’s Revit projection, so the projection side listens.

Payload

Envelope is { name, occurredAt, payload } (apps/api-v1/src/modules/shared/domain/events/DomainEvent.ts). All four ClassParameter* events share one payload type.

FieldTypeMeaning
classParameterIdClassParameterIdThe assignment that was removed
objectClassIdObjectClassIdClass that no longer carries the parameter
parameterKeyIdParameterKeyIdCanonical key that was unassigned
allowedValueCountnumber (optional)Not populated on this event

Raised by

  • ClassParameter.markUnassignedapps/api-v1/src/modules/bim-ontology/core/domain/class-parameter/ClassParameter.ts
  • UnassignClassParameterUseCase.unassignClassParameterapps/api-v1/src/modules/bim-ontology/core/application/use-cases/ClassParameterUseCases.ts
  • HTTP: unassignClassParameter

Consumers

The same two handlers as ClassParameterAssigned, both registered in bim-ontology.composition.ts:

HandlerEffect
ClassParameterDerivedRevitCategoryHandlerPersistDerivedRevitCategorySetsUseCase for the event’s parameterKeyId
RenderedParamTemplatesSyncHandlerSyncObjectClassRenderedParamTemplatesUseCase for the affected class subtree, dropping inherited copies