Revit Parameter Projection Reused
An archived projection was restored to `draft`, keeping its identity and shared parameter GUID.
Purpose
The payoff of archiving instead of deleting. When a ParameterKey is approved again and an archived projection already exists for it, the ensure path restores that row rather than minting a new one — same projectionId, same shared parameter GUID, so Revit models that already reference the parameter stay valid. A no-op when the projection is not archived.
Payload
Envelope is { name, occurredAt, payload } (apps/api-v1/src/modules/shared/domain/events/DomainEvent.ts). All seven RevitParameterProjection* events share one payload type; occurredAt appears both on the envelope and in the payload.
| Field | Type | Meaning |
|---|---|---|
projectionId | string | Projection domain_id — unchanged by reuse |
parameterKeyId | string | The one canonical key this projection expresses |
occurredAt | Date | When the projection was restored |
Raised by
RevitParameterProjection.reactivateFromArchive—apps/api-v1/src/modules/bim-ontology/core/domain/revit/RevitParameterProjection.ts- The
reuseArchivedProjectionhelper insideEnsureRevitProjectionForParameterKeyUseCase—apps/api-v1/src/modules/bim-ontology/core/application/use-cases/RevitProjectionAuthoringUseCases.ts. Reuse requires the key to beapprovedand to carryusage:bim_parameter - No operation reuses directly. It is reached through the ensure path fired by ParameterKeyApproved or ParameterKeyUpdated
Consumers
No subscriber in this module. No handler is registered for any of the seven projection events in bim-ontology.composition.ts; only the '*' DomainEventAuditLogger sees them.