d1ad08ef3a
Implement a priority-based merge system for pipeline configuration. Parameters carry their source (Base, Courier, Bakerd) and only higher-priority writers override. Migrate notification, prebake, bake, and finalize config to use ParamVal wrappers. Remove hardcoded constants and the InteractiveServer component. BREAKING CHANGE: Remove NotAvailable variant from MethodStatus enum
39 lines
884 B
Rust
39 lines
884 B
Rust
use crate::finalize::plugin::AsyncPluginFn;
|
|
pub mod dummy;
|
|
mod insitenotify;
|
|
mod mail;
|
|
mod satori;
|
|
mod webhook;
|
|
pub struct InternalPlugin {
|
|
pub name: &'static str,
|
|
pub entry: Box<dyn AsyncPluginFn>,
|
|
}
|
|
|
|
pub fn get_internal_plugin() -> Vec<InternalPlugin> {
|
|
vec![
|
|
InternalPlugin {
|
|
name: "in-site-notify",
|
|
entry: Box::new(insitenotify::InsiteNotify),
|
|
},
|
|
InternalPlugin {
|
|
name: "mail",
|
|
entry: Box::new(mail::Mail),
|
|
},
|
|
InternalPlugin {
|
|
name: "satori",
|
|
entry: Box::new(satori::Satori),
|
|
},
|
|
InternalPlugin {
|
|
name: "webhook",
|
|
entry: Box::new(webhook::Webhook),
|
|
},
|
|
]
|
|
}
|
|
|
|
pub fn get_dummy_plugin() -> Vec<InternalPlugin> {
|
|
vec![InternalPlugin {
|
|
name: "dummy",
|
|
entry: Box::new(dummy::Dummy),
|
|
}]
|
|
}
|