Revit Parameter Projection Approved
A steward promoted a Revit projection from `draft` to `approved`.
Purpose
Records steward promotion of a RevitParameterProjection after RevitProjectionApprovePolicy passes. Approval is idempotent when already approved and refused when archived — an archived projection must be reused back into draft first. Approve-time invariants that draft is allowed to violate (complete primary-usage facts, at least one enabled application for non-built-in definitions) are enforced here.
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 |
parameterKeyId | string | The one canonical key this projection expresses |
occurredAt | Date | When approval happened |
Raised by
RevitParameterProjection.approve—apps/api-v1/src/modules/bim-ontology/core/domain/revit/RevitParameterProjection.tsApproveRevitParameterProjectionUseCase—apps/api-v1/src/modules/bim-ontology/core/application/use-cases/ApproveRevitParameterProjectionUseCase.ts- HTTP: approveRevitParameterProjection
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. Nothing is triggered by projection approval — the shared parameter file is generated on demand.
Related
- RevitParameterProjection
- RevitParameterProjectionDemoted — the reverse transition
- ObjectClass — a class that lost its classification blocks projection approval