use axum::Router;
use std::sync::Arc;
use super::{
integration_connector_handler::create_integration_connector_routes,
integration_event_handler::create_integration_event_routes,
};
use crate::application::service::{
IntegrationConnectorService,
IntegrationAccountService,
IntegrationEventService,
};
pub struct HttpServices {
pub integration_connector: Arc<IntegrationConnectorService>,
pub integration_account: Arc<IntegrationAccountService>,
pub integration_event: Arc<IntegrationEventService>,
}
pub fn configure_routes(services: HttpServices) -> Router {
Router::new()
.merge(create_integration_connector_routes(services.integration_connector))
.merge(create_integration_event_routes(services.integration_event))
}
pub mod individual {
use super::*;
pub fn integration_connector_routes(service: Arc<IntegrationConnectorService>) -> Router {
create_integration_connector_routes(service)
}
pub fn integration_event_routes(service: Arc<IntegrationEventService>) -> Router {
create_integration_event_routes(service)
}
}