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

Fix event listener tests, improve domain logic

This commit is contained in:
Samuel Štancl 2020-05-09 02:49:08 +02:00
parent 0bbc66f451
commit a602cec940
13 changed files with 148 additions and 14 deletions

View file

@ -1,7 +1,9 @@
<?php
// todo move namespace one dir above
namespace Stancl\Tenancy\Database\Models\Concerns;
// todo rename
trait HasADataColumn
{
public static function bootHasADataColumn()

View file

@ -0,0 +1,11 @@
<?php
namespace Stancl\Tenancy\Database\Models\Concerns;
trait HasDomains
{
public function domains()
{
return $this->hasMany(config('tenancy.domain_model'));
}
}

View file

@ -0,0 +1,17 @@
<?php
namespace Stancl\Tenancy\Database\Models\Concerns;
/**
* @property-read string $primary_domain_hostname
*/
trait PrimaryDomain
{
// This string should usually come from a relationship implemented by you.
abstract public function getPrimaryDomainHostnameAttribute(): string;
public function route($route, $parameters = [], $absolute = true)
{
return tenant_route($this->primary_domain_hostname, $route, $parameters, $absolute);
}
}

View file

@ -0,0 +1,11 @@
<?php
namespace Stancl\Tenancy\Database\Models\Concerns;
trait TenantConnection
{
public function getConnectionName()
{
return 'tenant';
}
}

View file

@ -19,6 +19,9 @@ use Stancl\Tenancy\Exceptions\DomainsOccupiedByOtherTenantException;
class Domain extends Model
{
public $guarded = [];
public $casts = [
'is_primary' => 'bool',
];
public static function booted()
{