client-api Add room_version field to ErrorKind::IncompatibleRoomVersion

This commit is contained in:
Jonas Platte 2020-08-17 23:48:47 +02:00
parent b5e660893e
commit 962b3da26b
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67
2 changed files with 8 additions and 3 deletions

View File

@ -57,6 +57,7 @@ Breaking changes:
* Move `r0::directory::{Filter, PublicRoomsChunk, RoomNetwork}` to
the `ruma-common` crate
* Replace `r0::room::create_room::InitialStateEvent` with `ruma_events::InitialStateEvent`
* `error::ErrorKind` no longer implements `Copy`, `FromStr`
Improvements:

View File

@ -3,12 +3,13 @@
use std::fmt::{self, Display, Formatter};
use ruma_api::{error::ResponseDeserializationError, EndpointError};
use ruma_identifiers::RoomVersionId;
use serde::{Deserialize, Serialize};
use serde_json::{from_slice as from_json_slice, to_vec as to_json_vec};
use strum::{AsRefStr, Display, EnumString};
use strum::{AsRefStr, Display};
/// An enum for the error kind. Items may contain additional information.
#[derive(Debug, Clone, Copy, Serialize, Deserialize, AsRefStr, Display, EnumString)]
#[derive(Debug, Clone, Serialize, Deserialize, AsRefStr, Display)]
#[serde(tag = "errcode")]
#[cfg_attr(test, derive(PartialEq))]
pub enum ErrorKind {
@ -127,7 +128,10 @@ pub enum ErrorKind {
/// M_INCOMPATIBLE_ROOM_VERSION
#[serde(rename = "M_INCOMPATIBLE_ROOM_VERSION")]
#[strum(to_string = "M_INCOMPATIBLE_ROOM_VERSION")]
IncompatibleRoomVersion,
IncompatibleRoomVersion {
/// The room's version.
room_version: RoomVersionId,
},
/// M_BAD_STATE
#[serde(rename = "M_BAD_STATE")]