Code Duplication    Length = 139-139 lines in 2 locations

src/Surfnet/Stepup/Identity/Event/SecondFactorVettedEvent.php 1 location

@@ 39-177 (lines=139) @@
36
/**
37
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
38
 */
39
class SecondFactorVettedEvent extends IdentityEvent implements Forgettable
40
{
41
    /**
42
     * @var \Surfnet\Stepup\Identity\Value\NameId
43
     */
44
    public $nameId;
45
46
    /**
47
     * @var \Surfnet\Stepup\Identity\Value\SecondFactorId
48
     */
49
    public $secondFactorId;
50
51
    /**
52
     * @var \Surfnet\StepupBundle\Value\SecondFactorType
53
     */
54
    public $secondFactorType;
55
56
    /**
57
     * @var \Surfnet\Stepup\Identity\Value\SecondFactorIdentifier
58
     */
59
    public $secondFactorIdentifier;
60
61
    /**
62
     * @var \Surfnet\Stepup\Identity\Value\DocumentNumber
63
     */
64
    public $documentNumber;
65
66
    /**
67
     * @var \Surfnet\Stepup\Identity\Value\CommonName
68
     */
69
    public $commonName;
70
71
    /**
72
     * @var \Surfnet\Stepup\Identity\Value\Email
73
     */
74
    public $email;
75
76
    /**
77
     * @var \Surfnet\Stepup\Identity\Value\Locale Eg. "en_GB"
78
     */
79
    public $preferredLocale;
80
81
    /**
82
     * @param IdentityId        $identityId
83
     * @param NameId            $nameId
84
     * @param Institution       $institution
85
     * @param SecondFactorId    $secondFactorId
86
     * @param SecondFactorType  $secondFactorType
87
     * @param SecondFactorIdentifier $secondFactorIdentifier
88
     * @param DocumentNumber    $documentNumber
89
     * @param CommonName        $commonName
90
     * @param Email             $email
91
     * @param Locale            $preferredLocale
92
     *
93
     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
94
     */
95
    public function __construct(
96
        IdentityId $identityId,
97
        NameId $nameId,
98
        Institution $institution,
99
        SecondFactorId $secondFactorId,
100
        SecondFactorType $secondFactorType,
101
        SecondFactorIdentifier $secondFactorIdentifier,
102
        DocumentNumber $documentNumber,
103
        CommonName $commonName,
104
        Email $email,
105
        Locale $preferredLocale
106
    ) {
107
        parent::__construct($identityId, $institution);
108
109
        $this->nameId                 = $nameId;
110
        $this->secondFactorId         = $secondFactorId;
111
        $this->secondFactorType       = $secondFactorType;
112
        $this->secondFactorIdentifier = $secondFactorIdentifier;
113
        $this->documentNumber         = $documentNumber;
114
        $this->commonName             = $commonName;
115
        $this->email                  = $email;
116
        $this->preferredLocale        = $preferredLocale;
117
    }
118
119
    public function getAuditLogMetadata()
120
    {
121
        $metadata                         = new Metadata();
122
        $metadata->identityId             = $this->identityId;
123
        $metadata->identityInstitution    = $this->identityInstitution;
124
        $metadata->secondFactorId         = $this->secondFactorId;
125
        $metadata->secondFactorType       = $this->secondFactorType;
126
        $metadata->secondFactorIdentifier = $this->secondFactorIdentifier;
127
128
        return $metadata;
129
    }
130
131
    public static function deserialize(array $data)
132
    {
133
        $secondFactorType = new SecondFactorType($data['second_factor_type']);
134
135
        return new self(
136
            new IdentityId($data['identity_id']),
137
            new NameId($data['name_id']),
138
            new Institution($data['identity_institution']),
139
            new SecondFactorId($data['second_factor_id']),
140
            $secondFactorType,
141
            SecondFactorIdentifierFactory::unknownForType($secondFactorType),
142
            DocumentNumber::unknown(),
143
            CommonName::unknown(),
144
            Email::unknown(),
145
            new Locale($data['preferred_locale'])
146
        );
147
    }
148
149
    public function serialize(): array
150
    {
151
        return [
152
            'identity_id'              => (string) $this->identityId,
153
            'name_id'                  => (string) $this->nameId,
154
            'identity_institution'     => (string) $this->identityInstitution,
155
            'second_factor_id'         => (string) $this->secondFactorId,
156
            'second_factor_type'       => (string) $this->secondFactorType,
157
            'preferred_locale'         => (string) $this->preferredLocale,
158
        ];
159
    }
160
161
    public function getSensitiveData()
162
    {
163
        return (new SensitiveData)
164
            ->withCommonName($this->commonName)
165
            ->withEmail($this->email)
166
            ->withSecondFactorIdentifier($this->secondFactorIdentifier, $this->secondFactorType)
167
            ->withDocumentNumber($this->documentNumber);
168
    }
169
170
    public function setSensitiveData(SensitiveData $sensitiveData)
171
    {
172
        $this->email          = $sensitiveData->getEmail();
173
        $this->commonName     = $sensitiveData->getCommonName();
174
        $this->secondFactorIdentifier = $sensitiveData->getSecondFactorIdentifier();
175
        $this->documentNumber = $sensitiveData->getDocumentNumber();
176
    }
177
}
178

src/Surfnet/Stepup/Identity/Event/SecondFactorVettedWithoutTokenProofOfPossession.php 1 location

@@ 39-177 (lines=139) @@
36
/**
37
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
38
 */
39
class SecondFactorVettedWithoutTokenProofOfPossession extends IdentityEvent implements Forgettable
40
{
41
    /**
42
     * @var \Surfnet\Stepup\Identity\Value\NameId
43
     */
44
    public $nameId;
45
46
    /**
47
     * @var \Surfnet\Stepup\Identity\Value\SecondFactorId
48
     */
49
    public $secondFactorId;
50
51
    /**
52
     * @var \Surfnet\StepupBundle\Value\SecondFactorType
53
     */
54
    public $secondFactorType;
55
56
    /**
57
     * @var \Surfnet\Stepup\Identity\Value\SecondFactorIdentifier
58
     */
59
    public $secondFactorIdentifier;
60
61
    /**
62
     * @var \Surfnet\Stepup\Identity\Value\DocumentNumber
63
     */
64
    public $documentNumber;
65
66
    /**
67
     * @var \Surfnet\Stepup\Identity\Value\CommonName
68
     */
69
    public $commonName;
70
71
    /**
72
     * @var \Surfnet\Stepup\Identity\Value\Email
73
     */
74
    public $email;
75
76
    /**
77
     * @var \Surfnet\Stepup\Identity\Value\Locale Eg. "en_GB"
78
     */
79
    public $preferredLocale;
80
81
    /**
82
     * @param IdentityId        $identityId
83
     * @param NameId            $nameId
84
     * @param Institution       $institution
85
     * @param SecondFactorId    $secondFactorId
86
     * @param SecondFactorType  $secondFactorType
87
     * @param SecondFactorIdentifier $secondFactorIdentifier
88
     * @param DocumentNumber    $documentNumber
89
     * @param CommonName        $commonName
90
     * @param Email             $email
91
     * @param Locale            $preferredLocale
92
     *
93
     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
94
     */
95
    public function __construct(
96
        IdentityId $identityId,
97
        NameId $nameId,
98
        Institution $institution,
99
        SecondFactorId $secondFactorId,
100
        SecondFactorType $secondFactorType,
101
        SecondFactorIdentifier $secondFactorIdentifier,
102
        DocumentNumber $documentNumber,
103
        CommonName $commonName,
104
        Email $email,
105
        Locale $preferredLocale
106
    ) {
107
        parent::__construct($identityId, $institution);
108
109
        $this->nameId                 = $nameId;
110
        $this->secondFactorId         = $secondFactorId;
111
        $this->secondFactorType       = $secondFactorType;
112
        $this->secondFactorIdentifier = $secondFactorIdentifier;
113
        $this->documentNumber         = $documentNumber;
114
        $this->commonName             = $commonName;
115
        $this->email                  = $email;
116
        $this->preferredLocale        = $preferredLocale;
117
    }
118
119
    public function getAuditLogMetadata()
120
    {
121
        $metadata                         = new Metadata();
122
        $metadata->identityId             = $this->identityId;
123
        $metadata->identityInstitution    = $this->identityInstitution;
124
        $metadata->secondFactorId         = $this->secondFactorId;
125
        $metadata->secondFactorType       = $this->secondFactorType;
126
        $metadata->secondFactorIdentifier = $this->secondFactorIdentifier;
127
128
        return $metadata;
129
    }
130
131
    public static function deserialize(array $data)
132
    {
133
        $secondFactorType = new SecondFactorType($data['second_factor_type']);
134
135
        return new self(
136
            new IdentityId($data['identity_id']),
137
            new NameId($data['name_id']),
138
            new Institution($data['identity_institution']),
139
            new SecondFactorId($data['second_factor_id']),
140
            $secondFactorType,
141
            SecondFactorIdentifierFactory::unknownForType($secondFactorType),
142
            DocumentNumber::unknown(),
143
            CommonName::unknown(),
144
            Email::unknown(),
145
            new Locale($data['preferred_locale'])
146
        );
147
    }
148
149
    public function serialize(): array
150
    {
151
        return [
152
            'identity_id'              => (string) $this->identityId,
153
            'name_id'                  => (string) $this->nameId,
154
            'identity_institution'     => (string) $this->identityInstitution,
155
            'second_factor_id'         => (string) $this->secondFactorId,
156
            'second_factor_type'       => (string) $this->secondFactorType,
157
            'preferred_locale'         => (string) $this->preferredLocale,
158
        ];
159
    }
160
161
    public function getSensitiveData()
162
    {
163
        return (new SensitiveData)
164
            ->withCommonName($this->commonName)
165
            ->withEmail($this->email)
166
            ->withSecondFactorIdentifier($this->secondFactorIdentifier, $this->secondFactorType)
167
            ->withDocumentNumber($this->documentNumber);
168
    }
169
170
    public function setSensitiveData(SensitiveData $sensitiveData)
171
    {
172
        $this->email          = $sensitiveData->getEmail();
173
        $this->commonName     = $sensitiveData->getCommonName();
174
        $this->secondFactorIdentifier = $sensitiveData->getSecondFactorIdentifier();
175
        $this->documentNumber = $sensitiveData->getDocumentNumber();
176
    }
177
}
178