public function login() { $username = $this->inputRaw('username'); $password = $this->inputRaw('password'); try { $user = User::findByCredentials($username, $password); } catch (\Exception $e) { return $this->failResponse('Invalid Credentials', $statusCode = 401); } if ($user->hasValidTokenAlive()) { $user->refreshToken(); } else { $user->writeToken(); } return $this->jsonResponse(['status' => 'success', 'code' => '200', 'message' => 'Welcome', 'data' => ['token' => $user->token, 'ttl' => $user->ttl->toISO8601String()]]); }