pub struct UpdatePageRequest {
pub content: String,
pub source_memory_ids: Vec<String>,
pub expected_version: Option<i64>,
pub caller_id: Option<String>,
pub operation_id: Option<String>,
}Fields§
§content: String§source_memory_ids: Vec<String>Source memory IDs to associate with this page version.
Omitted or empty by HTTP callers that preserve existing sources;
always populated by post_write::update_page.
expected_version: Option<i64>Optimistic-concurrency guard for the M0 write gate. Some(v) lands the
write only while the stored page is still at version v; a mismatch is
refused instead of overwriting whatever landed in between.
Omitted by legacy clients, in which case the server guards on the version it loaded to make the ownership decision — so the decision and the write always describe the same row.
caller_id: Option<String>Retry identity. Sent together, caller_id and operation_id make the
write replayable: the same pair with the same request replays the
stored response instead of writing again, and the same pair with a
different request is a conflict. This is what turns “the response was
lost, the client retried” into a no-op rather than a second version.
Either one alone is ignored — an operation id is only meaningful within the caller that minted it.
operation_id: Option<String>