VersionedTargetRows
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:24
The one place saveDraft’s shared implementation (versions/saveDraft.ts)
learns how a versioned collection’s table differs from vex_globals’s
single shared table — every other step of the save-a-draft pipeline
(bootstrap/patch the draft row, snapshot the published state, record
history) is identical code for either kind, driven entirely through this
descriptor.
Type Parameters
Section titled “Type Parameters”DataModel
Section titled “DataModel”DataModel extends GenericDataModel
The Convex data model (inferred from ctx).
Properties
Section titled “Properties”buildDraftInsert
Section titled “buildDraftInsert”buildDraftInsert: (
userFields,publishedId?) =>Record<string,unknown>
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:43
Builds the DB payload to insert a new draft row.
Parameters
Section titled “Parameters”userFields
Section titled “userFields”Record<string, unknown>
publishedId?
Section titled “publishedId?”string
Returns
Section titled “Returns”Record<string, unknown>
buildDraftPatch
Section titled “buildDraftPatch”buildDraftPatch: (
row,patch) =>Record<string,unknown>
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:48
Builds the DB payload to patch patch onto an existing draft row.
Parameters
Section titled “Parameters”Record<string, unknown>
Record<string, unknown>
Returns
Section titled “Returns”Record<string, unknown>
buildDraftReplace
Section titled “buildDraftReplace”buildDraftReplace: (
row,userFields) =>Record<string,unknown>
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:56
Builds the DB payload to replace every user field on an existing draft
row with userFields — fields absent from userFields are cleared.
Parameters
Section titled “Parameters”Record<string, unknown>
userFields
Section titled “userFields”Record<string, unknown>
Returns
Section titled “Returns”Record<string, unknown>
documentId
Section titled “documentId”documentId:
string
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:35
The id vex_versions history rows are keyed on — the published row’s
_id for a collection (or the draft-only row’s _id when the document
has never been published), or the global’s slug. Resolved once, up
front, so it never shifts across a bootstrap this call might perform.
draftRow
Section titled “draftRow”draftRow:
Record<string,unknown> |null
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:39
The currently-stored draft row (vex_status === "draft"), if any.
historyCollection
Section titled “historyCollection”historyCollection:
string
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:28
The collection value createVersion/getLatestVersion group history rows under.
publishedRow
Section titled “publishedRow”publishedRow:
Record<string,unknown> |null
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:37
The currently-stored published row (vex_status !== "draft"), if any.
table:
TableNamesInDataModel<DataModel>
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:26
The table the published/draft rows live in.
toUserFields
Section titled “toUserFields”toUserFields: (
row) =>Record<string,unknown>
Defined in: packages/core/src/versions/resolveVersionedTarget.ts:41
Extracts the clean user-field document from a stored row — storedDoc/snapshot shape.
Parameters
Section titled “Parameters”Record<string, unknown>
Returns
Section titled “Returns”Record<string, unknown>