diff --git a/docs/navigation.php b/docs/navigation.php index f322cc9..1d6d106 100644 --- a/docs/navigation.php +++ b/docs/navigation.php @@ -82,6 +82,7 @@ return [ 'Jobs & Queues' => 'jobs-queues', 'Event System' => 'event-system', 'Tenancy Initialization' => 'tenancy-initialization', + 'Tenancy Bootstrappers' => 'tenancy-bootstrappers', 'Application Testing' => 'application-testing', 'Writing Storage Drivers' => 'writing-storage-drivers', ], diff --git a/docs/source/v2/event-system.blade.md b/docs/source/v2/event-system.blade.md index f602387..fb3e953 100644 --- a/docs/source/v2/event-system.blade.md +++ b/docs/source/v2/event-system.blade.md @@ -36,6 +36,8 @@ The following actions can be prevented: - Redis prefix: `redis` - CacheManager switch: `cache` - Filesystem changes: `filesystem` +- Queue tenancy: `queue` +- and anything else listed in the [`tenancy.bootstrappers` config]({{ $page->link('configuration#bootstrappers') }}) ### Tenant-specific configuration example {#tenant-specific-configuration-example} diff --git a/docs/source/v2/tenancy-bootstrappers.blade.md b/docs/source/v2/tenancy-bootstrappers.blade.md new file mode 100644 index 0000000..7988683 --- /dev/null +++ b/docs/source/v2/tenancy-bootstrappers.blade.md @@ -0,0 +1,18 @@ +--- +title: Tenancy Bootstrappers +description: Tenancy Bootstrappers +extends: _layouts.documentation_v2 +section: content +--- + +# Tenancy Bootstrappers {#tenancy-bootstrappers} + +These are the classes that do the magic. When tenancy is initialized, TenancyBootstrappers are executed, making Laravel tenant-aware. + +All Tenancy Bootstrappers must implement the `Stancl\Tenancy\Contracts\TenancyBootstrapper` interface. + +When tenancy is [initialized]({{ $page->link('tenancy-initialization') }}), the `start()` method on the [enabled bootstrappers]({{ $page->link('configuration#bootstrappers') }}) is called. + +Conversely, when tenancy is ended, the `end()` method is called. + +In the [`tenancy.bootstrappers` configuration]( {{ $page->link('configuration#bootstrappers') }} ), bootstrappers have an alias configured (e.g. `database`) that is used by [events]({{ $page->link('event-system') }}) to say which bootstrappers are prevented.