InstitutionAuthorization::create()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 3
dl 0
loc 12
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Copyright 2018 SURFnet B.V.
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 *     http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
17
 */
18
19
namespace Surfnet\StepupMiddleware\ApiBundle\Configuration\Entity;
20
21
use Doctrine\ORM\Mapping as ORM;
22
use Surfnet\Stepup\Configuration\Value\Institution;
23
use Surfnet\Stepup\Configuration\Value\InstitutionRole;
24
use Surfnet\StepupMiddleware\ApiBundle\Configuration\Repository\InstitutionAuthorizationRepository;
25
26
#[ORM\Table]
27
#[ORM\Index(name: 'idx_authorization', columns: ['institution', 'institution_relation', 'institution_role'])]
28
#[ORM\Entity(repositoryClass: InstitutionAuthorizationRepository::class)]
29
class InstitutionAuthorization
30
{
31
    /**
32
     *
33
     * @var Institution
34
     */
35
    #[ORM\Id]
36
    #[ORM\Column(type: 'stepup_configuration_institution')]
37
    public Institution $institution;
38
39
    /**
40
     *
41
     * @var Institution
42
     */
43
    #[ORM\Id]
44
    #[ORM\Column(type: 'stepup_configuration_institution')]
45
    public Institution $institutionRelation;
46
47
    /**
48
     *
49
     * @var InstitutionRole
50
     */
51
    #[ORM\Id]
52
    #[ORM\Column(type: 'stepup_institution_role', length: 10)]
53
    public InstitutionRole $institutionRole;
54
55
    /**
56
     * @return InstitutionAuthorization
57
     */
58
    public static function create(
59
        Institution $institution,
60
        Institution $institutionRelation,
61
        InstitutionRole $institutionRole,
62
    ): self {
63
        $options = new self;
0 ignored issues
show
Coding Style introduced by
Parentheses must be used when instantiating a new class
Loading history...
64
65
        $options->institution = $institution;
66
        $options->institutionRelation = $institutionRelation;
67
        $options->institutionRole = $institutionRole;
68
69
        return $options;
70
    }
71
}
72