From 394f792ec9aa05f627f495706b7a7019b0e05ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Sat, 26 Jan 2019 12:59:19 +0100 Subject: [PATCH] Map tenant routes using the SP - fix #10 --- src/TenancyServiceProvider.php | 2 ++ src/TenantRouteServiceProvider.php | 23 +++++++++++++++++++++++ src/config/tenancy.php | 1 + 3 files changed, 26 insertions(+) create mode 100644 src/TenantRouteServiceProvider.php diff --git a/src/TenancyServiceProvider.php b/src/TenancyServiceProvider.php index c7eaf0b6..678ebe24 100644 --- a/src/TenancyServiceProvider.php +++ b/src/TenancyServiceProvider.php @@ -40,6 +40,8 @@ class TenancyServiceProvider extends ServiceProvider Route::middlewareGroup('tenancy', [ \Stancl\Tenancy\Middleware\InitializeTenancy::class ]); + + $this->app->register(TenantRouteServiceProvider::class); } /** diff --git a/src/TenantRouteServiceProvider.php b/src/TenantRouteServiceProvider.php new file mode 100644 index 00000000..83f26896 --- /dev/null +++ b/src/TenantRouteServiceProvider.php @@ -0,0 +1,23 @@ +mapTenantRoutes(); + } + + protected function mapTenantRoutes() + { + if (! in_array(request()->getHost(), $this->app['config']['tenancy.exempt_domains'] ?? [])) { + Route::middleware(['web', 'tenancy']) + ->namespace($this->app['config']['tenant_route_namespace'] ?? 'App\Http\Controllers') + ->group(base_path('routes/tenant.php')); + } + } +} diff --git a/src/config/tenancy.php b/src/config/tenancy.php index 00e4b79c..50b6ad75 100644 --- a/src/config/tenancy.php +++ b/src/config/tenancy.php @@ -2,6 +2,7 @@ return [ 'storage_driver' => 'Stancl\Tenancy\StorageDrivers\RedisStorageDriver', + 'tenant_route_namespace' => 'App\Http\Controllers', 'exempt_domains' => [ // 'localhost', ],