use std::convert::Infallible;
pub use opentalk_types_common::shared_folders::SharedFolder;
use opentalk_types_signaling::{ForRole, Role};
#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[serde(tag = "message", rename_all = "snake_case")]
pub enum SharedFolderEvent {
Updated(SharedFolder),
}
impl From<Infallible> for SharedFolderEvent {
fn from(_: Infallible) -> Self {
panic!("Infallible cannot be instantiated")
}
}
impl ForRole for SharedFolderEvent {
fn for_role(self, role: Role) -> Self {
match self {
SharedFolderEvent::Updated(state) => SharedFolderEvent::Updated(state.for_role(role)),
}
}
}