aboutsummaryrefslogtreecommitdiff
path: root/lib/identity
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2018-09-02 16:08:13 +0900
committerKitsune Ral <Kitsune-Ral@users.sf.net>2018-09-29 22:00:06 +0900
commit1e6510790dab6b9141ae52993987b406399668cd (patch)
tree1a45c0ccfec8f5f7ba37eb4385cdc7f61afa0c97 /lib/identity
parent4244cee8d5e0f760cccd2b45ad587670573ef03c (diff)
downloadlibquotient-1e6510790dab6b9141ae52993987b406399668cd.tar.gz
libquotient-1e6510790dab6b9141ae52993987b406399668cd.zip
Support CS API 0.4.0
Numerous changes in CS (and now also AS) API, including compatibility-breaking ones - see the diff for details.
Diffstat (limited to 'lib/identity')
-rw-r--r--lib/identity/definitions/request_email_validation.cpp33
-rw-r--r--lib/identity/definitions/request_email_validation.h44
-rw-r--r--lib/identity/definitions/request_msisdn_validation.cpp36
-rw-r--r--lib/identity/definitions/request_msisdn_validation.h47
-rw-r--r--lib/identity/definitions/sid.cpp24
-rw-r--r--lib/identity/definitions/sid.h30
6 files changed, 214 insertions, 0 deletions
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<IfNotEmpty>(jo, QStringLiteral("next_link"), pod.nextLink);
+ return jo;
+}
+
+RequestEmailValidation FromJsonObject<RequestEmailValidation>::operator()(const QJsonObject& jo) const
+{
+ RequestEmailValidation result;
+ result.clientSecret =
+ fromJson<QString>(jo.value("client_secret"_ls));
+ result.email =
+ fromJson<QString>(jo.value("email"_ls));
+ result.sendAttempt =
+ fromJson<int>(jo.value("send_attempt"_ls));
+ result.nextLink =
+ fromJson<QString>(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>
+ {
+ 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<IfNotEmpty>(jo, QStringLiteral("next_link"), pod.nextLink);
+ return jo;
+}
+
+RequestMsisdnValidation FromJsonObject<RequestMsisdnValidation>::operator()(const QJsonObject& jo) const
+{
+ RequestMsisdnValidation result;
+ result.clientSecret =
+ fromJson<QString>(jo.value("client_secret"_ls));
+ result.country =
+ fromJson<QString>(jo.value("country"_ls));
+ result.phoneNumber =
+ fromJson<QString>(jo.value("phone_number"_ls));
+ result.sendAttempt =
+ fromJson<int>(jo.value("send_attempt"_ls));
+ result.nextLink =
+ fromJson<QString>(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>
+ {
+ 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<Sid>::operator()(const QJsonObject& jo) const
+{
+ Sid result;
+ result.sid =
+ fromJson<QString>(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>
+ {
+ Sid operator()(const QJsonObject& jo) const;
+ };
+
+} // namespace QMatrixClient