ruma::api::appservice::thirdparty::get_protocol::v1

Type Alias AppserviceProtocol

Source
pub type AppserviceProtocol = Protocol<AppserviceProtocolInstance>;
Available on crate feature api and (crate features appservice-api-c or appservice-api-s) only.
Expand description

Metadata about a third party protocol, as returned by an appservice to a homeserver.

To create an instance of this type, first create a ProtocolInit and convert it via AppserviceProtocol::from / .into().

Aliased Type§

struct AppserviceProtocol {
    pub user_fields: Vec<String>,
    pub location_fields: Vec<String>,
    pub icon: String,
    pub field_types: BTreeMap<String, FieldType>,
    pub instances: Vec<AppserviceProtocolInstance>,
}

Fields§

§user_fields: Vec<String>

Fields which may be used to identify a third party user.

§location_fields: Vec<String>

Fields which may be used to identify a third party location.

§icon: String

A content URI representing an icon for the third party protocol.

If the compat-optional feature is enabled, this field being absent in JSON will result in an empty string instead of an error when deserializing.

§field_types: BTreeMap<String, FieldType>

The type definitions for the fields defined in user_fields and location_fields.

§instances: Vec<AppserviceProtocolInstance>

A list of objects representing independent instances of configuration.