06771c17e0
API Platform 4 requires explicit uriVariables declaration for URI template parameters on DTO resources. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\ApiResource;
|
|
|
|
use ApiPlatform\Metadata\ApiResource;
|
|
use ApiPlatform\Metadata\GetCollection;
|
|
use ApiPlatform\Metadata\Link;
|
|
use App\Entity\Task;
|
|
use App\State\BookStackSearchResultProvider;
|
|
use Symfony\Component\Serializer\Attribute\Groups;
|
|
|
|
#[ApiResource(
|
|
operations: [
|
|
new GetCollection(
|
|
uriTemplate: '/tasks/{taskId}/bookstack/search',
|
|
uriVariables: [
|
|
'taskId' => new Link(fromClass: Task::class, identifiers: ['id']),
|
|
],
|
|
normalizationContext: ['groups' => ['bookstack_search:read']],
|
|
provider: BookStackSearchResultProvider::class,
|
|
security: "is_granted('IS_AUTHENTICATED_FULLY')",
|
|
),
|
|
],
|
|
)]
|
|
final class BookStackSearchResult
|
|
{
|
|
#[Groups(['bookstack_search:read'])]
|
|
public int $id = 0;
|
|
|
|
#[Groups(['bookstack_search:read'])]
|
|
public string $type = '';
|
|
|
|
#[Groups(['bookstack_search:read'])]
|
|
public string $name = '';
|
|
|
|
#[Groups(['bookstack_search:read'])]
|
|
public string $url = '';
|
|
}
|