Files
mtdb_movie/common/Files/S3/S3FileEntryController.php
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

39 lines
1.1 KiB
PHP
Executable File

<?php
namespace Common\Files\S3;
use Common\Core\BaseController;
use Common\Files\Actions\CreateFileEntry;
use Common\Files\Events\FileUploaded;
use Common\Files\FileEntry;
use Common\Files\FileEntryPayload;
class S3FileEntryController extends BaseController
{
public function store()
{
$validatedData = $this->validate(request(), [
'clientExtension' => 'required|string',
'clientMime' => 'nullable|string|max:255',
'clientName' => 'required|string',
'disk' => 'string',
'diskPrefix' => 'string',
'filename' => 'required|string',
'parentId' => 'nullable|exists:file_entries,id',
'relativePath' => 'nullable|string',
'workspaceId' => 'nullable|int',
'size' => 'required|int',
]);
$payload = new FileEntryPayload($validatedData);
$this->authorize('store', [FileEntry::class, $payload->parentId]);
$fileEntry = app(CreateFileEntry::class)->execute($payload);
event(new FileUploaded($fileEntry));
return $this->success(['fileEntry' => $fileEntry]);
}
}