Backup #1894

ID1894
Dateipfad/var/www/dev.campus.systemische-tools.de/src/Domain/Repository/EntityRepositoryInterface.php
Version1
Typ modified
Größe2.5 KB
Hashc8d3d547666fb86655d064e1941e4f411bd193aae91e1cc6c89c1c4809b0a965
Datum2025-12-28 01:02:54
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php

declare(strict_types=1);

namespace Domain\Repository;

// @responsibility: Interface für Entity-Persistenz (Entitäten + Beziehungen zu Chunks/Ontologie)

interface EntityRepositoryInterface
{
    /**
     * Holt gefilterte Entitäten mit Statistiken.
     *
     * @return array<int, array{id: int, name: string, type: string, description: ?string, chunk_count: int, relation_count: int}>
     */
    public function findFiltered(string $type = '', string $search = '', int $limit = 100): array;

    /**
     * Holt Entity-Statistiken nach Typ.
     *
     * @return array<int, array{type: string, count: int}>
     */
    public function getStats(): array;

    /**
     * Findet eine Entity nach ID.
     *
     * @return array|null
     */
    public function find(int $id): ?array;

    /**
     * Holt Synonyme einer Entity.
     *
     * @return array<int, array>
     */
    public function findSynonyms(int $entityId): array;

    /**
     * Holt ausgehende Relationen einer Entity.
     *
     * @return array<int, array>
     */
    public function getOutgoingRelations(int $entityId): array;

    /**
     * Holt eingehende Relationen einer Entity.
     *
     * @return array<int, array>
     */
    public function getIncomingRelations(int $entityId): array;

    /**
     * Holt Chunks, die eine Entity referenzieren.
     *
     * @return array<int, array{id: int, content: string, token_count: int, filename: string, relevance_score: float}>
     */
    public function findChunks(int $entityId, int $limit = 20): array;

    /**
     * Holt Ontologie-Klassifikationen einer Entity.
     *
     * @return array<int, array>
     */
    public function findClassifications(int $entityId): array;

    /**
     * Erstellt eine neue Entity.
     *
     * @return int ID der neuen Entity
     */
    public function create(string $name, string $type, ?string $description = null): int;

    /**
     * Aktualisiert eine Entity.
     */
    public function update(int $id, string $name, string $type, ?string $description = null): bool;

    /**
     * Löscht eine Entity (nur wenn keine Relationen vorhanden).
     *
     * @return bool False wenn Relationen vorhanden, True bei Erfolg
     */
    public function delete(int $id): bool;

    /**
     * Holt vordefinierte Entity-Typen.
     *
     * @return array<string>
     */
    public function getTypes(): array;

    /**
     * Holt alle Entitäten (minimale Daten für Select).
     *
     * @return array<int, array{id: int, name: string, type: string}>
     */
    public function findAllSimple(): array;
}

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
1984 3 modified 2.6 KB 2025-12-28 02:59
1901 2 modified 2.6 KB 2025-12-28 01:04
1894 1 modified 2.5 KB 2025-12-28 01:02

← Zurück zur Übersicht