79 , std::string _accessToken
81 std::optional<DeviceKeys> deviceKeys = std::nullopt,
JsonWrap oneTimeKeys = {},
JsonWrap fallbackKeys = {}
88 static BaseJob::Body buildBody(std::optional<DeviceKeys> deviceKeys, JsonWrap oneTimeKeys, JsonWrap fallbackKeys);
94 UploadKeysJob
withData(JsonWrap j) &&;
95 UploadKeysJob
withData(JsonWrap j)
const &;
101 using namespace Kazv;
159immer::map<std::string, JsonWrap>
failures()
const;
167immer::map<std::string, immer::map<std::string, DeviceInformation>>
deviceKeys()
const;
176immer::map<std::string, CrossSigningKey>
masterKeys()
const;
220 , std::string _accessToken
222 immer::map<std::string, immer::array<std::string>> deviceKeys , std::optional<int> timeout = std::nullopt, std::optional<std::string> token = std::nullopt
229 static BaseJob::Body buildBody(immer::map<std::string, immer::array<std::string>> deviceKeys, std::optional<int> timeout, std::optional<std::string> token);
242 using namespace Kazv;
249 if (! jo.is_object()) { jo = json::object(); }
259 if (jo.contains(
"device_display_name"s)) {
271 if (! jo.is_object()) { jo = json::object(); }
283 if (jo.contains(
"unsigned"s)) {
323immer::map<std::string, JsonWrap>
failures()
const;
334immer::map<std::string, immer::map<std::string, JsonWrap>>
oneTimeKeys()
const;
356 , std::string _accessToken
358 immer::map<std::string, immer::map<std::string, std::string>> oneTimeKeys , std::optional<int> timeout = std::nullopt
365 static BaseJob::Body buildBody(immer::map<std::string, immer::map<std::string, std::string>> oneTimeKeys, std::optional<int> timeout);
378 using namespace Kazv;
417immer::array<std::string>
changed()
const;
423immer::array<std::string>
left()
const;
450 , std::string _accessToken
452 std::string from , std::string to
457 std::string from, std::string to);
472 using namespace Kazv;
bool success() const
Definition keys.cpp:301
immer::map< std::string, JsonWrap > failures() const
If any remote homeservers could not be reached, they are recorded here.
Definition keys.cpp:312
immer::map< std::string, immer::map< std::string, JsonWrap > > oneTimeKeys() const
One-time keys for the queried devices.
Definition keys.cpp:323
Claim one-time encryption keys.
Definition keys.hpp:299
static BaseJob::Query buildQuery()
Definition keys.cpp:236
static BaseJob::Body buildBody(immer::map< std::string, immer::map< std::string, std::string > > oneTimeKeys, std::optional< int > timeout)
Definition keys.cpp:244
ClaimKeysJob withData(JsonWrap j) &&
Definition keys.cpp:284
static constexpr auto needsAuth()
Definition keys.hpp:337
immer::array< std::string > left() const
The Matrix User IDs of all users who may have left all the end-to-end encrypted rooms they previously...
Definition keys.cpp:416
bool success() const
Definition keys.cpp:395
immer::array< std::string > changed() const
The Matrix User IDs of all users who updated their device identity keys.
Definition keys.cpp:405
Query users with recent device key updates.
Definition keys.hpp:398
static constexpr auto needsAuth()
Definition keys.hpp:426
static BaseJob::Body buildBody(std::string from, std::string to)
Definition keys.cpp:346
GetKeysChangesJob withData(JsonWrap j) &&
Definition keys.cpp:378
static BaseJob::Query buildQuery(std::string from, std::string to)
Definition keys.cpp:335
immer::map< std::string, immer::map< std::string, DeviceInformation > > deviceKeys() const
Information on the queried devices.
Definition keys.cpp:191
immer::map< std::string, CrossSigningKey > userSigningKeys() const
Information on the user-signing key of the user making the request, if they queried their own device ...
Definition keys.cpp:224
immer::map< std::string, CrossSigningKey > selfSigningKeys() const
Information on the self-signing keys of the queried users.
Definition keys.cpp:213
immer::map< std::string, CrossSigningKey > masterKeys() const
Information on the master cross-signing keys of the queried users.
Definition keys.cpp:202
immer::map< std::string, JsonWrap > failures() const
If any remote homeservers could not be reached, they are recorded here.
Definition keys.cpp:180
bool success() const
Definition keys.cpp:170
Download device identity keys.
Definition keys.hpp:113
static BaseJob::Query buildQuery()
Definition keys.cpp:103
static constexpr auto needsAuth()
Definition keys.hpp:194
QueryKeysJob withData(JsonWrap j) &&
Definition keys.cpp:153
static BaseJob::Body buildBody(immer::map< std::string, immer::array< std::string > > deviceKeys, std::optional< int > timeout, std::optional< std::string > token)
Definition keys.cpp:111
bool success() const
Definition keys.cpp:80
immer::map< std::string, int > oneTimeKeyCounts() const
For each key algorithm, the number of unclaimed one-time keys of that type currently held on the serv...
Definition keys.cpp:91
Upload end-to-end encryption keys.
Definition keys.hpp:17
static BaseJob::Body buildBody(std::optional< DeviceKeys > deviceKeys, JsonWrap oneTimeKeys, JsonWrap fallbackKeys)
Definition keys.cpp:21
static constexpr auto needsAuth()
Definition keys.hpp:41
UploadKeysJob withData(JsonWrap j) &&
Definition keys.cpp:63
static BaseJob::Query buildQuery()
Definition keys.cpp:13
Definition basejob.hpp:94
Definition basejob.hpp:68
::Kazv::Body Body
Definition basejob.hpp:103
Definition jsonwrap.hpp:23
Definition location.hpp:10
Definition location.hpp:10
void addToJsonIfNeeded(json &j, std::string name, T &&arg)
Definition types.hpp:80
nlohmann::json json
Definition jsonwrap.hpp:20
Definition location.hpp:27
Device identity keys.
Definition device_keys.hpp:13
Additional data added to the device key information by intermediate servers, and not covered by the s...
Definition keys.hpp:121
std::optional< std::string > deviceDisplayName
The display name which the user set on the device.
Definition keys.hpp:123
Definition basejob.hpp:49
static void to_json(json &jo, const QueryKeysJob::UnsignedDeviceInfo &pod)
Definition keys.hpp:247
static void from_json(const json &jo, QueryKeysJob::UnsignedDeviceInfo &result)
Definition keys.hpp:256