aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/openid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/openid.cpp')
-rw-r--r--lib/csapi/openid.cpp71
1 files changed, 6 insertions, 65 deletions
diff --git a/lib/csapi/openid.cpp b/lib/csapi/openid.cpp
index b27fe0b8..3941e9c0 100644
--- a/lib/csapi/openid.cpp
+++ b/lib/csapi/openid.cpp
@@ -4,74 +4,15 @@
#include "openid.h"
-#include "converters.h"
-
#include <QtCore/QStringBuilder>
-using namespace QMatrixClient;
-
-static const auto basePath = QStringLiteral("/_matrix/client/r0");
-
-class RequestOpenIdTokenJob::Private
-{
- public:
- QString accessToken;
- QString tokenType;
- QString matrixServerName;
- int expiresIn;
-};
-
-static const auto RequestOpenIdTokenJobName = QStringLiteral("RequestOpenIdTokenJob");
+using namespace Quotient;
-RequestOpenIdTokenJob::RequestOpenIdTokenJob(const QString& userId, const QJsonObject& body)
- : BaseJob(HttpVerb::Post, RequestOpenIdTokenJobName,
- basePath % "/user/" % userId % "/openid/request_token")
- , d(new Private)
+RequestOpenIdTokenJob::RequestOpenIdTokenJob(const QString& userId,
+ const QJsonObject& body)
+ : BaseJob(HttpVerb::Post, QStringLiteral("RequestOpenIdTokenJob"),
+ QStringLiteral("/_matrix/client/r0") % "/user/" % userId
+ % "/openid/request_token")
{
setRequestData(Data(toJson(body)));
}
-
-RequestOpenIdTokenJob::~RequestOpenIdTokenJob() = default;
-
-const QString& RequestOpenIdTokenJob::accessToken() const
-{
- return d->accessToken;
-}
-
-const QString& RequestOpenIdTokenJob::tokenType() const
-{
- return d->tokenType;
-}
-
-const QString& RequestOpenIdTokenJob::matrixServerName() const
-{
- return d->matrixServerName;
-}
-
-int RequestOpenIdTokenJob::expiresIn() const
-{
- return d->expiresIn;
-}
-
-BaseJob::Status RequestOpenIdTokenJob::parseJson(const QJsonDocument& data)
-{
- auto json = data.object();
- if (!json.contains("access_token"_ls))
- return { JsonParseError,
- "The key 'access_token' not found in the response" };
- fromJson(json.value("access_token"_ls), d->accessToken);
- if (!json.contains("token_type"_ls))
- return { JsonParseError,
- "The key 'token_type' not found in the response" };
- fromJson(json.value("token_type"_ls), d->tokenType);
- if (!json.contains("matrix_server_name"_ls))
- return { JsonParseError,
- "The key 'matrix_server_name' not found in the response" };
- fromJson(json.value("matrix_server_name"_ls), d->matrixServerName);
- if (!json.contains("expires_in"_ls))
- return { JsonParseError,
- "The key 'expires_in' not found in the response" };
- fromJson(json.value("expires_in"_ls), d->expiresIn);
- return Success;
-}
-