use std::sync::Arc; use export::AppState; #[derive(Clone)] pub struct McpServices { pub state: AppState, pub auth: auth::services::AuthService, pub user: user::services::service::UserService, pub space: space::services::service::SpaceService, pub git: git::service::GitService, pub issues: issues::services::service::IssueService, pub pulls: pulls::services::service::PullService, } impl McpServices { pub fn new(state: AppState) -> Self { Self { auth: auth::services::AuthService::new(state.clone()), user: user::services::service::UserService::new(state.clone()), space: space::services::service::SpaceService::new(state.clone()), git: git::service::GitService::new(state.clone()), issues: issues::services::service::IssueService::new(state.clone()), pulls: pulls::services::service::PullService::new(state.clone()), state, } } } pub type SharedServices = Arc;