diff --git a/docs/advanced-usage/listening-for-events.md b/docs/advanced-usage/listening-for-events.md index c4f91d5..ca58fe3 100644 --- a/docs/advanced-usage/listening-for-events.md +++ b/docs/advanced-usage/listening-for-events.md @@ -9,20 +9,26 @@ The package fires events where you can listen for to perform some extra logic. This event will fire when a tenant is being made the current one. At this point none of [the tasks](/docs/laravel-multitenancy/v3/using-tasks-to-prepare-the-environment/overview/) have been executed. -It has one public property `$tenant`, that contains an instance of `Spatie\Multitenancy\Models\Tenant` +It has one public property `$tenant`, that contains an instance of `Spatie\Multitenancy\Models\Tenant`. ## `\Spatie\Multitenancy\Events\MadeTenantCurrentEvent` This event will fire when a tenant has been made the current one. At this point the `makeCurrent` method of all of [the tasks](/docs/laravel-multitenancy/v3/using-tasks-to-prepare-the-environment/overview/) have been executed. The current tenant also have been bound as `currentTenant` in the container. -It has one public property `$tenant`, that contains an instance of `Spatie\Multitenancy\Models\Tenant` +It has one public property `$tenant`, that contains an instance of `Spatie\Multitenancy\Models\Tenant`. ## `\Spatie\Multitenancy\Events\ForgettingCurrentTenantEvent` This event will fire when a tenant is being forgotten. At this point none of [the tasks](/docs/laravel-multitenancy/v3/using-tasks-to-prepare-the-environment/overview/) have been executed. -It has one public property `$tenant`, that contains an instance of `Spatie\Multitenancy\Models\Tenant` +It has one public property `$tenant`, that contains an instance of `Spatie\Multitenancy\Models\Tenant`. ## `\Spatie\Multitenancy\Events\ForgotCurrentTenantEvent` This event will fire when a tenant has been forgotten. At this point the `forgotCurrent` method of all of [the tasks](/docs/laravel-multitenancy/v3/using-tasks-to-prepare-the-environment/overview/) have been executed. `currentTenant` in the container has been emptied. + +## `\Spatie\Multitenancy\Events\TenantNotFoundForRequestEvent` + +This event will fire when no tenant was found by the `findForRequest()` method of the `TenantFinder` for the given request. + +It has one public property `$request`, that contains an instance of `Illuminate\Http\Request`. diff --git a/src/Events/TenantNotFoundForRequestEvent.php b/src/Events/TenantNotFoundForRequestEvent.php new file mode 100644 index 0000000..6cf561b --- /dev/null +++ b/src/Events/TenantNotFoundForRequestEvent.php @@ -0,0 +1,13 @@ +findForRequest($this->app['request']); - $tenant?->makeCurrent(); + if ($tenant instanceof Tenant) { + $tenant->makeCurrent(); + } else { + event(new TenantNotFoundForRequestEvent($this->app['request'])); + } } protected function registerTasksCollection(): self