From 8008d9551033f1587ed3b9c7c03cf13b9f544edf Mon Sep 17 00:00:00 2001 From: TinyMemoria <144521819+TinyMemoria@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:50:41 +1000 Subject: [PATCH 1/4] delete subdomain on server delete --- subdomains/src/Providers/SubdomainsPluginProvider.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/subdomains/src/Providers/SubdomainsPluginProvider.php b/subdomains/src/Providers/SubdomainsPluginProvider.php index eb6939a9..fc87a12a 100644 --- a/subdomains/src/Providers/SubdomainsPluginProvider.php +++ b/subdomains/src/Providers/SubdomainsPluginProvider.php @@ -8,6 +8,7 @@ use Boy132\Subdomains\Filament\Admin\Resources\Servers\RelationManagers\SubdomainRelationManager; use Boy132\Subdomains\Models\Subdomain; use Illuminate\Support\Facades\Http; +use Exception; use Illuminate\Support\ServiceProvider; class SubdomainsPluginProvider extends ServiceProvider @@ -32,5 +33,13 @@ public function boot(): void ); Server::resolveRelationUsing('subdomains', fn (Server $server) => $server->hasMany(Subdomain::class, 'server_id', 'id')); + + Server::deleting(function (Server $server) { + foreach ($server->subdomains()->get() as $subdomain) { + try { + $subdomain->delete(); + } catch (Exception $exception) {} + } + }); } } From 30588b1c1f8c81cc6e55cdc2bd2b03eedd7ad9df Mon Sep 17 00:00:00 2001 From: TinyMemoria <144521819+TinyMemoria@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:11:15 +1000 Subject: [PATCH 2/4] log the exception --- subdomains/src/Providers/SubdomainsPluginProvider.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/subdomains/src/Providers/SubdomainsPluginProvider.php b/subdomains/src/Providers/SubdomainsPluginProvider.php index fc87a12a..38fa7c9f 100644 --- a/subdomains/src/Providers/SubdomainsPluginProvider.php +++ b/subdomains/src/Providers/SubdomainsPluginProvider.php @@ -38,7 +38,9 @@ public function boot(): void foreach ($server->subdomains()->get() as $subdomain) { try { $subdomain->delete(); - } catch (Exception $exception) {} + } catch (Exception $exception) { + report($exception); + } } }); } From dd4f57160323750696c927a0570eb32541c3c067 Mon Sep 17 00:00:00 2001 From: TinyMemoria <144521819+TinyMemoria@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:50:09 +1000 Subject: [PATCH 3/4] pint fixes --- subdomains/src/Providers/SubdomainsPluginProvider.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/subdomains/src/Providers/SubdomainsPluginProvider.php b/subdomains/src/Providers/SubdomainsPluginProvider.php index 38fa7c9f..ec958ba0 100644 --- a/subdomains/src/Providers/SubdomainsPluginProvider.php +++ b/subdomains/src/Providers/SubdomainsPluginProvider.php @@ -7,8 +7,8 @@ use App\Models\Server; use Boy132\Subdomains\Filament\Admin\Resources\Servers\RelationManagers\SubdomainRelationManager; use Boy132\Subdomains\Models\Subdomain; -use Illuminate\Support\Facades\Http; use Exception; +use Illuminate\Support\Facades\Http; use Illuminate\Support\ServiceProvider; class SubdomainsPluginProvider extends ServiceProvider @@ -35,6 +35,7 @@ public function boot(): void Server::resolveRelationUsing('subdomains', fn (Server $server) => $server->hasMany(Subdomain::class, 'server_id', 'id')); Server::deleting(function (Server $server) { + /** @phpstan-ignore-next-line */ foreach ($server->subdomains()->get() as $subdomain) { try { $subdomain->delete(); From ba4455f0663acdb84fdffbba973bb75aec38fa64 Mon Sep 17 00:00:00 2001 From: TinyMemoria <144521819+TinyMemoria@users.noreply.github.com> Date: Mon, 26 Jan 2026 17:07:42 +1000 Subject: [PATCH 4/4] Apply suggestion from @Boy132 Co-authored-by: Boy132 --- subdomains/src/Providers/SubdomainsPluginProvider.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subdomains/src/Providers/SubdomainsPluginProvider.php b/subdomains/src/Providers/SubdomainsPluginProvider.php index ec958ba0..b10994be 100644 --- a/subdomains/src/Providers/SubdomainsPluginProvider.php +++ b/subdomains/src/Providers/SubdomainsPluginProvider.php @@ -35,8 +35,8 @@ public function boot(): void Server::resolveRelationUsing('subdomains', fn (Server $server) => $server->hasMany(Subdomain::class, 'server_id', 'id')); Server::deleting(function (Server $server) { - /** @phpstan-ignore-next-line */ - foreach ($server->subdomains()->get() as $subdomain) { + /** @phpstan-ignore property.notFound */ + foreach ($server->subdomains as $subdomain) { try { $subdomain->delete(); } catch (Exception $exception) {