mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 20:54:04 +00:00
Resolver refactor, path identification improvements (#41)
* resolver refactor * Fix code style (php-cs-fixer) * make tenant column used in PathTenantResolver configurable, fix phpstan errors, minor improvements * support binding route fields, write tests for customizable tenant columns * Invalidate cache for all possible columns in path resolver * implement proper cache separation logic for different columns used by PathTenantResolver * improve return type --------- Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
This commit is contained in:
parent
dc430666ba
commit
0c11f29c19
17 changed files with 370 additions and 88 deletions
|
|
@ -52,7 +52,7 @@ return [
|
|||
*
|
||||
* If you use multiple forms of identification, you can set this to the "main" approach you use.
|
||||
*/
|
||||
'default_middleware' => Middleware\InitializeTenancyByDomain::class,// todo@identification add this to a 'tenancy' mw group
|
||||
'default_middleware' => Middleware\InitializeTenancyByDomain::class,
|
||||
|
||||
/**
|
||||
* All of the identification middleware used by the package.
|
||||
|
|
@ -100,19 +100,21 @@ return [
|
|||
Resolvers\DomainTenantResolver::class => [
|
||||
'cache' => false,
|
||||
'cache_ttl' => 3600, // seconds
|
||||
'cache_store' => null, // default
|
||||
'cache_store' => null, // null = default
|
||||
],
|
||||
Resolvers\PathTenantResolver::class => [
|
||||
'tenant_parameter_name' => 'tenant',
|
||||
'tenant_model_column' => null, // null = tenant key
|
||||
'allowed_extra_model_columns' => [], // used with binding route fields
|
||||
|
||||
'cache' => false,
|
||||
'cache_ttl' => 3600, // seconds
|
||||
'cache_store' => null, // default
|
||||
'cache_store' => null, // null = default
|
||||
],
|
||||
Resolvers\RequestDataTenantResolver::class => [
|
||||
'cache' => false,
|
||||
'cache_ttl' => 3600, // seconds
|
||||
'cache_store' => null, // default
|
||||
'cache_store' => null, // null = default
|
||||
],
|
||||
],
|
||||
|
||||
|
|
@ -150,25 +152,6 @@ return [
|
|||
// Stancl\Tenancy\Bootstrappers\Integrations\ScoutTenancyBootstrapper::class,
|
||||
],
|
||||
|
||||
|
||||
/**
|
||||
* Pending tenants config.
|
||||
* This is useful if you're looking for a way to always have a tenant ready to be used.
|
||||
*/
|
||||
'pending' => [
|
||||
/**
|
||||
* If disabled, pending tenants will be excluded from all tenant queries.
|
||||
* You can still use ::withPending(), ::withoutPending() and ::onlyPending() to include or exclude the pending tenants regardless of this setting.
|
||||
* Note: when disabled, this will also ignore pending tenants when running the tenant commands (migration, seed, etc.)
|
||||
*/
|
||||
'include_in_queries' => true,
|
||||
/**
|
||||
* Defines how many pending tenants you want to have ready in the pending tenant pool.
|
||||
* This depends on the volume of tenants you're creating.
|
||||
*/
|
||||
'count' => env('TENANCY_PENDING_COUNT', 5),
|
||||
],
|
||||
|
||||
/**
|
||||
* Database tenancy config. Used by DatabaseTenancyBootstrapper.
|
||||
*/
|
||||
|
|
@ -348,6 +331,24 @@ return [
|
|||
*/
|
||||
'default_route_mode' => RouteMode::CENTRAL,
|
||||
|
||||
/**
|
||||
* Pending tenants config.
|
||||
* This is useful if you're looking for a way to always have a tenant ready to be used.
|
||||
*/
|
||||
'pending' => [
|
||||
/**
|
||||
* If disabled, pending tenants will be excluded from all tenant queries.
|
||||
* You can still use ::withPending(), ::withoutPending() and ::onlyPending() to include or exclude the pending tenants regardless of this setting.
|
||||
* Note: when disabled, this will also ignore pending tenants when running the tenant commands (migration, seed, etc.)
|
||||
*/
|
||||
'include_in_queries' => true,
|
||||
/**
|
||||
* Defines how many pending tenants you want to have ready in the pending tenant pool.
|
||||
* This depends on the volume of tenants you're creating.
|
||||
*/
|
||||
'count' => env('TENANCY_PENDING_COUNT', 5),
|
||||
],
|
||||
|
||||
/**
|
||||
* Parameters used by the tenants:migrate command.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue