ContractRepositoryInterface.php

Code Hygiene Score: 100

Keine Issues gefunden.

Klassen 1

Funktionen 10

Verwendet von 5

Code

<?php

declare(strict_types=1);

namespace Domain\Repository;

// @responsibility: Contract für Contracts-Persistenz

interface ContractRepositoryInterface
{
    /**
     * @param array<string, mixed> $filters
     * @return array<array<string, mixed>>
     */
    public function findAll(array $filters = [], int $limit = 50): array;

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

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

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

    public function createNewVersion(int $id, string $yamlContent, string $newVersion, string $changeDescription): void;

    public function deprecate(int $id): void;

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

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

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

    /**
     * @return array<string, int>
     */
    public function getStatistics(): array;
}
← Übersicht Graph