shouldSync()); if ($model->shouldSync()) { $model->triggerSyncEvent(); } }); static::creating(function (self $model) { if (! $model->getAttribute($model->getGlobalIdentifierKeyName()) && app()->bound(UniqueIdentifierGenerator::class)) { $model->setAttribute( $model->getGlobalIdentifierKeyName(), app(UniqueIdentifierGenerator::class)->generate($model) ); } }); } public function triggerSyncEvent(): void { /** @var Syncable $this */ event(new SyncedResourceSaved($this, tenant())); } public function getSyncedCreationAttributes(): array|null { return null; } public function shouldSync(): bool { return true; } }