Completed
Pull Request — 2.1 (#1176)
by Greg
09:47 queued 29s
created
src/SWP/Bundle/UserBundle/Command/CreateUserCommand.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 
103 103
         if (!$input->getArgument('username')) {
104 104
             $question = new Question('Please choose a username:');
105
-            $question->setValidator(function ($username) {
105
+            $question->setValidator(function($username) {
106 106
                 if (empty($username)) {
107 107
                     throw new \Exception('Username can not be empty');
108 108
                 }
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
 
115 115
         if (!$input->getArgument('email')) {
116 116
             $question = new Question('Please choose an email:');
117
-            $question->setValidator(function ($email) {
117
+            $question->setValidator(function($email) {
118 118
                 if (empty($email)) {
119 119
                     throw new \Exception('Email can not be empty');
120 120
                 }
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
 
127 127
         if (!$input->getArgument('password')) {
128 128
             $question = new Question('Please choose a password:');
129
-            $question->setValidator(function ($password) {
129
+            $question->setValidator(function($password) {
130 130
                 if (empty($password)) {
131 131
                     throw new \Exception('Password can not be empty');
132 132
                 }
Please login to merge, or discard this patch.
src/SWP/Bundle/UserBundle/Mailer/Mailer.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -76,7 +76,7 @@
 block discarded – undo
76 76
     }
77 77
 
78 78
     public function sendResetPasswordEmail(UserInterface $user,
79
-                                           ResetPasswordToken $resetToken
79
+                                            ResetPasswordToken $resetToken
80 80
     ): void
81 81
     {
82 82
         $email = (new TemplatedEmail())
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@
 block discarded – undo
48 48
         $tenant = $tenantContext->getTenant();
49 49
 
50 50
         if ($tenant instanceof SettingsOwnerInterface) {
51
-            $fromEmail = ['contact@' . $tenant->getDomainName() => 'contact'];
51
+            $fromEmail = ['contact@'.$tenant->getDomainName() => 'contact'];
52 52
 
53 53
             $this->parameters['confirmation.template'] =
54 54
                 $settingsManager->get('registration_confirmation.template', 'tenant', $tenant);
Please login to merge, or discard this patch.
src/SWP/Bundle/UserBundle/Controller/ResetPasswordController.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -160,9 +160,9 @@
 block discarded – undo
160 160
             $resetToken = $this->resetPasswordHelper->generateResetToken($user);
161 161
         } catch (ResetPasswordExceptionInterface $e) {
162 162
             $this->addFlash('reset_password_error', sprintf(
163
-                 'There was a problem handling your password reset request - %s',
164
-                 $e->getReason()
165
-             ));
163
+                    'There was a problem handling your password reset request - %s',
164
+                    $e->getReason()
165
+                ));
166 166
 
167 167
             return $this->redirectToRoute('swp_user_check_email');
168 168
         }
Please login to merge, or discard this patch.
src/SWP/Bundle/CoreBundle/Controller/AuthController.php 7 patches
Doc Comments   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.
Unused Use Statements   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.
Indentation   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.
Switch Indentation   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.
Spacing   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.
Braces   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -85 removed lines patch added patch discarded remove patch
@@ -133,88 +133,3 @@
 block discarded – undo
133 133
                 return new SingleResourceResponse([
134 134
                     'status' => 401,
135 135
                     'message' => <<<'MESSAGE'
136
-Unauthorized (user not found in Superdesk). 
137
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
138
-MESSAGE,
139
-                ], new ResponseContext(401));
140
-            }
141
-
142
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
143
-            if (null === $publisherUser) {
144
-                try {
145
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
146
-                } catch (UsernameNotFoundException $e) {
147
-                    $publisherUser = null;
148
-                }
149
-            }
150
-
151
-            if (null === $publisherUser) {
152
-                /** @var UserInterface $publisherUser */
153
-                $publisherUser = $userManager->createUser();
154
-                $publisherUser->setUsername($superdeskUser['username']);
155
-                $publisherUser->setEmail($superdeskUser['email']);
156
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
157
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
158
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
159
-                $publisherUser->setPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
160
-                $publisherUser->setEnabled(true);
161
-                $userManager->updateUser($publisherUser);
162
-            }
163
-
164
-            if (null !== $publisherUser) {
165
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
166
-            }
167
-        }
168
-
169
-        return new SingleResourceResponse([
170
-            'status' => 401,
171
-            'message' => 'Unauthorized',
172
-        ], new ResponseContext(401));
173
-    }
174
-
175
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
176
-    {
177
-        /** @var ApiKeyInterface $apiKey */
178
-        $apiKey = $this->generateOrGetApiKey($user, $token);
179
-
180
-        return new SingleResourceResponse([
181
-            'token' => [
182
-                'api_key' => $apiKey->getApiKey(),
183
-                'valid_to' => $apiKey->getValidTo(),
184
-            ],
185
-            'user' => $user,
186
-        ]);
187
-    }
188
-
189
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
190
-    {
191
-        $apiKey = null;
192
-        if (null !== $token) {
193
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
194
-        } else {
195
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
196
-            if (count($validKeys) > 0) {
197
-                $apiKey = reset($validKeys);
198
-            }
199
-        }
200
-
201
-        if (null === $apiKey) {
202
-            $apiKey = $this->apiKeyFactory->create($user, $token);
203
-
204
-            try {
205
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
206
-                if (!$lock->acquire()) {
207
-                    throw new RuntimeException('Other api key is created right now for this user');
208
-                }
209
-                $this->apiKeyRepository->add($apiKey);
210
-                $lock->release();
211
-            } catch (RuntimeException $e) {
212
-                sleep(2);
213
-
214
-                return $this->generateOrGetApiKey($user, $token);
215
-            }
216
-        }
217
-
218
-        return $apiKey;
219
-    }
220
-}
Please login to merge, or discard this patch.