ChatSessionRepositoryInterface.php
- Pfad:
src/Domain/Repository/ChatSessionRepositoryInterface.php - Namespace: Domain\Repository
- Zeilen: 90 | Größe: 2,014 Bytes
- Geändert: 2025-12-28 23:21:15 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 96
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 80 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 1
- use Domain\Entity\ChatSession
Klassen 1
-
ChatSessionRepositoryInterfaceinterface Zeile 11
Funktionen 12
-
findByUuid()public Zeile 16 -
findAll()public Zeile 23 -
findAllWithStats()public Zeile 30 -
save()public Zeile 35 -
create()public Zeile 43 -
updateTitle()public Zeile 48 -
updateSettings()public Zeile 55 -
updateSystemPrompt()public Zeile 68 -
delete()public Zeile 73 -
deleteAll()public Zeile 78 -
touch()public Zeile 83 -
generateUuid()public Zeile 88
Verwendet von 21
- ChatServiceProvider.php use
- ChatSessionRepository.php use
- ChatSessionRepository.php implements
- CreateChatSessionUseCase.php constructor
- CreateChatSessionUseCase.php use
- DeleteChatSessionUseCase.php constructor
- DeleteChatSessionUseCase.php use
- ExportChatSessionUseCase.php constructor
- ExportChatSessionUseCase.php use
- GetChatSessionUseCase.php constructor
- GetChatSessionUseCase.php use
- LoadChatSessionUseCase.php constructor
- LoadChatSessionUseCase.php use
- ManageChatSessionsUseCase.php use
- ManageChatSessionsUseCase.php constructor
- SendChatMessageUseCase.php constructor
- SendChatMessageUseCase.php use
- StreamingChatMessageUseCase.php constructor
- StreamingChatMessageUseCase.php use
- UpdateChatSessionUseCase.php use
- UpdateChatSessionUseCase.php constructor
Versionen 5
-
v5
2025-12-28 23:21 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v4
2025-12-26 20:05 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v3
2025-12-25 09:36 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v2
2025-12-25 09:36 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v1
2025-12-23 08:07 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
Code
<?php
declare(strict_types=1);
namespace Domain\Repository;
// @responsibility: Vertrag für Chat-Session-Persistenz
use Domain\Entity\ChatSession;
interface ChatSessionRepositoryInterface
{
/**
* Find session by UUID.
*/
public function findByUuid(string $uuid): ?ChatSession;
/**
* Get all sessions with statistics.
*
* @return array<int, ChatSession>
*/
public function findAll(int $limit = 50): array;
/**
* Get all sessions as arrays (for list views with aggregated data).
*
* @return array<int, array<string, mixed>>
*/
public function findAllWithStats(int $limit = 50): array;
/**
* Save a session (create or update).
*/
public function save(ChatSession $session): int;
/**
* Create a new session (legacy - use save() instead).
*
* @deprecated Use save() with ChatSession entity instead
* @see self::save()
*/
public function create(string $uuid, string $model, string $collections, int $contextLimit): int;
/**
* Update session title.
*/
public function updateTitle(int $sessionId, string $title): void;
/**
* Update session settings.
*
* @param array<string> $collections
*/
public function updateSettings(
int $sessionId,
string $model,
array $collections,
int $contextLimit,
?int $authorProfileId,
float $temperature,
int $maxTokens
): void;
/**
* Update system prompt.
*/
public function updateSystemPrompt(int $sessionId, ?string $systemPrompt): void;
/**
* Delete session by ID.
*/
public function delete(int $sessionId): void;
/**
* Delete all sessions.
*/
public function deleteAll(): int;
/**
* Touch session (update last_activity timestamp).
*/
public function touch(int $sessionId): void;
/**
* Generate UUID v4.
*/
public function generateUuid(): string;
}