feat(storage): implement S3 file upload and temporary URL generation functionality

This commit is contained in:
2026-06-25 14:23:34 -03:00
parent 3360e81e96
commit 049484dee5
7 changed files with 272 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Domains\StorageTest\Controllers;
use App\Domains\StorageTest\Requests\GenerateS3TemporaryUrlRequest;
use App\Domains\StorageTest\Requests\StoreS3TestFileRequest;
use App\Domains\StorageTest\Services\S3TestService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
class S3TestController extends Controller
{
public function __construct(
protected S3TestService $s3TestService,
) {
}
public function store(StoreS3TestFileRequest $request): JsonResponse
{
return response()->json(
$this->s3TestService->storeTestFile(
$request->file('file'),
$request->validated('directory'),
(int) $request->validated('expires_in_minutes', 10),
),
201,
);
}
public function temporaryUrl(GenerateS3TemporaryUrlRequest $request): JsonResponse
{
return response()->json(
$this->s3TestService->generateTemporaryUrl(
$request->validated('path'),
(int) $request->validated('expires_in_minutes', 10),
)
);
}
}