pub struct RlsConfig {
pub enabled: bool,
}Expand description
Declaration that this deployment relies on database Row-Level Security.
Compiled from [security.rls] in fraiseql.toml. FraiseQL does not author RLS
policies — they live in the database, keyed on the session variables the runtime
sets from the request identity — so the compiled schema can only carry the
operator’s declaration that they exist. The server turns that declaration into
a checkable claim: when a multi-tenant schema declares RLS, boot verifies against
the live catalog that policies really are in force, and refuses to start if they
are not (#762).
Before this section existed, CompiledSchema::has_rls_configured counted
security.additional["policies"] — a key #612 made a hard compile error — so it
answered false for every schema any supported workflow could produce, and the
gates that depend on it were inert (#758).
Fields§
§enabled: boolWhether database Row-Level Security is relied upon for data isolation.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RlsConfig
impl<'de> Deserialize<'de> for RlsConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RlsConfig
impl StructuralPartialEq for RlsConfig
Auto Trait Implementations§
impl Freeze for RlsConfig
impl RefUnwindSafe for RlsConfig
impl Send for RlsConfig
impl Sync for RlsConfig
impl Unpin for RlsConfig
impl UnsafeUnpin for RlsConfig
impl UnwindSafe for RlsConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.