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.
| Field | Type | Meaning |
|---|---|---|
classParameterId | ClassParameterId | The assignment that was removed |
objectClassId | ObjectClassId | Class that no longer carries the parameter |
parameterKeyId | ParameterKeyId | Canonical key that was unassigned |
allowedValueCount | number (optional) | Not populated on this event |
Raised by
ClassParameter.markUnassigned—apps/api-v1/src/modules/bim-ontology/core/domain/class-parameter/ClassParameter.tsUnassignClassParameterUseCase.unassignClassParameter—apps/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:
| Handler | Effect |
|---|---|
ClassParameterDerivedRevitCategoryHandler | PersistDerivedRevitCategorySetsUseCase for the event’s parameterKeyId |
RenderedParamTemplatesSyncHandler | SyncObjectClassRenderedParamTemplatesUseCase for the affected class subtree, dropping inherited copies |