Skip to main content

nestrs_workflows/
module.rs

1use crate::options::WorkflowsOptions;
2use crate::WorkflowsService;
3use axum::Router;
4use nestrs_core::{DynamicModule, ProviderRegistry};
5use std::any::TypeId;
6use std::sync::Arc;
7
8pub struct WorkflowsModule;
9
10impl WorkflowsModule {
11    pub fn register(options: WorkflowsOptions) -> DynamicModule {
12        let mut registry = ProviderRegistry::new();
13        let service = Arc::new(WorkflowsService::from_options(&options));
14        registry.register_use_value::<WorkflowsService>(service);
15        DynamicModule::from_parts(
16            registry,
17            Router::new(),
18            vec![TypeId::of::<WorkflowsService>()],
19        )
20    }
21}