puerto 0.7.0

Puerto — Rust full-stack DDD framework CLI. Scaffolds Clean Architecture projects with auto-wired DI, SQLx support, and zero manual wiring. Formerly harbor-framework.
use std::sync::Arc;

use async_trait::async_trait;
use business::domain::{
    greeting::{errors::GreetingError, model::Greeting, repository::GreetingRepositoryTrait},
    logger::LoggerTrait,
};

pub struct InMemoryGreetingRepository {
    logger: Arc<dyn LoggerTrait>,
}

impl InMemoryGreetingRepository {
    pub fn new(logger: Arc<dyn LoggerTrait>) -> Self {
        Self { logger }
    }
}

#[async_trait]
impl GreetingRepositoryTrait for InMemoryGreetingRepository {
    async fn find_by_name(&self, name: &str) -> Result<Option<Greeting>, GreetingError> {
        self.logger.debug(&format!("find_by_name: {name}"));
        Ok(None)
    }
}