PipelineRepositoryInterface.php

Code Hygiene Score: 84

Keine Issues gefunden.

Klassen 1

Funktionen 18

Verwendet von 11

Versionen 2

Code

<?php

declare(strict_types=1);

namespace Domain\Repository;

// @responsibility: Vertrag für Pipeline-Konfigurations-Persistenz

interface PipelineRepositoryInterface
{
    /**
     * @return array<string, mixed>|null
     */
    public function findById(int $id): ?array;

    /**
     * @return array<string, mixed>|null
     */
    public function findByName(string $name): ?array;

    /**
     * @return array<string, mixed>|null
     */
    public function findDefault(): ?array;

    /**
     * @return array<int, array<string, mixed>>
     */
    public function findAll(int $limit = 50): array;

    /**
     * @return array<int, array<string, mixed>>
     */
    public function findSteps(int $pipelineId): array;

    /**
     * @param array<string, mixed> $data
     */
    public function create(array $data): int;

    /**
     * @param array<string, mixed> $data
     */
    public function update(int $id, array $data): void;

    public function delete(int $id): void;

    /**
     * @param array<string, mixed> $stepData
     */
    public function addStep(int $pipelineId, array $stepData): int;

    /**
     * @param array<string, mixed> $stepData
     */
    public function updateStep(int $stepId, array $stepData): void;

    public function deleteStep(int $stepId): void;

    /**
     * @param array<int> $stepIds
     */
    public function reorderSteps(int $pipelineId, array $stepIds): void;

    /**
     * @return array<int, array<string, mixed>>
     */
    public function findRuns(int $pipelineId, int $limit = 20): array;

    /**
     * @return array<string, mixed>|null
     */
    public function findRunById(int $runId): ?array;

    /**
     * @return array<string, mixed>|null
     */
    public function findLatestRun(int $pipelineId): ?array;

    public function createRun(int $pipelineId): int;

    /**
     * @param array<string, mixed> $data
     */
    public function updateRun(int $runId, array $data): void;

    /**
     * @return array{pipelines: int, runs_total: int, runs_completed: int, runs_failed: int, documents_processed: int, chunks_created: int}
     */
    public function getStatistics(): array;
}
← Übersicht Graph