refactor(search): scoped Arc dep instead of AppContext
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
use crate::context::AppContext;
|
||||
use std::sync::Arc;
|
||||
use domain::{
|
||||
errors::DomainError,
|
||||
models::{SearchQuery, SearchResults},
|
||||
ports::SearchPort,
|
||||
};
|
||||
|
||||
pub async fn execute(ctx: &AppContext, query: SearchQuery) -> Result<SearchResults, DomainError> {
|
||||
ctx.repos.search_port.search(&query).await
|
||||
pub async fn execute(
|
||||
search_port: Arc<dyn SearchPort>,
|
||||
query: SearchQuery,
|
||||
) -> Result<SearchResults, DomainError> {
|
||||
search_port.search(&query).await
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
@@ -7,7 +7,7 @@ use crate::test_helpers::TestContextBuilder;
|
||||
async fn returns_empty_results() {
|
||||
let ctx = TestContextBuilder::new().build();
|
||||
|
||||
let result = execute::execute(&ctx, SearchQuery::default())
|
||||
let result = execute::execute(ctx.repos.search_port.clone(), SearchQuery::default())
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user