From 15bf576f0094e37c8956240ec7365087e31080c3 Mon Sep 17 00:00:00 2001 From: Simon Erkelens Date: Sat, 12 Aug 2017 15:03:47 +1200 Subject: [PATCH] Some cleaning up --- src/Mutations/RefreshTokenMutationCreator.php | 23 ++++++++++--------- src/Types/MemberTokenTypeCreator.php | 12 ++++++---- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/Mutations/RefreshTokenMutationCreator.php b/src/Mutations/RefreshTokenMutationCreator.php index 8b73bb7..acd0eab 100644 --- a/src/Mutations/RefreshTokenMutationCreator.php +++ b/src/Mutations/RefreshTokenMutationCreator.php @@ -37,6 +37,8 @@ public function args() * @param mixed $context * @param ResolveInfo $info * @return Member|null + * @throws \Psr\Container\NotFoundExceptionInterface + * @throws \SilverStripe\ORM\ValidationException * @throws \BadMethodCallException * @throws \OutOfBoundsException */ @@ -53,20 +55,19 @@ public function resolve($object, array $args, $context, ResolveInfo $info) } $expired = false; - if ($member === null) { + // If we have a valid member, or there are no matches, there's no reason to go in here + if ($member === null && !empty($matches[1])) { foreach ($result->getMessages() as $message) { - if (strpos($message['message'], 'Token is expired') === 0) { + if (strpos($message['message'], 'Token is expired') !== false) { // If expired is true, the rest of the token is valid, so we can refresh $expired = true; - if (!empty($matches[1])) { - // We need a member, even if the result is false - $parser = new Parser(); - $parsedToken = $parser->parse((string)$matches[1]); - /** @var Member $member */ - $member = Member::get() - ->filter(['JWTUniqueID' => $parsedToken->getClaim('jti')]) - ->byID($parsedToken->getClaim('uid')); - } + // We need a member, even if the result is false + $parser = new Parser(); + $parsedToken = $parser->parse((string)$matches[1]); + /** @var Member $member */ + $member = Member::get() + ->filter(['JWTUniqueID' => $parsedToken->getClaim('jti')]) + ->byID($parsedToken->getClaim('uid')); } } } elseif ($member) { diff --git a/src/Types/MemberTokenTypeCreator.php b/src/Types/MemberTokenTypeCreator.php index 29f36b1..876380b 100644 --- a/src/Types/MemberTokenTypeCreator.php +++ b/src/Types/MemberTokenTypeCreator.php @@ -16,12 +16,14 @@ public function attributes() public function fields() { + $string = Type::string(); + $id = Type::id(); return [ - 'ID' => ['type' => Type::id()], - 'FirstName' => ['type' => Type::string()], - 'Surname' => ['type' => Type::string()], - 'Email' => ['type' => Type::string()], - 'Token' => ['type' => Type::string()] + 'ID' => ['type' => $id], + 'FirstName' => ['type' => $string], + 'Surname' => ['type' => $string], + 'Email' => ['type' => $string], + 'Token' => ['type' => $string] ]; } }