use std::sync::Arc;
use xecute::prelude::*;
use super::super::{entity::__TYPE__, repository::{__TYPE__Repository, CapacityExceeded}};
pub struct Create__TYPE__Command {
pub name: String,
}
#[derive(Injectable)]
pub struct Create__TYPE__Handler {
repository: Arc<__TYPE__Repository>,
}
impl Create__TYPE__Handler {
pub async fn execute(&self, command: Create__TYPE__Command) -> Result<__TYPE__, CapacityExceeded> {
self.repository.create(command.name.trim().to_owned()).await
}
}