feat: workshop plugins

This commit is contained in:
neoapps-dev
2026-06-14 18:59:35 +03:00
parent 8e27a4bed1
commit 0f3ddae8c7
6 changed files with 318 additions and 32 deletions
+20
View File
@@ -26,3 +26,23 @@ pub fn list_directory(path: String) -> Result<Vec<DirEntry>, String> {
}
Ok(results)
}
#[tauri::command]
pub fn create_plugin_dir(app: tauri::AppHandle, plugin_id: String) -> Result<String, String> {
let dir = crate::util::get_app_dir(&app)
.join("plugins")
.join(&plugin_id);
fs::create_dir_all(&dir).map_err(|e| e.to_string())?;
Ok(dir.to_string_lossy().to_string())
}
#[tauri::command]
pub fn remove_plugin_dir(app: tauri::AppHandle, plugin_id: String) -> Result<(), String> {
let dir = crate::util::get_app_dir(&app)
.join("plugins")
.join(&plugin_id);
if dir.exists() {
fs::remove_dir_all(&dir).map_err(|e| e.to_string())?;
}
Ok(())
}
+2
View File
@@ -98,6 +98,8 @@ pub fn run() {
relay::join_game,
plugins::get_plugins_dir,
plugins::list_directory,
plugins::create_plugin_dir,
plugins::remove_plugin_dir,
])
.setup(|app| {
let app_handle = app.handle().clone();