• File: VulnerabilitySnapshotRepositoryInterface.php
  • Full Path: /home/docteuh/www/Vulnerability/Interfaces/VulnerabilitySnapshotRepositoryInterface.php
  • Date Modified: 06/18/2026 4:25 PM
  • File size: 789 bytes
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

declare(strict_types=1);

namespace ReallySimplePlugins\RSS\Core\Features\Vulnerability\Interfaces;

use ReallySimplePlugins\RSS\Core\Features\Vulnerability\Dtos\VulnerabilitySnapshotDto;

/**
 * Defines persistence operations for vulnerability snapshot state.
 *
 * Constraints: Read/write access only; no business logic.
 */
interface VulnerabilitySnapshotRepositoryInterface
{
    /**
     * Returns the previously stored vulnerability snapshot, if any.
     */
    public function getPrevious(): ?VulnerabilitySnapshotDto;

    /**
     * Persists the current vulnerability snapshot.
     */
    public function saveCurrent(VulnerabilitySnapshotDto $vulnerabilitySnapshotDto): void;

    /**
     * Removes any stored snapshot data.
     */
    public function clear(): void;
}