comments()->with('attachments')->latest()->get(); return response()->json([ 'success' => true, 'data' => CommentResource::collection($comments), ]); } // Создание комментария public function store(Request $request, int $submissionId): JsonResponse { $submission = Submission::findOrFail($submissionId); $validated = $request->validate([ 'author' => 'required|string|max:100', 'content' => 'required|string', ]); $comment = $submission->comments()->create($validated); $comment->load('attachments'); return response()->json([ 'success' => true, 'message' => 'Комментарий успешно добавлен', 'data' => new CommentResource($comment), ], 201); } // Обновление комментария public function update(Request $request, int $submissionId, int $id): JsonResponse { $comment = Comment::where('submission_id', $submissionId)->findOrFail($id); $validated = $request->validate([ 'author' => 'sometimes|required|string|max:100', 'content' => 'sometimes|required|string', ]); $comment->update($validated); $comment->load('attachments'); return response()->json([ 'success' => true, 'message' => 'Комментарий успешно обновлен', 'data' => new CommentResource($comment), ]); } // Удаление комментария public function destroy(int $submissionId, int $id): JsonResponse { $comment = Comment::where('submission_id', $submissionId)->findOrFail($id); $comment->delete(); return response()->json([ 'success' => true, 'message' => 'Комментарий успешно удален', ]); } }