opentalk_client_data_persistence/
opentalk_instance_id.rs1use serde::{Deserialize, Serialize};
6use url::Url;
7
8#[derive(
10 Debug,
11 Clone,
12 PartialEq,
13 Eq,
14 PartialOrd,
15 Ord,
16 Hash,
17 Deserialize,
18 Serialize,
19 derive_more::AsRef,
20 derive_more::Deref,
21 derive_more::From,
22 derive_more::FromStr,
23 derive_more::Into,
24)]
25pub struct OpenTalkInstanceId(Url);
26
27impl OpenTalkInstanceId {
28 pub fn to_file_name(&self) -> String {
30 format!(
31 "{}_{}",
32 self.0.host_str().unwrap(),
33 self.0.path().replace("_", "__").replace("/", "_")
34 )
35 }
36}