immutable properties complete and tested

This commit is contained in:
2026-07-21 16:25:12 -04:00
parent ff4b9cd24d
commit 350fe29fef
7 changed files with 338 additions and 88 deletions

View File

@ -149,6 +149,9 @@ pub struct SchemaObject {
#[serde(default)]
#[serde(skip_serializing_if = "Option::is_none")]
pub extensible: Option<bool>,
#[serde(default)]
#[serde(skip_serializing_if = "Option::is_none")]
pub immutable: Option<bool>,
// Contains ALL structural fields perfectly flattened from the ENTIRE Database inheritance tree (e.g. `entity` fields like `id`) as well as local fields hidden inside conditional `cases` blocks.
// This JSON exported array gives clients absolute deterministic visibility to O(1) validation and masking bounds without duplicating structural memory.
@ -306,4 +309,8 @@ impl SchemaObject {
false
}
pub fn is_immutable(&self) -> bool {
self.immutable == Some(true)
}
}