1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 17:14:03 +00:00

Change interface as events expect a TenantWithDatabase not just a Tenant

This commit is contained in:
Mark 2024-12-29 09:26:18 +01:00
parent 322fe07592
commit d2aaf5b11b
No known key found for this signature in database
GPG key ID: 79CFF7869BD39873
2 changed files with 6 additions and 4 deletions

View file

@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Stancl\Tenancy\Contracts\Tenant; use Stancl\Tenancy\Contracts\Tenant;
use Stancl\Tenancy\Contracts\UniqueIdentifierGenerator; use Stancl\Tenancy\Contracts\UniqueIdentifierGenerator;
use Stancl\Tenancy\Database\Contracts\TenantWithDatabase;
use Stancl\Tenancy\ResourceSyncing\Events\CentralResourceAttachedToTenant; use Stancl\Tenancy\ResourceSyncing\Events\CentralResourceAttachedToTenant;
use Stancl\Tenancy\ResourceSyncing\Events\CentralResourceDetachedFromTenant; use Stancl\Tenancy\ResourceSyncing\Events\CentralResourceDetachedFromTenant;
use Stancl\Tenancy\ResourceSyncing\Events\SyncedResourceSaved; use Stancl\Tenancy\ResourceSyncing\Events\SyncedResourceSaved;
@ -78,7 +79,7 @@ trait ResourceSyncing
} }
/** Default implementation for \Stancl\Tenancy\ResourceSyncing\SyncMaster */ /** Default implementation for \Stancl\Tenancy\ResourceSyncing\SyncMaster */
public function triggerAttachEvent(Tenant&Model $tenant): void public function triggerAttachEvent(TenantWithDatabase&Model $tenant): void
{ {
if ($this instanceof SyncMaster) { if ($this instanceof SyncMaster) {
/** @var SyncMaster&Model $this */ /** @var SyncMaster&Model $this */
@ -87,7 +88,7 @@ trait ResourceSyncing
} }
/** Default implementation for \Stancl\Tenancy\ResourceSyncing\SyncMaster */ /** Default implementation for \Stancl\Tenancy\ResourceSyncing\SyncMaster */
public function triggerDetachEvent(Tenant&Model $tenant): void public function triggerDetachEvent(TenantWithDatabase&Model $tenant): void
{ {
if ($this instanceof SyncMaster) { if ($this instanceof SyncMaster) {
/** @var SyncMaster&Model $this */ /** @var SyncMaster&Model $this */

View file

@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Stancl\Tenancy\Contracts\Tenant; use Stancl\Tenancy\Contracts\Tenant;
use Stancl\Tenancy\Database\Contracts\TenantWithDatabase;
// todo@move move all resource syncing-related things to a separate namespace? // todo@move move all resource syncing-related things to a separate namespace?
@ -23,9 +24,9 @@ interface SyncMaster extends Syncable
public function getTenantModelName(): string; public function getTenantModelName(): string;
public function triggerDetachEvent(Tenant&Model $tenant): void; public function triggerDetachEvent(TenantWithDatabase&Model $tenant): void;
public function triggerAttachEvent(Tenant&Model $tenant): void; public function triggerAttachEvent(TenantWithDatabase&Model $tenant): void;
public function triggerDeleteEvent(bool $forceDelete = false): void; public function triggerDeleteEvent(bool $forceDelete = false): void;