Completed
Push — master ( 009411...7fe99b )
by Rafał
18:49 queued 07:10
created
src/SWP/Bundle/CoreBundle/Command/RemoveMissingEmbeddedImagesCommand.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -69,12 +69,12 @@  discard block
 block discarded – undo
69 69
             $articleBody = $article->getBody();
70 70
             $crawler = new Crawler($articleBody);
71 71
             $crawler->filter('img')
72
-                ->reduce(function (Crawler $node, $i) use ($input) {
72
+                ->reduce(function(Crawler $node, $i) use ($input) {
73 73
                     if (false === strpos($node->attr('src'), $input->getArgument('term'))) {
74 74
                         return false;
75 75
                     }
76 76
                 })
77
-                ->each(static function (Crawler $crawler, $i) use ($input) {
77
+                ->each(static function(Crawler $crawler, $i) use ($input) {
78 78
                     $closest = $crawler->closest($input->getArgument('parent'));
79 79
                     if (is_iterable($closest)) {
80 80
                         foreach ($closest as $node) {
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
                     }
84 84
                 });
85 85
 
86
-            $newContent = $crawler->filter('html body')->each(static function (Crawler $crawler) {
86
+            $newContent = $crawler->filter('html body')->each(static function(Crawler $crawler) {
87 87
                 return $crawler->html();
88 88
             });
89 89
 
Please login to merge, or discard this patch.
src/SWP/Bundle/MultiTenancyBundle/Command/CreateTenantCommand.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -144,7 +144,7 @@
 block discarded – undo
144 144
         $default = $input->getOption('default');
145 145
         if (!$input->getArgument($name) && !$default) {
146 146
             $question = new Question(sprintf('<question>Please enter %s:</question>', $name));
147
-            $question->setValidator(function ($argument) use ($name) {
147
+            $question->setValidator(function($argument) use ($name) {
148 148
                 if (empty($argument) && $name !== $this->arguments[1]) {
149 149
                     throw new \RuntimeException(sprintf('The %s can not be empty', $name));
150 150
                 }
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
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.
Unused Use Statements   -85 removed lines patch added patch discarded remove patch
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.
Indentation   -85 removed lines patch added patch discarded remove patch
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.
Switch Indentation   -85 removed lines patch added patch discarded remove patch
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.
Spacing   -85 removed lines patch added patch discarded remove patch
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.
Braces   -85 removed lines patch added patch discarded remove patch
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -85 removed lines patch added patch discarded remove patch
@@ -180,88 +180,3 @@
 block discarded – undo
180 180
                 return new SingleResourceResponse([
181 181
                     'status' => 401,
182 182
                     'message' => <<<'MESSAGE'
183
-Unauthorized (user not found in Superdesk). 
184
-Make sure that Publisher can talk to Superdesk instance. Set it's address in "SUPERDESK_SERVERS" environment variable.
185
-MESSAGE,
186
-                ], new ResponseContext(401));
187
-            }
188
-
189
-            $publisherUser = $userProvider->findOneByEmail($superdeskUser['email']);
190
-            if (null === $publisherUser) {
191
-                try {
192
-                    $publisherUser = $userProvider->loadUserByUsername($superdeskUser['username']);
193
-                } catch (UsernameNotFoundException $e) {
194
-                    $publisherUser = null;
195
-                }
196
-            }
197
-
198
-            if (null === $publisherUser) {
199
-                /** @var UserInterface $publisherUser */
200
-                $publisherUser = $userManager->createUser();
201
-                $publisherUser->setUsername($superdeskUser['username']);
202
-                $publisherUser->setEmail($superdeskUser['email']);
203
-                $publisherUser->setRoles(['ROLE_INTERNAL_API']);
204
-                $publisherUser->setFirstName(\array_key_exists('first_name', $superdeskUser) ? $superdeskUser['first_name'] : 'Anon.');
205
-                $publisherUser->setLastName(\array_key_exists('last_name', $superdeskUser) ? $superdeskUser['last_name'] : '');
206
-                $publisherUser->setPlainPassword(password_hash(random_bytes(36), PASSWORD_BCRYPT));
207
-                $publisherUser->setEnabled(true);
208
-                $userManager->updateUser($publisherUser);
209
-            }
210
-
211
-            if (null !== $publisherUser) {
212
-                return $this->returnApiTokenResponse($publisherUser, str_replace('Basic ', '', $formData['token']));
213
-            }
214
-        }
215
-
216
-        return new SingleResourceResponse([
217
-            'status' => 401,
218
-            'message' => 'Unauthorized',
219
-        ], new ResponseContext(401));
220
-    }
221
-
222
-    private function returnApiTokenResponse(UserInterface $user, string $token = null): SingleResourceResponseInterface
223
-    {
224
-        /** @var ApiKeyInterface $apiKey */
225
-        $apiKey = $this->generateOrGetApiKey($user, $token);
226
-
227
-        return new SingleResourceResponse([
228
-            'token' => [
229
-                'api_key' => $apiKey->getApiKey(),
230
-                'valid_to' => $apiKey->getValidTo(),
231
-            ],
232
-            'user' => $user,
233
-        ]);
234
-    }
235
-
236
-    private function generateOrGetApiKey(UserInterface $user, $token): ?ApiKeyInterface
237
-    {
238
-        $apiKey = null;
239
-        if (null !== $token) {
240
-            $apiKey = $this->apiKeyRepository->getValidToken($token)->getQuery()->getOneOrNullResult();
241
-        } else {
242
-            $validKeys = $this->apiKeyRepository->getValidTokenForUser($user)->getQuery()->getResult();
243
-            if (count($validKeys) > 0) {
244
-                $apiKey = reset($validKeys);
245
-            }
246
-        }
247
-
248
-        if (null === $apiKey) {
249
-            $apiKey = $this->apiKeyFactory->create($user, $token);
250
-
251
-            try {
252
-                $lock = $this->lockFactory->createLock(md5(json_encode(['type' => 'user_api_key', 'user' => $user->getId()])), 2);
253
-                if (!$lock->acquire()) {
254
-                    throw new RuntimeException('Other api key is created right now for this user');
255
-                }
256
-                $this->apiKeyRepository->add($apiKey);
257
-                $lock->release();
258
-            } catch (RuntimeException $e) {
259
-                sleep(2);
260
-
261
-                return $this->generateOrGetApiKey($user, $token);
262
-            }
263
-        }
264
-
265
-        return $apiKey;
266
-    }
267
-}
Please login to merge, or discard this patch.