eba4fd1
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<McpServices>;