$settingsService->getOrDefault('ads_picture_path')); if (! str_starts_with((string) $adsPicturePath, 'http')) { $adsPicturePath = rtrim((string) config('app.url'), '/') . '/' . ltrim((string) $adsPicturePath, '/'); } return rtrim((string) $adsPicturePath, '/') . '/' . $this->image; }); } #[\Override] protected static function booted() { static::deleting(function ($websiteAd): void { try { $websiteAd->configureAdsDisk(); logger()->info('Attempting to delete image file:', ['file' => $websiteAd->image]); if ($websiteAd->image && Storage::disk('ads')->exists($websiteAd->image)) { Storage::disk('ads')->delete($websiteAd->image); logger()->info('Image file deleted:', ['file' => $websiteAd->image]); } else { logger()->warning('Image file not found:', ['file' => $websiteAd->image]); } } catch (Exception $e) { logger()->error('Failed to delete image file:', [ 'file' => $websiteAd->image, 'error' => $e->getMessage(), ]); } }); } protected function configureAdsDisk(): void { $settingsService = app(SettingsService::class); $adsPath = Cache::remember('ads_path_filesystem', 3600, fn () => $settingsService->getOrDefault('ads_path_filesystem')); config(['filesystems.disks.ads' => [ 'driver' => 'local', 'root' => $adsPath, ]]); } }