From 1e6510790dab6b9141ae52993987b406399668cd Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Sun, 2 Sep 2018 16:08:13 +0900 Subject: Support CS API 0.4.0 Numerous changes in CS (and now also AS) API, including compatibility-breaking ones - see the diff for details. --- .../definitions/request_email_validation.cpp | 33 +++++++++++++++ .../definitions/request_email_validation.h | 44 ++++++++++++++++++++ .../definitions/request_msisdn_validation.cpp | 36 +++++++++++++++++ .../definitions/request_msisdn_validation.h | 47 ++++++++++++++++++++++ lib/identity/definitions/sid.cpp | 24 +++++++++++ lib/identity/definitions/sid.h | 30 ++++++++++++++ 6 files changed, 214 insertions(+) create mode 100644 lib/identity/definitions/request_email_validation.cpp create mode 100644 lib/identity/definitions/request_email_validation.h create mode 100644 lib/identity/definitions/request_msisdn_validation.cpp create mode 100644 lib/identity/definitions/request_msisdn_validation.h create mode 100644 lib/identity/definitions/sid.cpp create mode 100644 lib/identity/definitions/sid.h (limited to 'lib/identity/definitions') diff --git a/lib/identity/definitions/request_email_validation.cpp b/lib/identity/definitions/request_email_validation.cpp new file mode 100644 index 00000000..95088bcb --- /dev/null +++ b/lib/identity/definitions/request_email_validation.cpp @@ -0,0 +1,33 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#include "request_email_validation.h" + +using namespace QMatrixClient; + +QJsonObject QMatrixClient::toJson(const RequestEmailValidation& pod) +{ + QJsonObject jo; + addParam<>(jo, QStringLiteral("client_secret"), pod.clientSecret); + addParam<>(jo, QStringLiteral("email"), pod.email); + addParam<>(jo, QStringLiteral("send_attempt"), pod.sendAttempt); + addParam(jo, QStringLiteral("next_link"), pod.nextLink); + return jo; +} + +RequestEmailValidation FromJsonObject::operator()(const QJsonObject& jo) const +{ + RequestEmailValidation result; + result.clientSecret = + fromJson(jo.value("client_secret"_ls)); + result.email = + fromJson(jo.value("email"_ls)); + result.sendAttempt = + fromJson(jo.value("send_attempt"_ls)); + result.nextLink = + fromJson(jo.value("next_link"_ls)); + + return result; +} + diff --git a/lib/identity/definitions/request_email_validation.h b/lib/identity/definitions/request_email_validation.h new file mode 100644 index 00000000..3e72275f --- /dev/null +++ b/lib/identity/definitions/request_email_validation.h @@ -0,0 +1,44 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + +#include "converters.h" + +#include "converters.h" + +namespace QMatrixClient +{ + // Data structures + + struct RequestEmailValidation + { + /// A unique string generated by the client, and used to identify the + /// validation attempt. It must be a string consisting of the characters + /// ``[0-9a-zA-Z.=_-]``. Its length must not exceed 255 characters and it + /// must not be empty. + QString clientSecret; + /// The email address to validate. + QString email; + /// The server will only send an email if the ``send_attempt`` + /// is a number greater than the most recent one which it has seen, + /// scoped to that ``email`` + ``client_secret`` pair. This is to + /// avoid repeatedly sending the same email in the case of request + /// retries between the POSTing user and the identity server. + /// The client should increment this value if they desire a new + /// email (e.g. a reminder) to be sent. + int sendAttempt; + /// Optional. When the validation is completed, the identity + /// server will redirect the user to this URL. + QString nextLink; + }; + + QJsonObject toJson(const RequestEmailValidation& pod); + + template <> struct FromJsonObject + { + RequestEmailValidation operator()(const QJsonObject& jo) const; + }; + +} // namespace QMatrixClient diff --git a/lib/identity/definitions/request_msisdn_validation.cpp b/lib/identity/definitions/request_msisdn_validation.cpp new file mode 100644 index 00000000..125baa9c --- /dev/null +++ b/lib/identity/definitions/request_msisdn_validation.cpp @@ -0,0 +1,36 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#include "request_msisdn_validation.h" + +using namespace QMatrixClient; + +QJsonObject QMatrixClient::toJson(const RequestMsisdnValidation& pod) +{ + QJsonObject jo; + addParam<>(jo, QStringLiteral("client_secret"), pod.clientSecret); + addParam<>(jo, QStringLiteral("country"), pod.country); + addParam<>(jo, QStringLiteral("phone_number"), pod.phoneNumber); + addParam<>(jo, QStringLiteral("send_attempt"), pod.sendAttempt); + addParam(jo, QStringLiteral("next_link"), pod.nextLink); + return jo; +} + +RequestMsisdnValidation FromJsonObject::operator()(const QJsonObject& jo) const +{ + RequestMsisdnValidation result; + result.clientSecret = + fromJson(jo.value("client_secret"_ls)); + result.country = + fromJson(jo.value("country"_ls)); + result.phoneNumber = + fromJson(jo.value("phone_number"_ls)); + result.sendAttempt = + fromJson(jo.value("send_attempt"_ls)); + result.nextLink = + fromJson(jo.value("next_link"_ls)); + + return result; +} + diff --git a/lib/identity/definitions/request_msisdn_validation.h b/lib/identity/definitions/request_msisdn_validation.h new file mode 100644 index 00000000..77bea2bc --- /dev/null +++ b/lib/identity/definitions/request_msisdn_validation.h @@ -0,0 +1,47 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + +#include "converters.h" + +#include "converters.h" + +namespace QMatrixClient +{ + // Data structures + + struct RequestMsisdnValidation + { + /// A unique string generated by the client, and used to identify the + /// validation attempt. It must be a string consisting of the characters + /// ``[0-9a-zA-Z.=_-]``. Its length must not exceed 255 characters and it + /// must not be empty. + QString clientSecret; + /// The two-letter uppercase ISO country code that the number in + /// ``phone_number`` should be parsed as if it were dialled from. + QString country; + /// The phone number to validate. + QString phoneNumber; + /// The server will only send an SMS if the ``send_attempt`` is a + /// number greater than the most recent one which it has seen, + /// scoped to that ``country`` + ``phone_number`` + ``client_secret`` + /// triple. This is to avoid repeatedly sending the same SMS in + /// the case of request retries between the POSTing user and the + /// identity server. The client should increment this value if + /// they desire a new SMS (e.g. a reminder) to be sent. + int sendAttempt; + /// Optional. When the validation is completed, the identity + /// server will redirect the user to this URL. + QString nextLink; + }; + + QJsonObject toJson(const RequestMsisdnValidation& pod); + + template <> struct FromJsonObject + { + RequestMsisdnValidation operator()(const QJsonObject& jo) const; + }; + +} // namespace QMatrixClient diff --git a/lib/identity/definitions/sid.cpp b/lib/identity/definitions/sid.cpp new file mode 100644 index 00000000..443dbedf --- /dev/null +++ b/lib/identity/definitions/sid.cpp @@ -0,0 +1,24 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#include "sid.h" + +using namespace QMatrixClient; + +QJsonObject QMatrixClient::toJson(const Sid& pod) +{ + QJsonObject jo; + addParam<>(jo, QStringLiteral("sid"), pod.sid); + return jo; +} + +Sid FromJsonObject::operator()(const QJsonObject& jo) const +{ + Sid result; + result.sid = + fromJson(jo.value("sid"_ls)); + + return result; +} + diff --git a/lib/identity/definitions/sid.h b/lib/identity/definitions/sid.h new file mode 100644 index 00000000..eae60c47 --- /dev/null +++ b/lib/identity/definitions/sid.h @@ -0,0 +1,30 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + +#include "converters.h" + + +namespace QMatrixClient +{ + // Data structures + + struct Sid + { + /// The session ID. Session IDs are opaque strings generated by the identity + /// server. They must consist entirely of the characters + /// ``[0-9a-zA-Z.=_-]``. Their length must not exceed 255 characters and they + /// must not be empty. + QString sid; + }; + + QJsonObject toJson(const Sid& pod); + + template <> struct FromJsonObject + { + Sid operator()(const QJsonObject& jo) const; + }; + +} // namespace QMatrixClient -- cgit v1.2.3