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

Rename and move triggerRestoredEvent

Rename triggerRestoredEvent to triggerRestoreEvent, move triggerRestoreEvent
from the Syncable interface to SyncMaster, call triggerRestoreEvent only when
restoring SyncMaster, delete useless assertions.
This commit is contained in:
lukinovec 2025-11-21 15:34:28 +01:00
parent 2b45a01018
commit ed12b92bd8
4 changed files with 6 additions and 15 deletions

View file

@ -46,8 +46,8 @@ trait ResourceSyncing
}); });
static::restoring(static function (Syncable&Model $model) { static::restoring(static function (Syncable&Model $model) {
if ($model->shouldSync()) { if ($model instanceof SyncMaster && $model->shouldSync()) {
$model->triggerRestoredEvent(); $model->triggerRestoreEvent();
} }
}); });
} }
@ -69,7 +69,7 @@ trait ResourceSyncing
event(new SyncedResourceDeleted($this, tenant(), $forceDelete)); event(new SyncedResourceDeleted($this, tenant(), $forceDelete));
} }
public function triggerRestoredEvent(): void public function triggerRestoreEvent(): void
{ {
if ($this instanceof SyncMaster && in_array(SoftDeletes::class, class_uses_recursive($this), true)) { if ($this instanceof SyncMaster && in_array(SoftDeletes::class, class_uses_recursive($this), true)) {
/** @var SyncMaster&Model $this */ /** @var SyncMaster&Model $this */

View file

@ -24,4 +24,6 @@ interface SyncMaster extends Syncable
public function triggerDetachEvent(TenantWithDatabase&Model $tenant): void; public function triggerDetachEvent(TenantWithDatabase&Model $tenant): void;
public function triggerAttachEvent(TenantWithDatabase&Model $tenant): void; public function triggerAttachEvent(TenantWithDatabase&Model $tenant): void;
public function triggerRestoreEvent(): void;
} }

View file

@ -18,8 +18,6 @@ interface Syncable
public function triggerDeleteEvent(bool $forceDelete = false): void; public function triggerDeleteEvent(bool $forceDelete = false): void;
public function triggerRestoredEvent(): void;
/** /**
* Get the attributes used for creating the *other* model (i.e. tenant if this is the central one, and central if this is the tenant one). * Get the attributes used for creating the *other* model (i.e. tenant if this is the central one, and central if this is the tenant one).
* *

View file

@ -1102,16 +1102,7 @@ test('restoring soft deleted resources works', function () {
CentralUserWithSoftDeletes::withTrashed()->first()->restore(); CentralUserWithSoftDeletes::withTrashed()->first()->restore();
tenancy()->runForMultiple([$tenant1, $tenant2], function () { tenancy()->runForMultiple([$tenant1, $tenant2], function () {
$tenantResource = TenantUserWithSoftDeletes::withTrashed()->first(); expect(TenantUserWithSoftDeletes::withTrashed()->first()->trashed())->toBeFalse();
expect($tenantResource->trashed())->toBeFalse();
$tenantResource->delete();
// Restoring a tenant resource works as expected
$tenantResource->restore();
expect($tenantResource->trashed())->toBeFalse();
}); });
}); });