33 lines
888 B
PHP
33 lines
888 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)
|
||
|
|
{
|
||
|
|
$extension = $file->getClientOriginalExtension();
|
||
|
|
$uuidName = (string)Str::uuid() . ($extension ? '.' . $extension : '');
|
||
|
|
return FileHelper::storeFile(
|
||
|
|
model: $model,
|
||
|
|
file: $file,
|
||
|
|
slugify: false,
|
||
|
|
filename: $uuidName,
|
||
|
|
prefix: $model->tenant_id
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|