use std::sync::Arc; use async_trait::async_trait; use como_domain::{ projects::{mutation::CreateProjectMutation, queries::GetProjectQuery, ProjectDto}, Context, }; pub type DynProjectService = Arc; #[async_trait] pub trait ProjectService { async fn get_project( &self, context: &Context, query: GetProjectQuery, ) -> anyhow::Result; async fn get_projects(&self, context: &Context) -> anyhow::Result>; async fn create_project( &self, context: &Context, name: CreateProjectMutation, ) -> anyhow::Result; }