1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 15:34:03 +00:00

add prompts to tenant:tinker

This commit is contained in:
Samuel Štancl 2024-04-06 01:22:14 +02:00
parent 4cc9fbe7ea
commit 489fbb9402
3 changed files with 72 additions and 12 deletions

View file

@ -21,6 +21,20 @@ class DomainTenantResolver extends Contracts\CachedTenantResolver
{
$domain = $args[0];
$tenant = static::findTenantByDomain($domain);
/** @var (Tenant&Model)|null $tenant */
if ($tenant) {
static::setCurrentDomain($tenant, $domain);
return $tenant;
}
throw new TenantCouldNotBeIdentifiedOnDomainException($domain);
}
public static function findTenantByDomain(string $domain): (Tenant&Model)|null
{
/** @var Tenant&Model $tenantModel */
$tenantModel = tenancy()->model();
@ -36,13 +50,8 @@ class DomainTenantResolver extends Contracts\CachedTenantResolver
}
/** @var (Tenant&Model)|null $tenant */
if ($tenant) {
$this->setCurrentDomain($tenant, $domain);
return $tenant;
}
throw new TenantCouldNotBeIdentifiedOnDomainException($domain);
return $tenant;
}
public function resolved(Tenant $tenant, mixed ...$args): void
@ -50,7 +59,7 @@ class DomainTenantResolver extends Contracts\CachedTenantResolver
$this->setCurrentDomain($tenant, $args[0]);
}
protected function setCurrentDomain(Tenant $tenant, string $domain): void
protected static function setCurrentDomain(Tenant $tenant, string $domain): void
{
/** @var Tenant&Model $tenant */
if (! $tenant instanceof SingleDomainTenant) {