From d52254eb942d74b49f6fe228428c2d385d19ca2b Mon Sep 17 00:00:00 2001 From: "j.stein" Date: Sat, 8 Oct 2022 18:17:30 -0400 Subject: [PATCH] Add maintenance events --- assets/TenancyServiceProvider.stub.php | 2 ++ src/Database/Concerns/MaintenanceMode.php | 6 ++++++ src/Events/TenantMaintenanceModeDisabled.php | 9 +++++++++ src/Events/TenantMaintenanceModeEnabled.php | 9 +++++++++ 4 files changed, 26 insertions(+) create mode 100644 src/Events/TenantMaintenanceModeDisabled.php create mode 100644 src/Events/TenantMaintenanceModeEnabled.php diff --git a/assets/TenancyServiceProvider.stub.php b/assets/TenancyServiceProvider.stub.php index 75784361..7c52e295 100644 --- a/assets/TenancyServiceProvider.stub.php +++ b/assets/TenancyServiceProvider.stub.php @@ -58,6 +58,8 @@ class TenancyServiceProvider extends ServiceProvider return $event->tenant; })->shouldBeQueued(false), // `false` by default, but you probably want to make this `true` for production. ], + Events\TenantMaintenanceModeEnabled::class => [], + Events\TenantMaintenanceModeDisabled::class => [], // Domain events Events\CreatingDomain::class => [], diff --git a/src/Database/Concerns/MaintenanceMode.php b/src/Database/Concerns/MaintenanceMode.php index 87a9303b..383ae4c4 100644 --- a/src/Database/Concerns/MaintenanceMode.php +++ b/src/Database/Concerns/MaintenanceMode.php @@ -5,6 +5,8 @@ declare(strict_types=1); namespace Stancl\Tenancy\Database\Concerns; use Illuminate\Contracts\Container\BindingResolutionException; +use Stancl\Tenancy\Events\TenantMaintenanceModeDisabled; +use Stancl\Tenancy\Events\TenantMaintenanceModeEnabled; use Stancl\Tenancy\Maintenance\TenantMaintenanceModeContract; /** @@ -33,6 +35,8 @@ trait MaintenanceMode public function putDownForMaintenance(array $payload = []): void { $this->maintenanceMode()->activate($payload); + + event(new TenantMaintenanceModeEnabled($this)); } /** @@ -44,6 +48,8 @@ trait MaintenanceMode public function bringUpFromMaintenance(): void { $this->maintenanceMode()->deactivate(); + + event(new TenantMaintenanceModeDisabled($this)); } /** diff --git a/src/Events/TenantMaintenanceModeDisabled.php b/src/Events/TenantMaintenanceModeDisabled.php new file mode 100644 index 00000000..17f39c5d --- /dev/null +++ b/src/Events/TenantMaintenanceModeDisabled.php @@ -0,0 +1,9 @@ +