PATH:
home
/
rwabteecom
/
public_html
/
vendor
/
livewire
/
livewire
/
src
/
Features
/
SupportConsoleCommands
/
Commands
/
Editing: S3CleanupCommand.php
<?php namespace Livewire\Features\SupportConsoleCommands\Commands; use function Livewire\invade; use Livewire\Features\SupportFileUploads\FileUploadConfiguration; use Illuminate\Console\Command; use Symfony\Component\Console\Attribute\AsCommand; #[AsCommand(name: 'livewire:configure-s3-upload-cleanup')] class S3CleanupCommand extends Command { protected $signature = 'livewire:configure-s3-upload-cleanup'; protected $description = 'Configure temporary file upload s3 directory to automatically cleanup files older than 24hrs'; public function handle() { if (! FileUploadConfiguration::isUsingS3()) { $this->error("Configuration ['livewire.temporary_file_upload.disk'] is not set to a disk with an S3 driver."); return; } $driver = FileUploadConfiguration::storage()->getDriver(); // Flysystem V2+ doesn't allow direct access to adapter, so we need to invade instead. $adapter = invade($driver)->adapter; // Flysystem V2+ doesn't allow direct access to client, so we need to invade instead. $client = invade($adapter)->client; // Flysystem V2+ doesn't allow direct access to bucket, so we need to invade instead. $bucket = invade($adapter)->bucket; $client->putBucketLifecycleConfiguration([ 'Bucket' => $bucket, 'LifecycleConfiguration' => [ 'Rules' => [ [ 'Prefix' => $prefix = FileUploadConfiguration::path(), 'Expiration' => [ 'Days' => 1, ], 'Status' => 'Enabled', ], ], ], ]); $this->info('Livewire temporary S3 upload directory ['.$prefix.'] set to automatically cleanup files older than 24hrs!'); } }
SAVE
CANCEL