Passed
Pull Request — main (#308)
by Paul
18:42 queued 09:10
created

LocaleProviderService   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
dl 0
loc 28
rs 10
c 1
b 0
f 0
wmc 4
1
<?php
2
3
declare(strict_types = 1);
4
5
/**
6
 * Copyright 2016 SURFnet B.V.
7
 *
8
 * Licensed under the Apache License, Version 2.0 (the "License");
9
 * you may not use this file except in compliance with the License.
10
 * You may obtain a copy of the License at
11
 *
12
 *     http://www.apache.org/licenses/LICENSE-2.0
13
 *
14
 * Unless required by applicable law or agreed to in writing, software
15
 * distributed under the License is distributed on an "AS IS" BASIS,
16
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
 * See the License for the specific language governing permissions and
18
 * limitations under the License.
19
 */
0 ignored issues
show
Coding Style introduced by
PHP version not specified
Loading history...
Coding Style introduced by
Missing @category tag in file comment
Loading history...
Coding Style introduced by
Missing @package tag in file comment
Loading history...
Coding Style introduced by
Missing @author tag in file comment
Loading history...
Coding Style introduced by
Missing @license tag in file comment
Loading history...
Coding Style introduced by
Missing @link tag in file comment
Loading history...
20
21
namespace Surfnet\StepupSelfService\SelfServiceBundle\Service;
22
23
use Surfnet\StepupBundle\Service\LocaleProviderService as StepupLocaleProviderService;
24
use Surfnet\StepupMiddlewareClientBundle\Identity\Dto\Identity;
25
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
26
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
27
28
final readonly class LocaleProviderService implements StepupLocaleProviderService
0 ignored issues
show
Coding Style introduced by
Missing doc comment for class LocaleProviderService
Loading history...
Bug introduced by
A parse error occurred: Syntax error, unexpected T_READONLY, expecting T_CLASS on line 28 at column 6
Loading history...
29
{
30
    public function __construct(private TokenStorageInterface $tokenStorage)
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function __construct()
Loading history...
31
    {
32
    }
33
34
    public function determinePreferredLocale()
0 ignored issues
show
Coding Style introduced by
Missing doc comment for function determinePreferredLocale()
Loading history...
35
    {
36
        $token = $this->tokenStorage->getToken();
37
38
        if (!$token instanceof TokenInterface) {
39
            return;
40
        }
41
42
        /** @var Identity $identity */
0 ignored issues
show
Coding Style introduced by
The open comment tag must be the only content on the line
Loading history...
Coding Style introduced by
Missing short description in doc comment
Loading history...
Coding Style introduced by
The close comment tag must be the only content on the line
Loading history...
43
        $identity = $token->getUser();
44
45
        if (!$identity instanceof Identity) {
46
            return;
47
        }
48
49
        return $identity->preferredLocale;
50
    }
51
}
52