ContentConfigRepositoryInterface.php

Code Hygiene Score: 100

Keine Issues gefunden.

Klassen 1

Funktionen 8

Verwendet von 9

Versionen 1

Code

<?php

declare(strict_types=1);

namespace Domain\Repository;

// @responsibility: Interface for content configuration repository

interface ContentConfigRepositoryInterface
{
    /**
     * Get all author profiles.
     *
     * @return array<int, array<string, mixed>>
     */
    public function getAuthorProfiles(): array;

    /**
     * Get a single author profile.
     *
     * @return array<string, mixed>|null
     */
    public function getAuthorProfile(int $id): ?array;

    /**
     * Get all system prompts.
     *
     * @return array<int, array<string, mixed>>
     */
    public function getSystemPrompts(): array;

    /**
     * Get a single system prompt.
     *
     * @return array<string, mixed>|null
     */
    public function getSystemPrompt(int $id): ?array;

    /**
     * Get all output structures.
     *
     * @return array<int, array<string, mixed>>
     */
    public function getStructures(): array;

    /**
     * Get a single structure.
     *
     * @return array<string, mixed>|null
     */
    public function getStructure(int $id): ?array;

    /**
     * Save a config version to history.
     */
    public function saveHistory(
        int $configId,
        string $content,
        string $version,
        string $changedBy,
        string $changeDescription
    ): void;

    /**
     * Get config version history.
     *
     * @return array<int, array<string, mixed>>
     */
    public function getHistory(int $configId, int $limit = 10): array;
}
← Übersicht Graph