neoban/backend/app/Http/Controllers/SocialMediaPostController.php

29 lines
796 B
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\SocialMediaPostRequest;
use App\Services\SocialMediaService;
use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Attributes\Controllers\Middleware;
#[Middleware('auth:sanctum')]
class SocialMediaPostController extends Controller
{
/**
* Generate a social media post and a matching image from the given prompt.
*/
public function generate(
SocialMediaPostRequest $request,
SocialMediaService $socialMediaService,
): JsonResponse {
$prompt = $request->input('prompt');
$response = $socialMediaService->generatePostWithImage($prompt);
return response()->json([
'post' => $response->post,
'image_prompt' => $response->image,
]);
}
}