Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Indexer
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getAllIndexes
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2namespace Apie\IntegrationTests\Apie\TypeDemo\Actions;
3
4use Apie\Core\Attributes\Context;
5use Apie\Core\Attributes\Not;
6use Apie\Core\Attributes\Requires;
7use Apie\Core\Attributes\Route;
8use Apie\Core\Attributes\StaticCheck;
9use Apie\Core\Context\ApieContext;
10use Apie\Core\ContextConstants;
11use Apie\Core\Indexing\Indexer as IndexingIndexer;
12use Apie\Core\Lists\StringSet;
13use Apie\Core\ValueObjects\EntityReference;
14
15class Indexer
16{
17    public function __construct(private readonly IndexingIndexer $indexer)
18    {
19    }
20
21    #[StaticCheck(
22        new Not(new Requires(ContextConstants::MCP_SERVER)),
23        new Not(new Requires(ContextConstants::MAIN_MENU_BUILDER))
24    )]
25    #[Route(routeDefinition: '/indexes/{resourceName}/{id}')]
26    public function getAllIndexes(
27        #[Context()]
28        EntityReference $reference,
29        #[Context()]
30        ApieContext $apieContext
31    ): StringSet {
32        $object = $reference->resolve($apieContext);
33        $indexes = $this->indexer->getIndexesFor($object, $apieContext);
34
35        return new StringSet(array_keys($indexes));
36    }
37}