41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Actions;
|
|
|
|
use App\Models\AuditionEtude;
|
|
use App\Models\Ensemble;
|
|
use App\Models\Instrument;
|
|
use Illuminate\Http\UploadedFile;
|
|
|
|
class UpdateEtude
|
|
{
|
|
public function __invoke(
|
|
Ensemble $ensemble,
|
|
Instrument $instrument,
|
|
int $set,
|
|
UploadedFile $file
|
|
): void {
|
|
$filename = $ensemble->name.' '.$instrument->instrument.' Set '.$set.'.pdf';
|
|
$filename = str_replace(' ', '_', $filename);
|
|
$path = $file->storeAs('/etudes', $filename, 'public');
|
|
$originalFilename = $file->getClientOriginalName();
|
|
$fileSize = $file->getSize();
|
|
|
|
AuditionEtude::updateOrCreate(
|
|
[
|
|
'ensemble_id' => $ensemble->id,
|
|
'instrument_id' => $instrument->id,
|
|
'set' => $set,
|
|
],
|
|
[
|
|
'ensemble_id' => $ensemble->id,
|
|
'instrument_id' => $instrument->id,
|
|
'set' => $set,
|
|
'file_path' => $path,
|
|
'original_filename' => $originalFilename,
|
|
'file_size' => $fileSize,
|
|
]
|
|
);
|
|
}
|
|
}
|