Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
GetResolvedPreferenceQuery
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
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\Core\Preference\Application\Query;
8
9defined('AMMONLY_APP') || exit('Direct script access is forbidden.');
10
11use App\Core\Preference\Domain\Model\PreferenceScope;
12
13/**
14 * Query for retrieving a resolved preference through the multi-layer hierarchy.
15 *
16 * @package App\Core\Preference\Application\Query
17 */
18final readonly class GetResolvedPreferenceQuery
19{
20    /**
21     * GetResolvedPreferenceQuery constructor.
22     *
23     * @param PreferenceScope $scope           User and contextual scope.
24     * @param string          $key             Preference key name.
25     * @param mixed           $fallbackDefault Fallback default value.
26     */
27    public function __construct(
28        public PreferenceScope $scope,
29        public string $key,
30        public mixed $fallbackDefault = null,
31    ) {
32    }
33}