add own method for delete

This commit is contained in:
Boy132 2025-11-07 11:05:26 +01:00
parent 3eba089c47
commit 889daf2fab
3 changed files with 8 additions and 3 deletions

View File

@ -20,6 +20,7 @@ use Illuminate\Support\Facades\Facade;
* @method static void updatePlugin(Plugin $plugin)
* @method static void downloadPluginFromFile(UploadedFile $file)
* @method static void downloadPluginFromUrl(string $url)
* @method static void deletePlugin(Plugin $plugin)
* @method static void enablePlugin(string|Plugin $plugin)
* @method static void disablePlugin(string|Plugin $plugin)
* @method static void updateLoadOrder(array<int, string> $order)

View File

@ -18,7 +18,6 @@ use Filament\Schemas\Components\Tabs\Tab;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\File;
class PluginResource extends Resource
{
@ -187,7 +186,7 @@ class PluginResource extends Resource
->requiresConfirmation()
->hidden(fn (Plugin $plugin) => $plugin->isInstalled())
->action(function (Plugin $plugin, $livewire) {
File::deleteDirectory(plugin_path($plugin->id));
Plugins::deletePlugin($plugin);
redirect(ListPlugins::getUrl(['tab' => $livewire->activeTab]));

View File

@ -275,7 +275,7 @@ class PluginService
$this->buildAssets();
if ($deleteFiles) {
File::deleteDirectory(plugin_path($plugin->id));
$this->deletePlugin($plugin);
} else {
$this->setStatus($plugin, PluginStatus::NotInstalled);
}
@ -342,6 +342,11 @@ class PluginService
$this->downloadPluginFromFile(new UploadedFile($tmpPath, $info['basename'], 'application/zip'), $cleanDownload);
}
public function deletePlugin(Plugin $plugin): void
{
File::deleteDirectory(plugin_path($plugin->id));
}
public function enablePlugin(string|Plugin $plugin): void
{
$this->setStatus($plugin, PluginStatus::Enabled);