pub trait ChangeRepository {
Show 17 methods
// Required methods
fn resolve_target_with_options(
&self,
input: &str,
options: ResolveTargetOptions,
) -> ChangeTargetResolution;
fn suggest_targets(&self, input: &str, max: usize) -> Vec<String>;
fn exists(&self, id: &str) -> bool;
fn exists_with_filter(
&self,
id: &str,
filter: ChangeLifecycleFilter,
) -> bool;
fn get_with_filter(
&self,
id: &str,
filter: ChangeLifecycleFilter,
) -> Result<Change, DomainError>;
fn list_with_filter(
&self,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>;
fn list_by_module_with_filter(
&self,
module_id: &str,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>;
fn list_incomplete_with_filter(
&self,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>;
fn list_complete_with_filter(
&self,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>;
fn get_summary_with_filter(
&self,
id: &str,
filter: ChangeLifecycleFilter,
) -> Result<ChangeSummary, DomainError>;
// Provided methods
fn resolve_target(&self, input: &str) -> ChangeTargetResolution { ... }
fn get(&self, id: &str) -> Result<Change, DomainError> { ... }
fn list(&self) -> Result<Vec<ChangeSummary>, DomainError> { ... }
fn list_by_module(
&self,
module_id: &str,
) -> Result<Vec<ChangeSummary>, DomainError> { ... }
fn list_incomplete(&self) -> Result<Vec<ChangeSummary>, DomainError> { ... }
fn list_complete(&self) -> Result<Vec<ChangeSummary>, DomainError> { ... }
fn get_summary(&self, id: &str) -> Result<ChangeSummary, DomainError> { ... }
}Expand description
Port for accessing change data.
Domain and adapters should depend on this interface rather than concrete storage details.
Required Methods§
Sourcefn resolve_target_with_options(
&self,
input: &str,
options: ResolveTargetOptions,
) -> ChangeTargetResolution
fn resolve_target_with_options( &self, input: &str, options: ResolveTargetOptions, ) -> ChangeTargetResolution
Resolve an input change target into a canonical change id using options.
Sourcefn suggest_targets(&self, input: &str, max: usize) -> Vec<String>
fn suggest_targets(&self, input: &str, max: usize) -> Vec<String>
Return best-effort suggestions for a change target.
Sourcefn exists_with_filter(&self, id: &str, filter: ChangeLifecycleFilter) -> bool
fn exists_with_filter(&self, id: &str, filter: ChangeLifecycleFilter) -> bool
Check if a change exists with a lifecycle filter.
Sourcefn get_with_filter(
&self,
id: &str,
filter: ChangeLifecycleFilter,
) -> Result<Change, DomainError>
fn get_with_filter( &self, id: &str, filter: ChangeLifecycleFilter, ) -> Result<Change, DomainError>
Get a full change with all artifacts loaded, scoped by lifecycle.
Sourcefn list_with_filter(
&self,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>
fn list_with_filter( &self, filter: ChangeLifecycleFilter, ) -> Result<Vec<ChangeSummary>, DomainError>
List changes as summaries with a lifecycle filter.
Sourcefn list_by_module_with_filter(
&self,
module_id: &str,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>
fn list_by_module_with_filter( &self, module_id: &str, filter: ChangeLifecycleFilter, ) -> Result<Vec<ChangeSummary>, DomainError>
List changes belonging to a specific module with a lifecycle filter.
Sourcefn list_incomplete_with_filter(
&self,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>
fn list_incomplete_with_filter( &self, filter: ChangeLifecycleFilter, ) -> Result<Vec<ChangeSummary>, DomainError>
List changes with incomplete tasks and a lifecycle filter.
Sourcefn list_complete_with_filter(
&self,
filter: ChangeLifecycleFilter,
) -> Result<Vec<ChangeSummary>, DomainError>
fn list_complete_with_filter( &self, filter: ChangeLifecycleFilter, ) -> Result<Vec<ChangeSummary>, DomainError>
List changes with all tasks complete and a lifecycle filter.
Sourcefn get_summary_with_filter(
&self,
id: &str,
filter: ChangeLifecycleFilter,
) -> Result<ChangeSummary, DomainError>
fn get_summary_with_filter( &self, id: &str, filter: ChangeLifecycleFilter, ) -> Result<ChangeSummary, DomainError>
Get a summary for a specific change (lightweight) with a lifecycle filter.
Provided Methods§
Sourcefn resolve_target(&self, input: &str) -> ChangeTargetResolution
fn resolve_target(&self, input: &str) -> ChangeTargetResolution
Resolve an input change target into a canonical change id.
Sourcefn get(&self, id: &str) -> Result<Change, DomainError>
fn get(&self, id: &str) -> Result<Change, DomainError>
Get a full change with all artifacts loaded (active lifecycle only).
Sourcefn list(&self) -> Result<Vec<ChangeSummary>, DomainError>
fn list(&self) -> Result<Vec<ChangeSummary>, DomainError>
List all active changes as summaries (lightweight).
Sourcefn list_by_module(
&self,
module_id: &str,
) -> Result<Vec<ChangeSummary>, DomainError>
fn list_by_module( &self, module_id: &str, ) -> Result<Vec<ChangeSummary>, DomainError>
List active changes belonging to a specific module.
Sourcefn list_incomplete(&self) -> Result<Vec<ChangeSummary>, DomainError>
fn list_incomplete(&self) -> Result<Vec<ChangeSummary>, DomainError>
List active changes with incomplete tasks.
Sourcefn list_complete(&self) -> Result<Vec<ChangeSummary>, DomainError>
fn list_complete(&self) -> Result<Vec<ChangeSummary>, DomainError>
List active changes with all tasks complete.
Sourcefn get_summary(&self, id: &str) -> Result<ChangeSummary, DomainError>
fn get_summary(&self, id: &str) -> Result<ChangeSummary, DomainError>
Get a summary for a specific active change (lightweight).