1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 19:14:04 +00:00

[4.x] Set app.url config in UrlTenancyBootstrapper (#1068)

* Set `app.url` config in UrlTenancyBootstrapper

* Add assertions

* Set base app URL in config

* Make UrlTenancyBootstrapper a singleton
This commit is contained in:
lukinovec 2023-02-18 13:01:17 +01:00 committed by GitHub
parent 617e9a7a73
commit fbdb13f392
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 8 deletions

View file

@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Stancl\Tenancy\Bootstrappers;
use Closure;
use Illuminate\Config\Repository;
use Illuminate\Contracts\Routing\UrlGenerator;
use Stancl\Tenancy\Contracts\TenancyBootstrapper;
use Stancl\Tenancy\Contracts\Tenant;
@ -16,6 +17,7 @@ class UrlTenancyBootstrapper implements TenancyBootstrapper
public function __construct(
protected UrlGenerator $urlGenerator,
protected Repository $config,
) {
}
@ -24,12 +26,16 @@ class UrlTenancyBootstrapper implements TenancyBootstrapper
$this->originalRootUrl = $this->urlGenerator->to('/');
if (static::$rootUrlOverride) {
$this->urlGenerator->forceRootUrl((static::$rootUrlOverride)($tenant));
$newRootUrl = (static::$rootUrlOverride)($tenant);
$this->urlGenerator->forceRootUrl($newRootUrl);
$this->config->set('app.url', $newRootUrl);
}
}
public function revert(): void
{
$this->urlGenerator->forceRootUrl($this->originalRootUrl);
$this->config->set('app.url', $this->originalRootUrl);
}
}