Files
server/shared/lib/Resource/Identifier/ResourceIdentifiersInterface.php
Sebastian Krupinski dfba1d43be
All checks were successful
JS Unit Tests / test (pull_request) Successful in 20s
Build Test / build (pull_request) Successful in 23s
PHP Unit Tests / test (pull_request) Successful in 48s
feat: entity move
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
2026-03-27 20:37:26 -04:00

51 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Resource\Identifier;
/**
* A typed collection of resource identifiers with search and filter capabilities
*/
interface ResourceIdentifiersInterface extends \Countable, \IteratorAggregate {
/** Add an identifier to the collection */
public function add(ResourceIdentifierInterface $identifier): void;
/** Get all identifiers */
public function all(): array;
/** Filter identifiers by depth level (14) */
public function byDepth(int $depth): static;
/** Filter identifiers by provider */
public function byProvider(string $provider): static;
/** Filter identifiers by service (requires depth >= 2) */
public function byService(string $service): static;
/** Filter identifiers by collection (requires depth >= 3) */
public function byCollection(string $collection): static;
/** Filter identifiers by entity (requires depth == 4) */
public function byEntity(string $entity): static;
/** Get unique provider names */
public function providers(): array;
/** Get unique service names */
public function services(): array;
/** Get unique collection names */
public function collections(): array;
/** Get unique entity names */
public function entities(): array;
}