Completed
Pull Request — 2.1 (#1191)
by Rafał
31:22 queued 22:09
created
src/SWP/Bundle/CoreBundle/MessageHandler/Message/ContentPushMessage.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -43,8 +43,8 @@
 block discarded – undo
43 43
     public function toArray(): array
44 44
     {
45 45
         return [
46
-          'tenant' => $this->tenantId,
47
-          'content' => $this->content,
46
+            'tenant' => $this->tenantId,
47
+            'content' => $this->content,
48 48
         ];
49 49
     }
50 50
 }
Please login to merge, or discard this patch.
src/SWP/Bundle/CoreBundle/Controller/AuthController.php 1 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.