|LazyCollection $tenants */ public function __invoke(Tenant|Collection|LazyCollection $tenants): void { $tenants = $tenants instanceof Tenant ? collect([$tenants]) : $tenants; /** @var Tenant $tenant */ foreach ($tenants as $tenant) { foreach ($this->possibleTenantSymlinks($tenant) as $publicPath => $storagePath) { $this->removeLink($publicPath, $tenant); } } } protected function removeLink(string $publicPath, Tenant $tenant): void { if ($this->symlinkExists($publicPath)) { event(new RemovingStorageSymlink($tenant)); app()->make('files')->delete($publicPath); event(new StorageSymlinkRemoved($tenant)); } } }