Files
k-photos/crates/worker/src/plugins/no_op.rs
Gabriel Kaszewski dacfc3d453 feat: worker plugin system — domain ports, pipeline executor, built-in plugins
- PluginExecutor + PluginRegistry ports in domain
- ExecutePipelineCommand orchestrates job→pipeline→plugin steps
- ProcessNextJobCommand polls + executes next queued job
- InMemoryPluginRegistry, NoOp/MetadataExtractor/SidecarSync plugins
- Worker main rewritten with poll loop, factories module for DI
- Deleted template job/runner/jobs remnants
2026-05-31 11:35:05 +02:00

27 lines
594 B
Rust

use async_trait::async_trait;
use domain::{
errors::DomainError,
ports::PluginExecutor,
value_objects::{StructuredData, SystemId},
};
use tracing::info;
pub struct NoOpPlugin;
#[async_trait]
impl PluginExecutor for NoOpPlugin {
fn plugin_name(&self) -> &str {
"no_op"
}
async fn execute(
&self,
asset_id: Option<SystemId>,
_payload: &StructuredData,
_config: &StructuredData,
) -> Result<StructuredData, DomainError> {
info!(asset_id = ?asset_id, "no_op plugin executed");
Ok(StructuredData::new())
}
}