Completed
Pull Request — 2.1 (#1191)
by Rafał
31:22 queued 22:09
created
src/SWP/Bundle/GeoIPBundle/DependencyInjection/Configuration.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -37,13 +37,13 @@  discard block
 block discarded – undo
37 37
         $this->normalizeDatabasePath($rootNode);
38 38
         $rootNode
39 39
             ->beforeNormalization()
40
-            ->ifTrue(static function ($v): bool {
40
+            ->ifTrue(static function($v): bool {
41 41
                 return
42 42
                     is_array($v) &&
43 43
                     array_key_exists('license_key', $v) &&
44 44
                     array_key_exists('edition_id', $v);
45 45
             })
46
-            ->then(static function (array $v): array {
46
+            ->then(static function(array $v): array {
47 47
                 $v['database_url'] = sprintf(self::URL, urlencode($v['edition_id']), urlencode($v['license_key']));
48 48
 
49 49
                 return $v;
@@ -79,13 +79,13 @@  discard block
 block discarded – undo
79 79
     {
80 80
         $node
81 81
             ->beforeNormalization()
82
-            ->ifTrue(static function ($v): bool {
82
+            ->ifTrue(static function($v): bool {
83 83
                 return
84 84
                     is_array($v) &&
85 85
                     array_key_exists('license_key', $v) &&
86 86
                     array_key_exists('edition_id', $v);
87 87
             })
88
-            ->then(static function (array $v): array {
88
+            ->then(static function(array $v): array {
89 89
                 $v['database_url'] = sprintf(self::URL, urlencode($v['edition_id']), urlencode($v['license_key']));
90 90
 
91 91
                 return $v;
@@ -96,10 +96,10 @@  discard block
 block discarded – undo
96 96
     {
97 97
         $node
98 98
             ->beforeNormalization()
99
-            ->ifTrue(static function ($v): bool {
99
+            ->ifTrue(static function($v): bool {
100 100
                 return is_array($v) && array_key_exists('edition_id', $v);
101 101
             })
102
-            ->then(static function (array $v): array {
102
+            ->then(static function(array $v): array {
103 103
                 $v['database_path'] = sprintf(self::PATH, '%kernel.project_dir%/var', $v['edition_id']);
104 104
 
105 105
                 return $v;
Please login to merge, or discard this patch.
src/SWP/Bundle/CoreBundle/EventListener/ImageToWebpConversionListener.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -52,7 +52,7 @@
 block discarded – undo
52 52
 
53 53
         $tenantId = $this->tenantContext->getTenant()->getId();
54 54
 
55
-        $this->eventDispatcher->addListener(PackageEvents::PACKAGE_PROCESSED, function (GenericEvent $event) use ($rendition, $tenantId) {
55
+        $this->eventDispatcher->addListener(PackageEvents::PACKAGE_PROCESSED, function(GenericEvent $event) use ($rendition, $tenantId) {
56 56
             $this->messageBus->dispatch(new ConvertImageMessage(
57 57
                 (int) $rendition->getImage()->getId(),
58 58
                 (int) $tenantId
Please login to merge, or discard this patch.
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/CoreBundle/AppleNews/Api/AppleNewsApi.php 1 patch
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -119,6 +119,9 @@
 block discarded – undo
119 119
         return 'multipart/form-data; boundary='.$this->boundary;
120 120
     }
121 121
 
122
+    /**
123
+     * @param string $json
124
+     */
122 125
     public function post(string $path, $json, array $metadata = []): ResponseInterface
123 126
     {
124 127
         $multipartStream = new MultipartStream($this->generateData($json, $metadata), $this->boundary);
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.