Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
EntitySnapshotHidden
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 3
20
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 applies
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 normalize
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2namespace Apie\Common\Other;
3
4use Apie\Common\Enums\AccessDenied;
5use Apie\Common\Enums\HiddenField;
6use Apie\Core\Attributes\ApieContextAttribute;
7use Apie\Serializer\Context\ApieSerializerContext;
8
9/**
10 * Audit log snapshot hidden field. Value is redacted (password, etc.)
11 */
12class EntitySnapshotHidden implements EntitySnapshotInstance
13{
14    public function __construct(
15        private readonly ApieContextAttribute $context
16    ) {
17    }
18
19    public function applies(ApieSerializerContext $apieSerializerContext): bool
20    {
21        return $this->context->applies($apieSerializerContext->getContext());
22    }
23
24    public function normalize(ApieSerializerContext $apieSerializerContext): HiddenField|AccessDenied
25    {
26        if (!$this->applies($apieSerializerContext)) {
27            return AccessDenied::Denied;
28        }
29        return HiddenField::Hidden;
30    }
31}