Skip to main content

zulip_api/message/
realm_video_chat_provider.rs

1use serde_repr::{Deserialize_repr, Serialize_repr};
2
3use crate::{impl_default, impl_display};
4
5/// Present if `realm` is present in `fetch_event_types`.
6///
7/// The configured `video call provider` for the organization.
8///
9/// - 0 = None
10/// - 1 = Jitsi Meet
11/// - 3 = Zoom (User OAuth integration)
12/// - 4 = BigBlueButton
13/// - 5 = Zoom (Server to Server OAuth integration)
14///
15/// Note that only one of the [Zoom integrations][zoom-video-calls] can be configured on a Zulip server.
16///
17/// **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)
18#[repr(u8)]
19#[derive(Clone, Copy, Debug, Eq, PartialEq, Deserialize_repr, Serialize_repr)]
20pub enum RealmVideoChatProvider {
21    None = 0,
22    JitsiMeet = 1,
23    ZoomUserOauth = 3,
24    BigBlueButton = 4,
25    ZoomServerOauth = 5,
26}
27
28impl RealmVideoChatProvider {
29    /// Creates a new [RealmVideoChatProvider].
30    pub const fn new() -> Self {
31        Self::None
32    }
33}
34
35impl_default!(RealmVideoChatProvider);
36impl_display!(RealmVideoChatProvider);