pub struct Schematic {
pub name: SchemaName,
/* private fields */
}Expand description
A collection of defined collections and views.
Fields§
§name: SchemaNameThe name of the schema this was built from.
Implementations§
Source§impl Schematic
impl Schematic
Sourcepub fn from_schema<S: Schema + ?Sized>() -> Result<Self, Error>
pub fn from_schema<S: Schema + ?Sized>() -> Result<Self, Error>
Returns an initialized version from S.
Sourcepub fn define_collection<C: Collection + 'static>(
&mut self,
) -> Result<(), Error>
pub fn define_collection<C: Collection + 'static>( &mut self, ) -> Result<(), Error>
Adds the collection C and its views.
Sourcepub fn define_view<V: MapReduce + ViewSchema<View = V> + SerializedView + Clone + 'static>(
&mut self,
view: V,
) -> Result<(), Error>
pub fn define_view<V: MapReduce + ViewSchema<View = V> + SerializedView + Clone + 'static>( &mut self, view: V, ) -> Result<(), Error>
Adds the view V.
Sourcepub fn define_view_with_schema<V: SerializedView + 'static, S: MapReduce + ViewSchema<View = V> + 'static>(
&mut self,
view: V,
schema: S,
) -> Result<(), Error>
pub fn define_view_with_schema<V: SerializedView + 'static, S: MapReduce + ViewSchema<View = V> + 'static>( &mut self, view: V, schema: S, ) -> Result<(), Error>
Adds the view V.
Sourcepub fn contains_collection<C: Collection + 'static>(&self) -> bool
pub fn contains_collection<C: Collection + 'static>(&self) -> bool
Returns true if this schema contains the collection C.
Sourcepub fn collection_primary_key_description<'a>(
&'a self,
collection: &CollectionName,
) -> Option<&'a KeyDescription>
pub fn collection_primary_key_description<'a>( &'a self, collection: &CollectionName, ) -> Option<&'a KeyDescription>
Returns the description of the primary keyof the collection with the
given name, or None if the collection can’t be found.
Sourcepub fn next_id_for_collection(
&self,
collection: &CollectionName,
id: Option<DocumentId>,
) -> Result<DocumentId, Error>
pub fn next_id_for_collection( &self, collection: &CollectionName, id: Option<DocumentId>, ) -> Result<DocumentId, Error>
Returns the next id in sequence for the collection, if the primary key type supports the operation and the next id would not overflow.
Sourcepub fn view_by_name(&self, name: &ViewName) -> Result<&dyn Serialized, Error>
pub fn view_by_name(&self, name: &ViewName) -> Result<&dyn Serialized, Error>
Looks up a view::Serialized by name.
Sourcepub fn view<V: View + 'static>(&self) -> Result<&dyn Serialized, Error>
pub fn view<V: View + 'static>(&self) -> Result<&dyn Serialized, Error>
Looks up a view::Serialized through the the type V.
Sourcepub fn views(&self) -> impl Iterator<Item = &dyn Serialized>
pub fn views(&self) -> impl Iterator<Item = &dyn Serialized>
Iterates over all registered views.
Sourcepub fn views_in_collection(
&self,
collection: &CollectionName,
) -> impl Iterator<Item = &dyn Serialized>
pub fn views_in_collection( &self, collection: &CollectionName, ) -> impl Iterator<Item = &dyn Serialized>
Iterates over all views that belong to collection.
Sourcepub fn eager_views_in_collection(
&self,
collection: &CollectionName,
) -> impl Iterator<Item = &dyn Serialized>
pub fn eager_views_in_collection( &self, collection: &CollectionName, ) -> impl Iterator<Item = &dyn Serialized>
Iterates over all views that are eagerly updated that belong to
collection.
Sourcepub fn encryption_key_for_collection(
&self,
collection: &CollectionName,
) -> Option<&KeyId>
pub fn encryption_key_for_collection( &self, collection: &CollectionName, ) -> Option<&KeyId>
Returns a collection’s default encryption key, if one was defined.
Sourcepub fn collections(&self) -> impl Iterator<Item = &CollectionName>
pub fn collections(&self) -> impl Iterator<Item = &CollectionName>
Returns a list of all collections contained in this schematic.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Schematic
impl !RefUnwindSafe for Schematic
impl Send for Schematic
impl Sync for Schematic
impl Unpin for Schematic
impl !UnwindSafe for Schematic
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more