aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/account-data.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/account-data.h')
-rw-r--r--lib/csapi/account-data.h66
1 files changed, 61 insertions, 5 deletions
diff --git a/lib/csapi/account-data.h b/lib/csapi/account-data.h
index f3656a14..b067618f 100644
--- a/lib/csapi/account-data.h
+++ b/lib/csapi/account-data.h
@@ -22,8 +22,8 @@ namespace QMatrixClient
public:
/*! Set some account_data for the user.
* \param userId
- * The id of the user to set account_data for. The access token must be
- * authorized to make requests for this user id.
+ * The ID of the user to set account_data for. The access token must be
+ * authorized to make requests for this user ID.
* \param type
* The event type of the account_data to set. Custom types should be
* namespaced to avoid clashes.
@@ -33,6 +33,33 @@ namespace QMatrixClient
explicit SetAccountDataJob(const QString& userId, const QString& type, const QJsonObject& content = {});
};
+ /// Get some account_data for the user.
+ ///
+ /// Get some account_data for the client. This config is only visible to the user
+ /// that set the account_data.
+ class GetAccountDataJob : public BaseJob
+ {
+ public:
+ /*! Get some account_data for the user.
+ * \param userId
+ * The ID of the user to get account_data for. The access token must be
+ * authorized to make requests for this user ID.
+ * \param type
+ * The event type of the account_data to get. Custom types should be
+ * namespaced to avoid clashes.
+ */
+ explicit GetAccountDataJob(const QString& userId, const QString& type);
+
+ /*! Construct a URL without creating a full-fledged job object
+ *
+ * This function can be used when a URL for
+ * GetAccountDataJob is necessary but the job
+ * itself isn't.
+ */
+ static QUrl makeRequestUrl(QUrl baseUrl, const QString& userId, const QString& type);
+
+ };
+
/// Set some account_data for the user.
///
/// Set some account_data for the client on a given room. This config is only
@@ -43,10 +70,10 @@ namespace QMatrixClient
public:
/*! Set some account_data for the user.
* \param userId
- * The id of the user to set account_data for. The access token must be
- * authorized to make requests for this user id.
+ * The ID of the user to set account_data for. The access token must be
+ * authorized to make requests for this user ID.
* \param roomId
- * The id of the room to set account_data on.
+ * The ID of the room to set account_data on.
* \param type
* The event type of the account_data to set. Custom types should be
* namespaced to avoid clashes.
@@ -55,4 +82,33 @@ namespace QMatrixClient
*/
explicit SetAccountDataPerRoomJob(const QString& userId, const QString& roomId, const QString& type, const QJsonObject& content = {});
};
+
+ /// Get some account_data for the user.
+ ///
+ /// Get some account_data for the client on a given room. This config is only
+ /// visible to the user that set the account_data.
+ class GetAccountDataPerRoomJob : public BaseJob
+ {
+ public:
+ /*! Get some account_data for the user.
+ * \param userId
+ * The ID of the user to set account_data for. The access token must be
+ * authorized to make requests for this user ID.
+ * \param roomId
+ * The ID of the room to get account_data for.
+ * \param type
+ * The event type of the account_data to get. Custom types should be
+ * namespaced to avoid clashes.
+ */
+ explicit GetAccountDataPerRoomJob(const QString& userId, const QString& roomId, const QString& type);
+
+ /*! Construct a URL without creating a full-fledged job object
+ *
+ * This function can be used when a URL for
+ * GetAccountDataPerRoomJob is necessary but the job
+ * itself isn't.
+ */
+ static QUrl makeRequestUrl(QUrl baseUrl, const QString& userId, const QString& roomId, const QString& type);
+
+ };
} // namespace QMatrixClient