pub trait Module: Send + Sync {
// Required methods
fn name(&self) -> &'static str;
fn configure(
&self,
builder: ContainerBuilder,
) -> Result<ContainerBuilder, ModuleError>;
// Provided methods
fn routes(&self) -> Vec<RouteDefinition> { ... }
fn middleware(&self) -> Vec<MiddlewareDefinition> { ... }
fn boot(&self, _container: &Container) -> Result<(), ModuleError> { ... }
fn dependencies(&self) -> Vec<&'static str> { ... }
fn version(&self) -> Option<&'static str> { ... }
fn description(&self) -> Option<&'static str> { ... }
fn is_optional(&self) -> bool { ... }
}
Expand description
Application module trait that integrates with the framework
Required Methods§
Sourcefn configure(
&self,
builder: ContainerBuilder,
) -> Result<ContainerBuilder, ModuleError>
fn configure( &self, builder: ContainerBuilder, ) -> Result<ContainerBuilder, ModuleError>
Configure services in the container builder
Provided Methods§
Sourcefn routes(&self) -> Vec<RouteDefinition>
fn routes(&self) -> Vec<RouteDefinition>
Define routes for this module
Sourcefn middleware(&self) -> Vec<MiddlewareDefinition>
fn middleware(&self) -> Vec<MiddlewareDefinition>
Define middleware for this module
Sourcefn boot(&self, _container: &Container) -> Result<(), ModuleError>
fn boot(&self, _container: &Container) -> Result<(), ModuleError>
Boot the module after container is built
Sourcefn dependencies(&self) -> Vec<&'static str>
fn dependencies(&self) -> Vec<&'static str>
Module dependencies (other modules that must be loaded first)
Sourcefn description(&self) -> Option<&'static str>
fn description(&self) -> Option<&'static str>
Module description
Sourcefn is_optional(&self) -> bool
fn is_optional(&self) -> bool
Check if this module can be disabled