Derive PartialEq and Eq for all string-wrapping enums
This commit is contained in:
parent
d34a270919
commit
dd6446822b
@ -61,7 +61,7 @@ impl Response {
|
||||
}
|
||||
|
||||
/// Access token types.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum TokenType {
|
||||
/// Bearer token type
|
||||
Bearer,
|
||||
|
@ -63,7 +63,7 @@ impl Response {
|
||||
}
|
||||
|
||||
/// The kind of membership events to filter for.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "lowercase")]
|
||||
pub enum MembershipEventFilter {
|
||||
/// The user has joined.
|
||||
|
@ -70,7 +70,7 @@ pub struct Pusher {
|
||||
}
|
||||
|
||||
/// Which kind a pusher is
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum PusherKind {
|
||||
/// A pusher that sends HTTP pokes.
|
||||
|
@ -160,7 +160,7 @@ impl Default for CreationContent {
|
||||
}
|
||||
|
||||
/// A convenience parameter for setting a few default state events.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum RoomPreset {
|
||||
/// `join_rules` is set to `invite` and `history_visibility` is set to `shared`.
|
||||
|
@ -272,7 +272,7 @@ impl Groupings<'_> {
|
||||
}
|
||||
|
||||
/// The keys to search for.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum SearchKeys {
|
||||
/// content.body
|
||||
#[ruma_enum(rename = "content.body")]
|
||||
@ -291,7 +291,7 @@ pub enum SearchKeys {
|
||||
}
|
||||
|
||||
/// The order in which to search for results.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum OrderBy {
|
||||
|
@ -5,7 +5,7 @@
|
||||
use crate::StringEnum;
|
||||
|
||||
/// A description of a user's connectivity and availability for chat.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum PresenceState {
|
||||
/// Disconnected from the service.
|
||||
|
@ -238,7 +238,7 @@ impl PusherData {
|
||||
/// Currently, only "event_id_only" is supported as of [Push Gateway API r0.1.1][spec].
|
||||
///
|
||||
/// [spec]: https://matrix.org/docs/spec/push_gateway/r0.1.1#homeserver-behaviour
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum PushFormat {
|
||||
/// Require the homeserver to only send a reduced set of fields in the push.
|
||||
|
@ -30,7 +30,7 @@ impl SessionDescription {
|
||||
}
|
||||
|
||||
/// The type of VoIP session description.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum SessionDescriptionType {
|
||||
/// An answer.
|
||||
|
@ -31,7 +31,7 @@ pub struct HangupEventContent {
|
||||
/// This should not be provided when the user naturally ends or rejects the call. When there was an
|
||||
/// error in the call negotiation, this should be `ice_failed` for when ICE negotiation fails or
|
||||
/// `invite_timeout` for when the other party did not answer in time.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum Reason {
|
||||
/// ICE negotiation failure.
|
||||
|
@ -12,7 +12,7 @@ pub mod request;
|
||||
pub mod start;
|
||||
|
||||
/// A hash algorithm.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum HashAlgorithm {
|
||||
/// The SHA256 hash algorithm.
|
||||
@ -23,7 +23,7 @@ pub enum HashAlgorithm {
|
||||
}
|
||||
|
||||
/// A key agreement protocol.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "kebab-case")]
|
||||
pub enum KeyAgreementProtocol {
|
||||
/// The [Curve25519](https://cr.yp.to/ecdh.html) key agreement protocol.
|
||||
@ -37,7 +37,7 @@ pub enum KeyAgreementProtocol {
|
||||
}
|
||||
|
||||
/// A message authentication code algorithm.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "kebab-case")]
|
||||
pub enum MessageAuthenticationCode {
|
||||
/// The HKDF-HMAC-SHA256 MAC.
|
||||
@ -51,7 +51,7 @@ pub enum MessageAuthenticationCode {
|
||||
}
|
||||
|
||||
/// A Short Authentication String method.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum ShortAuthenticationString {
|
||||
/// The decimal method.
|
||||
@ -65,7 +65,7 @@ pub enum ShortAuthenticationString {
|
||||
}
|
||||
|
||||
/// A Short Authentication String (SAS) verification method.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum VerificationMethod {
|
||||
/// The *m.sas.v1* verification method.
|
||||
#[ruma_enum(rename = "m.sas.v1")]
|
||||
|
@ -35,7 +35,7 @@ pub struct CancelEventContent {
|
||||
/// available as a documented variant here, use its string representation,
|
||||
/// obtained through `.as_str()`.
|
||||
// FIXME: Add `m.foo_bar` as a naming scheme in StringEnum and remove rename attributes.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum CancelCode {
|
||||
/// The user cancelled the verification.
|
||||
#[ruma_enum(rename = "m.user")]
|
||||
|
@ -29,7 +29,7 @@ impl PolicyRuleEventContent {
|
||||
}
|
||||
|
||||
/// Rules recommendations
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum Recommendation {
|
||||
/// Entities affected by the rule should be banned from participation where possible.
|
||||
#[ruma_enum(rename = "m.ban")]
|
||||
|
@ -29,7 +29,7 @@ impl GuestAccessEventContent {
|
||||
}
|
||||
|
||||
/// A policy for guest user access to a room.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum GuestAccess {
|
||||
/// Guests are allowed to join the room.
|
||||
|
@ -28,7 +28,7 @@ impl HistoryVisibilityEventContent {
|
||||
}
|
||||
|
||||
/// Who can see a room's history.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum HistoryVisibility {
|
||||
/// Previous events are accessible to newly joined members from the point they were invited
|
||||
|
@ -27,7 +27,7 @@ impl JoinRulesEventContent {
|
||||
}
|
||||
|
||||
/// The rule used for users wishing to join this room.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "lowercase")]
|
||||
pub enum JoinRule {
|
||||
/// A user who wishes to join the room must first receive an invite to the room from someone
|
||||
|
@ -64,7 +64,7 @@ pub struct MemberEventContent {
|
||||
}
|
||||
|
||||
/// The membership state of a user.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "lowercase")]
|
||||
pub enum MembershipState {
|
||||
/// The user is banned.
|
||||
|
@ -287,7 +287,7 @@ pub struct ServerNoticeMessageEventContent {
|
||||
}
|
||||
|
||||
/// Types of server notices.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum ServerNoticeType {
|
||||
/// The server has exceeded some limit which requires the server administrator to intervene.
|
||||
#[ruma_enum(rename = "m.server_notice.usage_limit_reached")]
|
||||
@ -298,7 +298,7 @@ pub enum ServerNoticeType {
|
||||
}
|
||||
|
||||
/// Types of usage limits.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum LimitType {
|
||||
/// The server's number of active users in the last 30 days has exceeded the maximum.
|
||||
@ -316,7 +316,7 @@ pub enum LimitType {
|
||||
/// This type can hold an arbitrary string. To check for events that are not
|
||||
/// available as a documented variant here, use its string representation,
|
||||
/// obtained through `.as_str()`.
|
||||
#[derive(Clone, Debug, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
pub enum MessageFormat {
|
||||
/// HTML.
|
||||
#[ruma_enum(rename = "org.matrix.custom.html")]
|
||||
|
@ -34,7 +34,7 @@ impl FeedbackEventContent {
|
||||
}
|
||||
|
||||
/// A type of feedback.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum FeedbackType {
|
||||
/// Sent when a message is received.
|
||||
|
@ -35,7 +35,7 @@ pub struct RoomKeyRequestEventContent {
|
||||
}
|
||||
|
||||
/// A new key request or a cancellation of a previous request.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum Action {
|
||||
/// Request a key.
|
||||
|
@ -136,7 +136,7 @@ impl<'a> Notification<'a> {
|
||||
///
|
||||
/// This may be used by push gateways to deliver less time-sensitive
|
||||
/// notifications in a way that will preserve battery power on mobile devices.
|
||||
#[derive(Clone, Debug, PartialEq, StringEnum)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
#[ruma_enum(rename_all = "snake_case")]
|
||||
pub enum NotificationPriority {
|
||||
/// A high priority notification
|
||||
|
Loading…
x
Reference in New Issue
Block a user