From bc9194c6944dc46b4cd75b3dc1f4ee3b72360e6b Mon Sep 17 00:00:00 2001 From: Abrar Ahmad Date: Mon, 4 Jul 2022 12:29:22 +0500 Subject: [PATCH] Added DeleteDomain Job while deleting tenant. --- assets/TenancyServiceProvider.stub.php | 8 ++++- src/Jobs/DeleteDomain.php | 41 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/Jobs/DeleteDomain.php diff --git a/assets/TenancyServiceProvider.stub.php b/assets/TenancyServiceProvider.stub.php index 1d15f418..4ef7bdc1 100644 --- a/assets/TenancyServiceProvider.stub.php +++ b/assets/TenancyServiceProvider.stub.php @@ -40,7 +40,13 @@ class TenancyServiceProvider extends ServiceProvider Events\TenantSaved::class => [], Events\UpdatingTenant::class => [], Events\TenantUpdated::class => [], - Events\DeletingTenant::class => [], + Events\DeletingTenant::class => [ + JobPipeline::make([ + Jobs\DeleteDomain::class, + ])->send(function (Events\TenantDeleted $event) { + return $event->tenant; + })->shouldBeQueued(false), // `false` by default, but you probably want to make this `true` for production. + ], Events\TenantDeleted::class => [ JobPipeline::make([ Jobs\DeleteDatabase::class, diff --git a/src/Jobs/DeleteDomain.php b/src/Jobs/DeleteDomain.php new file mode 100644 index 00000000..cafd759a --- /dev/null +++ b/src/Jobs/DeleteDomain.php @@ -0,0 +1,41 @@ +tenant = $tenant; + } + + public function handle() + { + $this->tenant->domains->each(function (Domain $domain){ + event(new DeletingDomain($domain)); + + $domain->delete(); + + event(new DomainDeleted($domain)); + }); + } +}