mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-13 11:44:03 +00:00
Fix DeleteResourceMapping phpstan error, add comments
This commit is contained in:
parent
9dd4777a97
commit
de6249216a
1 changed files with 9 additions and 1 deletions
|
|
@ -12,6 +12,12 @@ use Stancl\Tenancy\ResourceSyncing\Events\SyncedResourceDeleted;
|
||||||
use Stancl\Tenancy\ResourceSyncing\Syncable;
|
use Stancl\Tenancy\ResourceSyncing\Syncable;
|
||||||
use Stancl\Tenancy\ResourceSyncing\SyncMaster;
|
use Stancl\Tenancy\ResourceSyncing\SyncMaster;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes pivot records when a synced resource is deleted.
|
||||||
|
*
|
||||||
|
* If a SyncMaster (central resource) is deleted, all pivot records for that resource are deleted.
|
||||||
|
* If a Syncable (tenant resource) is deleted, only delete the pivot record for that tenant.
|
||||||
|
*/
|
||||||
class DeleteResourceMapping extends QueueableListener
|
class DeleteResourceMapping extends QueueableListener
|
||||||
{
|
{
|
||||||
public static bool $shouldQueue = false;
|
public static bool $shouldQueue = false;
|
||||||
|
|
@ -28,7 +34,9 @@ class DeleteResourceMapping extends QueueableListener
|
||||||
// or the central resource was deleted using forceDelete()
|
// or the central resource was deleted using forceDelete()
|
||||||
if ($event->forceDelete || ! in_array(SoftDeletes::class, class_uses_recursive($centralResource::class), true)) {
|
if ($event->forceDelete || ! in_array(SoftDeletes::class, class_uses_recursive($centralResource::class), true)) {
|
||||||
Pivot::withoutEvents(function () use ($centralResource, $event) {
|
Pivot::withoutEvents(function () use ($centralResource, $event) {
|
||||||
$centralResource?->tenants()->detach($event->tenant);
|
// $event->tenant is null when the deleted resource is a SyncMaster - all mappings are deleted in that case
|
||||||
|
// When $event->tenant is not null (= a Syncable was deleted), only delete the mapping for that tenant
|
||||||
|
$centralResource->tenants()->detach($event->tenant);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue