aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/account-data.h
blob: 669a4e2ca5b82004eee1b415234f8eb5018d6c36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/******************************************************************************
 * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
 */

#pragma once

#include "jobs/basejob.h"

#include <QtCore/QJsonObject>

namespace QMatrixClient {
    // Operations

    /// Set some account_data for the user.
    ///
    /// Set some account_data for the client. This config is only visible to the
    /// user that set the account_data. The config will be synced to clients in
    /// the top-level ``account_data``.
    class SetAccountDataJob : public BaseJob
    {
        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. \param type The
         * event type of the account_data to set. Custom types should be
         *   namespaced to avoid clashes.
         * \param content
         *   The content of the account_data
         */
        explicit SetAccountDataJob(const QString& userId, const QString& type,
                                   const QJsonObject& content = {});
    };

    /// Set some account_data for the user.
    ///
    /// Set some account_data for the client on a given room. This config is
    /// only visible to the user that set the account_data. The config will be
    /// synced to clients in the per-room ``account_data``.
    class SetAccountDataPerRoomJob : public BaseJob
    {
        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. \param roomId 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. \param content The content of the account_data
         */
        explicit SetAccountDataPerRoomJob(const QString& userId,
                                          const QString& roomId,
                                          const QString& type,
                                          const QJsonObject& content = {});
    };
} // namespace QMatrixClient