nestrs_webhooks/
module.rs1use crate::options::WebhooksOptions;
2use crate::WebhooksService;
3use axum::Router;
4use nestrs_core::{DynamicModule, ProviderRegistry};
5use std::any::TypeId;
6use std::sync::Arc;
7
8pub struct WebhooksModule;
9
10impl WebhooksModule {
11 pub fn register(options: WebhooksOptions) -> DynamicModule {
12 let mut registry = ProviderRegistry::new();
13 let service = Arc::new(WebhooksService::new(
14 options.secret.clone(),
15 options.outbox.clone(),
16 ));
17 registry.register_use_value::<WebhooksService>(service);
18 DynamicModule::from_parts(
19 registry,
20 Router::new(),
21 vec![TypeId::of::<WebhooksService>()],
22 )
23 }
24}