Implement creator studio and upload updates

This commit is contained in:
2026-04-04 10:12:02 +02:00
parent 1da7d3bf88
commit 0b216b7ecd
15107 changed files with 31206 additions and 626514 deletions

View File

@@ -0,0 +1,55 @@
<?php
declare(strict_types=1);
namespace App\Http\Controllers\Studio;
use App\Http\Controllers\Controller;
use App\Services\Studio\CreatorStudioCommentService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
final class StudioCommentsApiController extends Controller
{
public function __construct(
private readonly CreatorStudioCommentService $comments,
) {
}
public function reply(Request $request, string $module, int $commentId): JsonResponse
{
$payload = $request->validate([
'content' => ['required', 'string', 'min:1', 'max:10000'],
]);
$this->comments->reply($request->user(), $module, $commentId, (string) $payload['content']);
return response()->json(['ok' => true]);
}
public function moderate(Request $request, string $module, int $commentId): JsonResponse
{
$this->comments->moderate($request->user(), $module, $commentId);
return response()->json(['ok' => true]);
}
public function report(Request $request, string $module, int $commentId): JsonResponse
{
$payload = $request->validate([
'reason' => ['required', 'string', 'max:120'],
'details' => ['nullable', 'string', 'max:4000'],
]);
return response()->json([
'ok' => true,
'report' => $this->comments->report(
$request->user(),
$module,
$commentId,
(string) $payload['reason'],
isset($payload['details']) ? (string) $payload['details'] : null,
),
], 201);
}
}