zulip-api 0.0.8

Client library for interacting with the Zulip API
Documentation
use serde_repr::{Deserialize_repr, Serialize_repr};

use crate::{impl_default, impl_display};

/// Represents a user role.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Deserialize_repr, Serialize_repr)]
#[repr(u64)]
pub enum Role {
    /// Represents a `Organization owner` role.
    OrganizationOwner = 100,
    /// Represents a `Organization administrator` bot.
    OrganizationAdministrator = 200,
    /// Represents a `Organization moderator` bot.
    OrganizationModerator = 300,
    /// Represents a `Member` bot.
    Member = 400,
    /// Represents a `Guest` bot.
    Guest = 600,
}

impl Role {
    /// Creates a new [Role].
    pub const fn new() -> Self {
        Self::OrganizationOwner
    }
}

impl_default!(Role);
impl_display!(Role);