trypost/app/Http/Controllers/App/PostAiReviewController.php

30 lines
841 B
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers\App;
use App\Ai\Agents\PostContentReviewer;
use App\Http\Requests\App\Ai\ReviewPostContentRequest;
use App\Models\Post;
use Illuminate\Http\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
class PostAiReviewController extends Controller
{
public function review(ReviewPostContentRequest $request, Post $post): JsonResponse
{
$workspace = $request->user()->currentWorkspace;
if ($post->workspace_id !== $workspace->id) {
abort(Response::HTTP_FORBIDDEN);
}
$agent = new PostContentReviewer(workspace: $workspace);
$result = $agent->prompt($request->string('content')->toString());
return response()->json([
'suggestions' => data_get($result, 'suggestions', []),
]);
}
}