Skeleton Micropub endpoint

This commit is contained in:
2025-06-13 08:33:08 +01:00
parent f4981e961a
commit 3abbb8e805
5 changed files with 94 additions and 1 deletions

View File

@@ -42,6 +42,7 @@ class GuiController extends AbstractController {
'description' => 'Joe Carstairs\' personal website',
];
}
/**
* @return array<string,mixed>
*/

View File

@@ -0,0 +1,29 @@
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Attribute\MapRequestPayload;
use Symfony\Component\Routing\Annotation\Route;
use \p3k\Micropub\Request as MicropubRequest;
class MicropubController extends AbstractController {
/**
* @param $request
* @return Response
*/
#[Route('/micropub', name: 'blog_micropub', methods: ['POST'])]
public function blog(
#[MapRequestPayload]
array $request,
): Response {
$micropubRequest = MicropubRequest::create($request);
return new Response(
json_encode($micropubRequest->toMf2()),
Response::HTTP_NOT_IMPLEMENTED,
['content-type' => 'application/json'],
);
}
}