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};

/// Present if `realm` is present in `fetch_event_types`.
///
/// The configured `video call provider` for the organization.
///
/// - 0 = None
/// - 1 = Jitsi Meet
/// - 3 = Zoom (User OAuth integration)
/// - 4 = BigBlueButton
/// - 5 = Zoom (Server to Server OAuth integration)
///
/// Note that only one of the [Zoom integrations][zoom-video-calls] can be configured on a Zulip server.
///
/// **Changes**: In Zulip 10.0 (feature level 353), added the Zoom Server to Server OAuth option.  In Zulip 3.0 (feature level 1), added the None option to disable video call UI.  [zoom-video-calls](https://zulip.readthedocs.io/en/latest/production/video-calls.html#zoom)
#[repr(u8)]
#[derive(Clone, Copy, Debug, Eq, PartialEq, Deserialize_repr, Serialize_repr)]
pub enum RealmVideoChatProvider {
    None = 0,
    JitsiMeet = 1,
    ZoomUserOauth = 3,
    BigBlueButton = 4,
    ZoomServerOauth = 5,
}

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

impl_default!(RealmVideoChatProvider);
impl_display!(RealmVideoChatProvider);