Magidoc

ProjectBudgetVersion
Object

Fields

#

_id

ID !
Non-null

workspaceId

ID !
Non-null

projectId

ID !
Non-null

projectName

Name of the project this document is filed against, resolved at read time and scoped to what the requesting member may see. Null when the project no longer exists or is not visible to them — clients render their unlinked fallback for both, and must never assume the name of a project the reader cannot open.

projectBudgetPlanId

ID !
Non-null

sourceType

Non-null

sourceId

ID !
Non-null

sourceRevision

Non-null

version

Non-null

status

Non-null

total

Non-null

lineSnapshots

Non-null

approvalRoute

The approval rule holding this baseline, copied at the cut with its steps in consumption order. Null on every cut no rule matched, and on the proposal-side paths that never consult rules — a client agreed those numbers, so internal governance has nothing to say about them.

changePercent

How far this baseline moved the live one when the rules were evaluated, as a fraction (0.2 is 20%) — the number a materiality threshold was compared against. Null on a first baseline, which restates nothing, and wherever no rules were consulted.

lineSnapshotCount

How many lineSnapshots this version froze. The list query computes it in Mongo via $size, so the array itself never leaves the database; null on paths that select the array directly.

deltaCount

How many deltas this version carries. The list query computes it in Mongo via $size, so the cumulative history never leaves the database; null on paths that select the array directly.

approvedAt

approvedBy

approvalNote

rejectedAt

rejectedBy

createdAt

Non-null

modifiedAt

Non-null

createdBy

ID !
Non-null

Who cut the baseline. With approvedBy this is the receipt: self-approval is permitted and reads as the two being the same person.

modifiedBy

ID !
Non-null

Usages

#

References

#

  • Field getProjectBudgetVersions from Query
  • Field createProjectBudgetVersion from Mutation
  • Field approveProjectBudgetVersion from Mutation