event

Revit Parameter Projection Reused

An archived projection was restored to `draft`, keeping its identity and shared parameter GUID.

EventStatus: Implemented in api-v1

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.

FieldTypeMeaning
projectionIdstringProjection domain_id — unchanged by reuse
parameterKeyIdstringThe one canonical key this projection expresses
occurredAtDateWhen the projection was restored

Raised by

  • RevitParameterProjection.reactivateFromArchiveapps/api-v1/src/modules/bim-ontology/core/domain/revit/RevitParameterProjection.ts
  • The reuseArchivedProjection helper inside EnsureRevitProjectionForParameterKeyUseCaseapps/api-v1/src/modules/bim-ontology/core/application/use-cases/RevitProjectionAuthoringUseCases.ts. Reuse requires the key to be approved and to carry usage: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.