summaryrefslogtreecommitdiffstats
path: root/plugins/plugin_lua/src/builder.rs
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/plugin_lua/src/builder.rs')
-rw-r--r--plugins/plugin_lua/src/builder.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/plugins/plugin_lua/src/builder.rs b/plugins/plugin_lua/src/builder.rs
index 86f160dd..3e7f8d87 100644
--- a/plugins/plugin_lua/src/builder.rs
+++ b/plugins/plugin_lua/src/builder.rs
@@ -37,10 +37,18 @@ impl<PD: PluginDirectory> PluginBuilder<PD> for LuaPluginBuilder {
) -> Result<(), tedge_api::error::PluginError> {
config
.clone()
- .try_into()
- .map(|_: Config| ())
+ .try_into::<Config>()
.map_err(crate::error::Error::ConfigParseFailed)
- .map_err(PluginError::from)
+ .and_then(|config| {
+ if !config.script.exists() {
+ Err(crate::error::Error::ScriptDoesNotExist(
+ config.script.clone(),
+ ))
+ } else {
+ Ok(())
+ }
+ })
+ .map_err(tedge_api::error::PluginError::from)
}
async fn instantiate(
@@ -49,11 +57,11 @@ impl<PD: PluginDirectory> PluginBuilder<PD> for LuaPluginBuilder {
_cancellation_token: CancellationToken,
_plugin_dir: &PD,
) -> Result<BuiltPlugin, PluginError> {
- let _config = config
+ let config = config
.try_into::<Config>()
.map_err(crate::error::Error::ConfigParseFailed)
.map_err(PluginError::from)?;
- Ok(LuaPlugin::new().finish())
+ Ok(LuaPlugin::new(&config).finish())
}
}