32 lines
898 B
PHP
32 lines
898 B
PHP
<?php
|
|
|
|
namespace App\Helpers;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Http\UploadedFile;
|
|
use Uwil\LaravelCommon\Helpers\FileHelper;
|
|
use Illuminate\Support\Str;
|
|
|
|
class ShowroomFileHelper
|
|
{
|
|
/**
|
|
* Store file using UUID as name.
|
|
*
|
|
* @param \Illuminate\Http\UploadedFile $file
|
|
* @param Model $model
|
|
* @phpstan-param Model&object{tenant_id: string|int} $model
|
|
* @return string
|
|
*/
|
|
public static function storeFileWithUuidName(UploadedFile $file, Model $model): string
|
|
{
|
|
$extension = $file->getClientOriginalExtension();
|
|
$uuidName = (string) Str::uuid() . ($extension ? '.' . $extension : '');
|
|
return FileHelper::storeFile(
|
|
model: $model,
|
|
file: $file,
|
|
slugify: false,
|
|
filename: $uuidName,
|
|
prefix: $model->tenant_id
|
|
);
|
|
}
|
|
}
|