TaxonomyRepositoryInterface.php
- Pfad:
src/Domain/Repository/TaxonomyRepositoryInterface.php - Namespace: Domain\Repository
- Zeilen: 58 | Größe: 1,559 Bytes
- Geändert: 2025-12-25 02:17:10 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 100
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Klassen 1
-
TaxonomyRepositoryInterfaceinterface Zeile 9
Funktionen 7
-
findAll()public Zeile 16 -
getStats()public Zeile 23 -
find()public Zeile 30 -
create()public Zeile 37 -
update()public Zeile 42 -
delete()public Zeile 49 -
findForSelect()public Zeile 56
Verwendet von 13
- AssignChunkTaxonomyUseCase.php constructor
- AssignChunkTaxonomyUseCase.php use
- AssignEntityTaxonomyUseCase.php constructor
- AssignEntityTaxonomyUseCase.php use
- ContentServiceProvider.php use
- EnhancedSearchUseCase.php constructor
- EnhancedSearchUseCase.php use
- GetTaxonomyOverviewUseCase.php constructor
- GetTaxonomyOverviewUseCase.php use
- TaxonomyController.php constructor
- TaxonomyController.php use
- TaxonomyRepository.php use
- TaxonomyRepository.php implements
Code
<?php
declare(strict_types=1);
namespace Domain\Repository;
// @responsibility: Interface für Taxonomy-Persistenz (CRUD + Hierarchie)
interface TaxonomyRepositoryInterface
{
/**
* Holt alle Taxonomie-Begriffe mit Statistiken.
*
* @return array<int, array{id: int, name: string, parent_id: ?int, depth: int, path: string, chunk_count: int, children_count: int}>
*/
public function findAll(): array;
/**
* Holt Taxonomie-Statistiken.
*
* @return array{total_terms: int, root_terms: int, max_depth: int, tagged_chunks: int}
*/
public function getStats(): array;
/**
* Findet einen Begriff nach ID.
*
* @return array{id: int, name: string, parent_id: ?int, depth: int, path: string}|null
*/
public function find(int $id): ?array;
/**
* Erstellt einen neuen Taxonomie-Begriff.
*
* @return int ID des neuen Begriffs
*/
public function create(string $name, ?int $parentId = null): int;
/**
* Aktualisiert einen Taxonomie-Begriff.
*/
public function update(int $id, string $name, ?int $parentId = null): bool;
/**
* Löscht einen Taxonomie-Begriff (nur wenn keine Kinder vorhanden).
*
* @return bool False wenn Kinder vorhanden, True bei Erfolg
*/
public function delete(int $id): bool;
/**
* Holt Begriffe für Select-Dropdown (minimale Daten).
*
* @return array<int, array{id: int, name: string, depth: int, path: string}>
*/
public function findForSelect(): array;
}