Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
1 / 1
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5/** @license For full copyright and license information, please see the LICENSE.md file. */
6
7namespace App\Modules\About\Domain\Repository;
8
9defined('AMMONLY_APP') || exit('Direct script access is forbidden.');
10
11use App\Modules\About\Domain\Model\SystemRequirement;
12
13/**
14 * System Requirements Repository Interface.
15 *
16 * @package App\Modules\About\Domain\Repository
17 */
18interface SystemRequirementsRepositoryInterface
19{
20    /**
21     * Retrieves all active system requirements, optionally filtered by category.
22     *
23     * @param string|null $category Optional category filter.
24     * @return array<int, SystemRequirement> List of active system requirements.
25     */
26    public function getActiveRequirements(?string $category = null): array;
27
28    /**
29     * Finds a single system requirement by its unique key.
30     *
31     * @param string $key Unique requirement key.
32     * @return SystemRequirement|null Found requirement or null.
33     */
34    public function getRequirementByKey(string $key): ?SystemRequirement;
35}