libkazv
Loading...
Searching...
No Matches
Kazv::EnsureKeysFromDevicesAction Struct Reference

Ensure keys from devices of a user. More...

#include <client-model.hpp>

Public Attributes

immer::map< std::string, immer::flex_vector< std::string > > userIdToDeviceIdsMap
 The map detailing the devices of which the keys to be fetched.
 

Detailed Description

Ensure keys from devices of a user.

After the reducer for this action completes, the ClientModel will contain information about the devices' keys, in the DeviceListTracker (ClientModel::deviceLists).

The after receiving a response, the resulting EffectStatus will contain a data property unsatisfied. It is in the format:

{
"users": [userIds...], "devices": [[userId, deviceId]...]
}

If we requested all devices of a user @foo:example.org and the user is not available, then data.at("unsatisfied").at("users") will contain @foo:example.org.

If we requested a device Device1 of a user @foo:example.org and the device is not available, then data.at("unsatisfied").at("devices") will contain ["@foo:example.org", "Device1"].

Member Data Documentation

◆ userIdToDeviceIdsMap

immer::map< std::string , immer::flex_vector<std::string > > Kazv::EnsureKeysFromDevicesAction::userIdToDeviceIdsMap

The map detailing the devices of which the keys to be fetched.

This follows the same semantics as the query keys endpoint (/_matrix/client/v3/keys/query): if the device id list is empty, it will query all keys of that user. In this case, after receiving the response, we will also mark the device lists for that user as up-to-date.


The documentation for this struct was generated from the following file: